|
|
Subscribe / Log in / New account

LPC: Michael Meeks on LibreOffice and code ownership

Please consider subscribing to LWN

Subscriptions are the lifeblood of LWN.net. If you appreciate this content and would like to see more of it, your subscription will help to ensure that LWN continues to thrive. Please visit this page to join up and keep LWN on the net.

By Jonathan Corbet
November 9, 2010
Back when the 2010 Linux Plumbers Conference was looking for presentations, the LibreOffice project had not yet announced its existence. So Michael Meeks put in a vague proposal for a talk having to do with OpenOffice.org and promised the organizers it would be worth their time. Fortunately, they believed him; in an energetic closing keynote, Michael talked at length about what is going on with LibreOffice - and with the free software development community as a whole. According to Michael, both good and bad things are afoot. (Michael's slides [PDF] are available for those who would like to follow along).

Naturally enough, LibreOffice is one of the good things; it's going to be "awesome." It seems that there are some widely diverging views on the awesomeness of OpenOffice.org; those who are based near Hamburg (where StarDivision was based) think it is a wonderful tool. People in the rest of the world tend to have a rather less enthusiastic view. The purpose of the new LibreOffice project is to produce a system that we can all be proud of.

Michael started by posing a couple of questions and answering them, the first of which was "why not rewrite into C# or HTML5?" He noted with a straight face that going to a web-based approach might not succeed in [Michael Meeks] improving the program's well-known performance problems. He also said that he has yet to go to a conference where he did not get kicked off the network at some point. For now, he just doesn't buy the concept of doing everything on the web.

Why LibreOffice? Ten years ago, Sun promised the community that an independent foundation would be created for OpenOffice.org. That foundation still does not exist. So, quite simply, members of the community got frustrated and created one of their own. The result, he says, is a great opportunity for the improvement of the system; LibreOffice is now a vendor-neutral project with no copyright assignment requirements. The project, he says, has received great support. It is pleasing to have both the Open Source Initiative and the Free Software Foundation express their support, but it's even more fun to see Novell and BoycottNovell on the same page.

Since LibreOffice launched, the project has seen 50 new code contributors and 27 new translators, all of whom had never contributed to the project before. These folks are working, for now, on paying down the vast pile of "technical debt" accumulated by OpenOffice.org over the years. They are trying to clean up an ancient, gnarled code base which has grown organically over many years with no review and no refactoring. They are targeting problems like memory leaks which result, Michael said, from the "opt-in approach to lifecycle management" used in the past. After ten years, the code still has over 100,000 lines of German-language comments; those are now being targeted with the help of a script which repurposes the built-in language-guessing code which is part of the spelling checker.

OpenOffice.org has a somewhat checkered history when it comes to revision control. CVS was used for some years, resulting in a fair amount of pain; simply tagging a release would take about two hours to run. Still, they lived with CVS for some time until OpenOffice.org launched into a study to determine which alternative revision control system would be best to move to. The study came back recommending Git, but that wasn't what the managers wanted to hear, so they moved to Subversion instead - losing most of the project's history in the process. Later, a move to Mercurial was done, losing history again. The result is a code base littered with commented-out code; nobody ever felt confident actually deleting anything because they never knew if they would be able to get it back. Many code changes are essentially changelogged within the code itself as well. Now LibreOffice is using Git and a determined effort is being made to clean that stuff up.

LibreOffice is also doing its best to make contribution easy. "Easy hacks" are documented online. The project is making a point of saying: "we want your changes." Unit tests are being developed. The crufty old virtual object system - deprecated for ten years - is being removed. The extensive pile of distributor patches is being merged. And they are starting to see the addition of interesting new features, such as inline interactive formula editing. There will be a new mechanism whereby adventurous users will be able to enable experimental features at run time.

What I really came to talk about was...

There is a point in "Alice's Restaurant" where Arlo Guthrie, at the conclusion of a long-winded tall tale, informs the audience that he was actually there to talk about something completely different. Michael did something similar after putting up a plot showing the increase in outside contributions over time. He wasn't really there to talk about a desktop productivity application; instead, he wanted to talk about a threat he sees looming over the free software development community.

That threat, of course, comes from the growing debate about the ownership structure of free software projects. As a community, Michael said, we are simply too nice. We have adopted licenses for our code which are entirely reasonable, and we expect others to be nice in the same way. But any project which requires copyright assignment (or an equivalent full-license grant) changes the equation; it is not being nice. There is some behind-the-scenes activity going on now which may well make things worse.

Copyright assignment does not normally deprive a contributor of the right to use the contributed software as he or she may wish. But it reserves to the corporation receiving the assignments the right to make decisions regarding the complete work. We as a community have traditionally cared a lot about licenses, but we have been less concerned about the conditions that others have to accept. Copyright assignment policies are a barrier to entry to anybody else who would work with the software in question. These policies also disrupt the balance between developers and "suit wearers," and it creates FUD around free software license practices.

Many people draw a distinction between projects owned by for-profit corporations and those owned by foundations. But even assignment policies of the variety used by the Free Software Foundation have their problems. Consider, Michael said, the split between emacs and xemacs; why does xemacs continue to exist? One reason is that a good chunk of xemacs code is owned by Sun, and Sun (along with its successor) is unwilling to assign copyright to the FSF. But there is also a group of developers out there who think that it's a good thing to have a version of emacs for which copyright assignment is not required. Michael also said that the FSF policy sets a bad example, one which companies pushing assignment policies have been quick to take advantage of.

Michael mentioned a study entitled "The Best of Strangers" which focused on the willingness to give out personal information. All participants were given a questionnaire with a long list of increasingly invasive questions; the researchers cared little about the answers, but were quite interested in how far participants got before deciding they were not willing to answer anymore. Some participants received, at the outset, a strongly-worded policy full of privacy assurances; they provided very little information. Participants who did not receive that policy got rather further through the questionnaire, while those who were pointed to a questionnaire on a web site filled it in completely. Starting with the legalese ruined the participants' trust and made them unwilling to talk about themselves.

Michael said that a similar dynamic applies to contributors to a free software project; if they are confronted with a document full of legalese on the first day, their trust in the project will suffer and they may just walk away. He pointed out the recently-created systemd project's policy, paraphrased as "because we value your contributions, we require no copyright assignments," as the way to encourage contributors and earn their trust.

Assignment agreements are harmful to the hacker/suit balance. If you work for a company, Michael said, your pet project is already probably owned by the boss. This can be a problem; as managers work their way into the system, they tend to lose track of the impact of what they do. They also tend to deal with other companies in unpleasant ways which we do not normally see at the development level; the last thing we want to do is to let these managers import "corporate aggression" into our community. If suits start making collaboration decisions, the results are not always going to be a positive thing for our community; they can also introduce a great deal of delay into the process. Inter-corporation agreements tend to be confidential and can pop up in strange ways; the freedom to fork a specific project may well be compromised by an agreement involving the company which owns the code. When somebody starts pushing inter-corporation agreements regarding code contributions and ownership, we need to be concerned.

Michael cited the agreements around the open-sourcing of the openSPARC architecture as one example of how things can go wrong. Another is the flurry of lawsuits in the mobile area; those are likely to divide companies into competing camps and destroy the solidarity we have at the development level.

Given all this, he asked, why would anybody sign such an agreement? The freedom to change the license is one often-cited reason; Michael says that using permissive licenses or "plus licenses" (those which allow "any later version") as a better way of addressing that problem. The ability to offer indemnification is another reason, but indemnification is entirely orthogonal to ownership. One still hears the claim full ownership is [Michael Meeks] required to be able to go after infringers, but that has been decisively proved to be false at this point. There is also an occasional appeal to weird local laws; Michael dismissed those as silly and self serving. There is, he says, something else going on.

What works best, he says, is when the license itself is the contributor agreement. "Inbound" and "outbound" licensing, where everybody has the same rights, is best.

But not everybody is convinced of that. Michael warned that there is "a sustained marketing drive coming" to push the copyright-assignment agenda. While we were sitting in the audience, he said, somebody was calling our bosses. They'll be saying that copyright assignment policies are required for companies to be willing to invest in non-sexy projects. But the fact of the matter is that almost all of the stack, many parts of which lack sexiness, is not owned by corporations. "All cleanly-written software," Michael says, "is sexy." Our bosses will hear that copyright assignment is required for companies to get outside investment; it's the only way they can pursue the famous MySQL model. But we should not let monopolistic companies claim that their business plans are good for free software; beyond that, Michael suggested that the MySQL model may not look as good as it did a year or two ago. Managers will be told that only assignment-based projects are successful. One only need to look at the list of successful projects, starting with the Linux kernel, to see the falseness of that claim.

Instead, Michael says, having a single company doing all of the heavy lifting is the sign of a project without a real community. It is an indicator of risk. People are figuring this out; that is why we're seeing in increasing number of single-company projects being forked and rewritten. Examples include xpdf and poppler, libart_lgpl and cairo, MySQL and Maria. There are a number of companies, Novell and Red Hat included, which are dismantling the copyright-assignment policies they used to maintain.

At this point, Michael decided that we'd had enough and needed a brief technical break. So he talked about Git: the LibreOffice project likes to work with shallow clones because the full history is so huge. But it's not possible to push patches from a shallow clone, that is a pain. Michael also noted that git am is obnoxious to use. On the other hand, he says, the valgrind DHAT tool is a wonderful way of analyzing heap memory usage patterns and finding bugs. Valgrind, he says, does not get anywhere near enough attention. There was also some brief talk of "component-based everything" architecture and some work the project is doing to facilitate parallel contribution.

The conclusion, though, came back to copyright assignment. We need to prepare for the marketing push, which could cause well-meaning people to do dumb things. It's time for developers to talk to their bosses and make it clear that copyright assignment policies are not the way toward successful projects. Before we contribute to a project, he said, we need to check more than the license; we need to look at what others will be able to do with the code. We should be more ungrateful toward corporations which seek to dominate development projects and get involved with more open alternatives.

One of those alternatives, it went without saying, is the LibreOffice project. LibreOffice is trying to build a vibrant community which resembles the kernel community. But it will be more fun: the kernel, Michael said, "is done" while LibreOffice is far from done. There is a lot of low-hanging fruit and many opportunities for interesting projects. And, if that's not enough, developers should consider that every bit of memory saved will be multiplied across millions of LibreOffice users; what better way can there be to offset one's carbon footprint? So, he said, please come and help; it's an exciting time to be working with LibreOffice.

Index entries for this article
ConferenceLinux Plumbers Conference/2010


(Log in to post comments)

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 16:27 UTC (Tue) by amacater (subscriber, #790) [Link]

A superb article - which I will send to my bosses :)

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 16:45 UTC (Tue) by flickerfly (guest, #70718) [Link]

I had to chuckle at "developers should consider that every bit of memory saved will be multiplied across millions of LibreOffice users; what better way can there be to offset one's carbon footprint?"

Reduce your carbon footprint, write code!

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 20:53 UTC (Tue) by jengelh (subscriber, #33263) [Link]

Looking at the commit statistics for drivers/ however looks like they're the backlight in carbon savings. Hooray for standard interfaces like PIIX, AHCI, AC97 and HDA.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 16:46 UTC (Tue) by Frej (guest, #4165) [Link]

I do think highly of Meeks. But it's still wrong to stir up uncertainty and fear with some sort of marketing campaign from some unnamed company, calling your boss!

I can't think of a company with any motive to do so, across open source projects? What's the gain? Or is he just talking about the openoffice project, because then it's obvious ;).

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 17:32 UTC (Tue) by AlexHudson (guest, #41828) [Link]

Without wanting to put words in his mouth, I would have thought he had in mind the likes of Project Harmony. Some people believe standardised contracts for contribution are required to drive corporate involvement in "unsexy" open source projects.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 26, 2010 18:26 UTC (Fri) by phython (subscriber, #3278) [Link]

Which project harmony? The java libraries or the old qt replacement or a different one?

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 26, 2010 18:44 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 20:11 UTC (Tue) by msnitzer (subscriber, #57232) [Link]

Please see: Canonical's contributor agreement (aka comprehensive copyright assignment). What could be a better first step toward making amazing contributions to Ubuntu!? ;)

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 20:44 UTC (Tue) by daglwn (guest, #65432) [Link]

I can't think of a company with any motive to do so, across open source projects?

Apple effectively requires copyright assignment for the LLVM/Clang suite, though no one really follows it. Since the license is BSD-ish, there's no real practical difference anyway. Apple does have a rather aggressive campaign against GPLv3.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 22:30 UTC (Tue) by Hanno (guest, #41730) [Link]

Prior to panicking, I'd like to know more details about this unnamed threat, as well.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 27, 2010 17:16 UTC (Sat) by jospoortvliet (guest, #33164) [Link]

As said a little up in this thread: Canonical's Harmony comes to mind. But indeed the history of OpenOffice.org itself is also telling.

xemacs, yeh

Posted Nov 9, 2010 16:56 UTC (Tue) by coriordan (guest, #7544) [Link]

xemacs development stopped _years_ ago and their mailing list archives have just been accumulating spam.

If the success of xemacs is the only evidence for his criticism of FSF's assignment policy, then FSF's assignment policy must be pretty excellent.

xemacs, yeh

Posted Nov 9, 2010 17:47 UTC (Tue) by cesarb (subscriber, #6266) [Link]

Perhaps it is not the policy itself, but the fact that people trust the FSF.

The exact same policy might not work as well for other organizations.

xemacs, yeh

Posted Nov 9, 2010 18:37 UTC (Tue) by coriordan (guest, #7544) [Link]

That's certainly one factor.

Another factor is that FSF's is a two-way agreement in which they promise that the versions they publish will be under a free software licence. In that way, they're setting a good example which should be followed.

Bradley Kuhn blogged about this before:
http://www.ebb.org/bkuhn/blog/2010/02/01/copyright-not-al...

xemacs, yeh

Posted Nov 9, 2010 18:24 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

FSF is a non-profit and whatever one can say about RMS, noone is going to ever accuse him of trying to take advantage of the code in a proprietary way and besides there is a explicit counter promise in the legal contract. None of that applies to commercial organizations.

xemacs, yeh

Posted Nov 9, 2010 19:03 UTC (Tue) by dlang (guest, #313) [Link]

RMS is not going to direct the FSF forever (if for no other reason than he won't live forever)

given that it is up to the FSF to decide what new license 'is in the same spirit' as the existing license, the controls around it are pretty limited. some people consider the GPLv3 to be a violation of the spirit of GPLv2

if nothing else, the Oracle misbehavior should point out to everyone that you shouldn't be focusng on the orginization you are signing things over to today, you should be concerned about what it may be years from now when it is purchased by (or merges with in the case of non-company orgnizations) some other organization.

xemacs, yeh

Posted Nov 9, 2010 19:39 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

FSF agreements may not be perfect but unlike Oracle, FSF has a counter promise in a legally binding contract and that is a MUCH better situation to be in. It is not the same thing at all. People cannot use FSF to justify draconian agreements.

Tentacles of Evil

Posted Nov 9, 2010 21:03 UTC (Tue) by boog (subscriber, #30882) [Link]

This argument has long been formalised by Debian as the "Tentacles of Evil Test", which seems quite relevant and foresighted these days.

http://people.debian.org/~bap/dfsg-faq.html (see Q9c)

(As others have noted, the case of the FSF is more subtle; I'm not trying to imply they fail the test.)

xemacs, yeh

Posted Nov 10, 2010 8:07 UTC (Wed) by mbanck (guest, #9035) [Link]

If that happens, I am also pretty sure RedHat et al. will pull an X.Org on the FSF and fork GNU at GPLv3 or whichever was the last reasonable one.

xemacs, yeh

Posted Nov 9, 2010 18:47 UTC (Tue) by foom (subscriber, #14868) [Link]

> xemacs development stopped _years_ ago and their mailing list archives have just been accumulating spam.

While xemacs is certainly not a very active project, and it seems questionable whether the next release will ever actually be finished, it's not *completely* dead, and the mailing lists have actual content. Maybe you looked at the wrong list?

http://list-archive.xemacs.org/pipermail/xemacs-beta/

xemacs, yeh

Posted Nov 10, 2010 15:39 UTC (Wed) by coriordan (guest, #7544) [Link]

Maybe. It was 2006 when I last looked at the project, and back then the lists I checked had been mostly spam for two years. Looks like they cleaned them up alright and got some discussion going at least.

Why the FSF Copyright Assignment is Wrong

Posted Nov 10, 2010 20:42 UTC (Wed) by jejb (subscriber, #6654) [Link]

> If the success of xemacs is the only evidence for his criticism of FSF's assignment policy, then FSF's assignment policy must be pretty excellent.

OK, so the reasons why I think copyright assignment is bad for the ecosystem essentially boils down to

1. It creates an unequal balance of power between the assignee and the contributors, since the assignee gets more rights in the code than the rest of the ecosystem.
2. It's unsafe because, however much you might trust the assignee now, it may be bought by some evil company or its board may change composition.
3. It creates anaemic communities and bureaucracy. A good example of this is evolution: when Novell gave up requiring copyright assignment, the number of external contributors jumped massively (plus Red Hat contributions went from near zero to being quite substantial).
4. It's jurisdiction based. I know people who've failed for years to contribute patches to the FSF simply because they don't live in the USA and they refuse to sign an assignment which would be invalid in their home jurisdiction.

Conversely, it's very hard to get out of the FSF why they think copyright assignment (at least to them) is a good thing. The basic reasons seem to be

1. We have to own all the code to enforce the licence. Well, this one's been debunked by the SLFC with busybox and gplviolations.org with the kernel.
2. We need the ability to relicense. This is a bit blunted by the FSF promise only to relicense to something substantially in the spirit of GPL. As long as they only accept code under GPLv2 or later *and* the new licence can be called GPLvN (because it's in the spirit), then there's no issue.
3. We need to be the controlling entity deciding on enforcement (by the way, this means that by signing the FSF assignment, the developer gives up any interest they had in enforcing the licence to their own code). This is fine and dandy in a big brother knows best kind of way, but I rather prefer a world where control is decentralised and individuals are empowered to call corporations on the use of their code (this is what gplviolations.org does; in the FSF we own it all world view, they wouldn't be able to function).

So I still don't have a convincing argument for why the FSF should continue to insist on assignments. If there's no good reason to do it, perhaps it's time to stop?

I do have a good one for why they shouldn't: Every company I go to to persuade them to eliminate their assignment policy always whines "but the FSF does it". Bradley's blog post (http://www.ebb.org/bkuhn/blog/2010/02/01/copyright-not-al...) while true, essentially amounts to telling the company that the FSF isn't evil and they are, which isn't exactly helpful. It would be far more powerful to be able to turn up with the unified message from the entire Free and Open Source ecosystems that copyright assignments are wrong. While the FSF fails to be on board with this, and worse still appears to condone it, the damage to the ecosystem done by corporations seeking to make balance sheet assets of community code gets more and more substantial.

Why the FSF Copyright Assignment is Wrong

Posted Nov 11, 2010 2:37 UTC (Thu) by rgmoore (✭ supporter ✭, #75) [Link]

1. It creates an unequal balance of power between the assignee and the contributors, since the assignee gets more rights in the code than the rest of the ecosystem.

I think this is the key point. The essence of Free Software is giving up control over your code and letting others have equal access to it. Attempts to privilege one author over others- either copyright assignment policies or licenses that give special rights to the "original author"- go against that ideal. The inequality between the assignee and the other authors are the root of all of the other problems you describe.

Why the FSF Copyright Assignment is Wrong

Posted Nov 11, 2010 16:25 UTC (Thu) by vonbrand (guest, #4458) [Link]

In any case, I'm happier with the individual who wrote said code having any "special rights" (it's their own!) than some third party taking over.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 17:04 UTC (Tue) by Np237 (guest, #69585) [Link]

Very good point. I’ve never accepted to contribute to projects requiring copyright assignment. It is dangerous and goes against the spirit of copyleft.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 17:49 UTC (Tue) by PO8 (guest, #41661) [Link]

"One still hears the claim [that] full ownership is required to be able to go after infringers, but that has been decisively proved to be false at this point."

I was not aware of this. Can anyone here cite the relevant open source case law?

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 17:58 UTC (Tue) by corbet (editor, #1) [Link]

Seems straightforward: the projects which have, by far, done the most successful enforcement (the kernel, busybox) do not have uniform ownership. If eclectic ownership were an impediment to license enforcement, we'd have seen it by now.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 18:07 UTC (Tue) by AlexHudson (guest, #41828) [Link]

In fact, you could even say that eclectic ownership makes it easier and more effective, because anyone with an interest can pursue action if they decide that's the right course.

Not all contributors will have the same approach to license enforcement; there's such differing views amongst the kernel community (as an example) you could imagine had someone like Linus been in control of the copyright there would have been much less in the way of enforcement.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 21:52 UTC (Tue) by cyd (guest, #4153) [Link]

You're forgetting the FSF, which tends to settle out of court.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 10, 2010 8:23 UTC (Wed) by PO8 (guest, #41661) [Link]

<p>I asked specifically for (US) open source case law because, until there is some, the matter is far from definitively settled. I thought maybe there was some I didn't know about.</p>

<p>I know quite competent IP attorneys who believe that the potential plaintiffs in the actions you cite fail to have a sufficient interest in the work in question to have standing. Enforcement of shared copyright in fields other than software has typically required a written agreement among collaborators as to (at least) who has joint ownership.</p>

<p>Since so few open source cases have been tried in the US, it is easy for people to say what the courts would do. In point of fact, nobody knows for sure what they will do until they are actually asked to do something. I think the case history in <i>Jacobsen</i> shows how far wrong our prognosticators can go in the absence of feedback; I don't know of anyone who predicted any of that mess accurately in advance.</p>

<p>Copyright assignment is a pretty blunt tool for assuring standing, and I'm not particularly in favor of it. However, while IANAL, I can see that from an attorney's point of view it would be a pretty attractive way to ensure that courts didn't spring any surprises. Attorneys are mostly payed to reduce risk, so&hellip;</p>

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 18:06 UTC (Tue) by oever (subscriber, #987) [Link]

Michael started by posing a couple of questions and answering them, the first of which was "why not rewrite into C# or HTML5?" He noted with a straight face that going to a web-based approach might not succeed in [Michael Meeks] improving the program's well-known performance problems. He also said that he has yet to go to a conference where he did not get kicked off the network at some point. For now, he just doesn't buy the concept of doing everything on the web.

Of course I wish Michael and LibreOffice all the best. I am quite thrilled with the increased activity in the LibreOffice git repository. Perhaps, when KOffice gets git later this month it will see a similar surge in the, already very nice, activity. A remarkable thing is that there really are a lot of people working on ODF software these days, and there diversity with compatibility is the optimal result.

I find it interesting that Michael goes out of his way to defend the decision to stick with C++. I say this because at GUADEC this year I presented WebODF which is a javascript library to render and edit ODF documents in the browser and on the desktop. The 5 minute presentation that was rudely, but timely, interrupted by a vuvuzela prompted Michael and Luis Villa to have a lively discussion about the merits of desktop vs web. I could tell Michael was appalled and intrueged by the idea of doing ODF in the browser, but ultimately thinks C++ on the desktop is the most accurate and fast way of editing ODF. With WebODF, we aim for "good enough for most people" and especially for groups of people that want to share office documents on their own server and edit them from anywhere.

Here's a small video of WebODF.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 20:41 UTC (Tue) by kripkenstein (guest, #43281) [Link]

You should be able to reuse ODF-processing C++ code on the web, using Emscripten, which will compile C++ to JavaScript (through LLVM). Maybe this could be useful for WebODF? If so I'd be happy to help out!

http://emscripten.org

Disclaimer: I'm the main Emscripten dev.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 9, 2010 21:38 UTC (Tue) by oever (subscriber, #987) [Link]

The grunt of the code is interacting with the browser DOM and the speed there is limited by the browser. But there are a few areas where numerical speed is useful. WebODF does unzipping of the document in the browser. This is not a performance problem for regular documents. But for documents with more then a hundred pages, a speedup might be noticable. Perhaps you can speed up the javascript inflate and deflate functions.

Copyright Assignment Meh

Posted Nov 9, 2010 20:58 UTC (Tue) by kripkenstein (guest, #43281) [Link]

I fully agree with a lot of the criticism about copyright assignment - it adds beaurocracy, suit involvement, and all that. However, aside from that additional overhead, it isn't intrinsically evil - which can easily be seen from the fact that projects with copyright assignment can be forked into ones without such assignment. In other words, it allows those that do not like copyright assignment to always get to where they want to be.

And this is the part of the criciticm of copyright assignment that I don't get. If we really believe in our FOSS licenses - and we should, otherwise why use them - then they will preseve our freedoms in both copyright assignment projects or in non-copyright assignment projects. To say that there is something non-free or evil or wrong about copyright assignment projects, seems to imply that our FOSS licenses are deficient, if they cannot guarantee our freedoms.

But, they can and they do, as we can see from the possibility of forks, and examples of them.

Again, I don't care for copyright assignment myself - it just adds overhead. But I wouldn't stop myself from contributing to a project that does have it, or prefer one project over another because of it. It doesn't matter to me, as long as both projects use an open source license. That's the important part, not copyright assignment.

The only real difference with copyright assignment is that it allows the person getting the copyrights to offer *additional* licenses. Typically this is used to offer commercial/nonfree licenses, like Qt and MySQL do. I see no problem with a company making money in this way. It seems though that a lot of the anti-copyright assignment criticism stems from a distaste of such things. But making money is not antithetical to FOSS, in this context (as often mentioned, you can sell GPL software, odd as it sounds to people that are new to FOSS).

OTOH I do see a big advantage in being able to change FOSS licenses later on. If the vast majority of a community would like to change the FOSS license their project uses, they should be able to (it should take a special majority - just like changing the constitution of a country requires a special majority). Copyright assignment makes that possible. But again, this isn't a big enough of a deal that I would prefer copyright assignment over the lack of it.

Copyright Assignment Meh

Posted Nov 9, 2010 22:00 UTC (Tue) by smurf (subscriber, #17840) [Link]

_You_ may not see a problem when Some Company uses your code in ways that are not covered by the license you and I are operating under.

However, _I_ surely do. The Free Software movement is based on equality. I get your code and can modify and enhance it, you get to do the same thing with mine, and thereby we all benefit. That's the key reason why the GPL exists.

You only need copyright assignment for one single reason, and that's to create and sell something that contains my code but is not bound by the license. I, as a lowly contributor, may not do that. Only the assignee can. That's a fundamental inequality, and it cannot be fixed by forking.

Bottom line: I will not sign such an agreement.

Copyright Assignment Meh

Posted Nov 9, 2010 23:16 UTC (Tue) by kripkenstein (guest, #43281) [Link]

> You only need copyright assignment for one single reason, and that's to create and sell something that contains my code but is not bound by the license.

To be fair, there are other reasons, such as keeping open the option to switch FOSS licenses down the road. I'm not saying this is the most common reason or important one - I think you are right that the commercial aspect is usually dominant in the relevant projects.

> I, as a lowly contributor, may not do that. Only the assignee can. That's a fundamental inequality, and it cannot be fixed by forking.

By forking, you take away their capability to do that - with new code in your fork. In time, your fork may become the dominant one, and you will have essentially converted the old copyright assignment project into one without copyright assignment. Exactly this may happen with MySQL and OpenOffice.

So I would say, yes, the problem you are concerned with *can* be fixed by forking, and FOSS licenses are designed exactly to allow such fixing. If they could not fix in such a way, they could not guarantee our freedoms.

Copyright Assignment Meh

Posted Nov 10, 2010 0:43 UTC (Wed) by martinfick (subscriber, #4455) [Link]

> In other words, it allows those that do not like copyright assignment to always get to where they want to be.

No, it does not allow them to ensure that their code is always copylefted, if that is their desire.

> If we really believe in our FOSS licenses - and we should, otherwise why use them - then they will preseve our freedoms in both copyright assignment projects or in non-copyright assignment projects. To say that there is something non-free or evil or wrong about copyright assignment projects, seems to imply that our FOSS licenses are deficient, if they cannot guarantee our freedoms.

This is flawed logic. Licenses can only affect (preserve freedoms) on code which falls under that license. Copyright assignment allows this code to potentially be relicensed under an entirely different license, this says nothing of the original license.

> But I wouldn't stop myself from contributing to a project that does have it, or prefer one project over another because of it. It doesn't matter to me, as long as both projects use an open source license. That's the important part, not copyright assignment.

This makes sense if you would be OK normally releasing your code as BSD, but not if you would instead chose only the GPL (or only another copyleft license). Surely you should be able to see how this would potentially be unacceptable to those who want their code to be protected by the GPL?

Copyright Assignment Meh

Posted Nov 10, 2010 2:28 UTC (Wed) by kripkenstein (guest, #43281) [Link]

> This makes sense if you would be OK normally releasing your code as BSD, but not if you would instead chose only the GPL (or only another copyleft license). Surely you should be able to see how this would potentially be unacceptable to those who want their code to be protected by the GPL?

Of course, I respect your opinion even if I disagree with it, and I see the logic in it.

However, you don't need to be 'ok with the BSD' to be ok with this. Your code, with copyright assignment, is still GPLed. It just has another license. That doesn't take away the freedoms of the GPL, it just allows other people - that prefer to do so - to get it under that other license.

Again, I respect your opinion. If you want your code to always be GPLed, and never available under any other circumstances, then I can see how copyright assignment is not for you. But, if someone wants their code to be GPL, but *doesn't* mind additional uses of it, then they would be fine with copyright assignment.

All of these are legitimate positions to take, I hope we can agree on that.

Copyright Assignment Meh

Posted Nov 10, 2010 3:23 UTC (Wed) by martinfick (subscriber, #4455) [Link]

> However, you don't need to be 'ok with the BSD' to be ok with this. Your code, with copyright assignment, is still GPLed. It just has another license. That doesn't take away the freedoms of the GPL, it just allows other people - that prefer to do so - to get it under that other license.

No, this is false, it could take away the freedoms of the GPL (the freedom which the GPL assures). What makes you believe that this cannot be the case? What would guarantee that this would not be the case?

If I write code and submit it to a project with copyright assignment, and they chose to release my code with a non free license, receivers of that code may, or may not benefit from the freedoms which I want them to benefit from, freedoms which the GPL assures them. There are many situations where this could be the case. A simple example would be: if they combined my submitted code with proprietary code and distributed it disallowing modifications. The receivers of that software would not have the legal ability to modify the resultant work (not even the sections which I contributed), they would have lost that particular GPL assured freedom.

> But, if someone wants their code to be GPL, but *doesn't* mind additional uses of it, then they would be fine with copyright assignment.

This is true. But it seems unlikely that someone would take that stance, since there would then be no additional benefits of the GPL over the BSD license then. It is extra effort to chose the GPL, why would somone chose it only to have it be subverted? Obvisouly, they may do so, there just doesn't seem to be any incentive to do so. Can you suggest one?

Copyright Assignment Meh

Posted Nov 10, 2010 4:33 UTC (Wed) by kripkenstein (guest, #43281) [Link]

> A simple example would be: if they combined my submitted code with proprietary code and distributed it disallowing modifications. The receivers of that software would not have the legal ability to modify the resultant work (not even the sections which I contributed), they would have lost that particular GPL assured freedom.

They can still get the GPLed code that you wrote, from a different source - the FOSS version of it from that same company selling the proprietary version, or from you, or from a fork that is 100% FOSS, etc. The GPL precisely makes that possible.

> Obvisouly, they may do so, there just doesn't seem to be any incentive to do so. Can you suggest one?

As I already explained, it's useful for switching FOSS licenses. For example, it is currently essentially impossible to switch the Linux kernel to GPL3 from GPL2. I think FOSS communities need to change licenses sometimes, and copyright assignment makes that possible.

I see the validity in your position too. I just happen to disagree. I hope you feel the same way.

Copyright Assignment Meh

Posted Nov 10, 2010 5:09 UTC (Wed) by martinfick (subscriber, #4455) [Link]

> They can still get the GPLed code that you wrote, from a different source - the FOSS version of it from that same company selling the proprietary version, or from you, or from a fork that is 100% FOSS, etc. The GPL precisely makes that possible.

Perhaps they could get it somewhere else (assuming they even know that they can, and that it is still available somewhere else), but that only addresses some of the freedoms that the GPL gives, non copyleft covered ones. You are not addressing all of the freedoms, yet you claim you that they can all be addressed. I am saying "you cannot get B, C, and D", and you keep replying: "yes you can, you can get A!"

>> But, if someone wants their code to be GPL, but *doesn't* mind additional uses of it, then they would be fine with copyright assignment.
> As I already explained, it's useful for switching FOSS licenses. For example, it is currently essentially impossible to switch the Linux kernel to GPL3 from GPL2. I think FOSS communities need to change licenses sometimes, and copyright assignment makes that possible.

I tought that you were making a blanket statement about not minding any kind of additonal uses. Yes, for some very specific additional uses, not ones left to the discretion of the assignee, I can see how this will likely seem useful to some.

> I see the validity in your position too. I just happen to disagree. I hope you feel the same way.

No, not at all. I am not judging your position ethically, I am judging it logically, and I am claiming that it is simply not valid (the position about all the GPL freedoms being preserved).

Copyright Assignment Meh

Posted Nov 10, 2010 5:21 UTC (Wed) by kripkenstein (guest, #43281) [Link]

> Perhaps they could get it somewhere else (assuming they even know that they can, and that it is still available somewhere else), but that only addresses some of the freedoms that the GPL gives, non copyleft covered ones. You are not addressing all of the freedoms, yet you claim you that they can all be addressed. I am saying "you cannot get B, C, and D", and you keep replying: "yes you can, you can get A!"

I don't follow. What are B,C,D here? As I understand it, if they get the GPL source from someplace else, they get all the freedoms of the GPL with that source - what is the mising B,C,D?

Copyright Assignment Meh

Posted Nov 10, 2010 6:23 UTC (Wed) by martinfick (subscriber, #4455) [Link]

> I don't follow. What are B,C,D here? As I understand it, if they get the GPL source from someplace else, they get all the freedoms of the GPL with that source - what is the mising B,C,D?

But they don't get those freedoms on the same program then. If they are given program P under a proprietery license (program P is a modified version of program Q which I distribute), which includes the code I released under the GPL, and they get the source to program Q under the GPL from somewhere else, it does not mean that they get the freedoms of the GPL for program P (since program P is different from Q).

The missing B, C, D could be anything that is covered by the GPL. If I had to assign them each an important missing freedom, I would note B as: the right to modify program P (as I already pointed out in my example), also I would note C as: the right to the source of program P, and D as: the right to redistribute program P. If B, C, D and are restricted by the proprietary relicense of program P, the receiver will not get those freedoms on P, they will only get them on Q.

Please don't take this the wrong way, but perhaps you are not familiar with the concept of copyleft? I would suggest reading these pages, perhaps they will clarify some things that I am attempting (poorly I guess) to convey:

http://www.gnu.org/copyleft/copyleft.html
http://www.gnu.org/licenses/quick-guide-gplv3.html

Copyright Assignment Meh

Posted Nov 10, 2010 6:42 UTC (Wed) by kripkenstein (guest, #43281) [Link]

> But they don't get those freedoms on the same program then.

Ok, fine, then we basically agree on all the facts. We're just confusing ourselves with language.

I care that they *can* get all those freedoms for that source code - they might need to get it from somewhere else though. You care about getting those freedoms for the actual program they receive. Neither of us is right or wrong, just different focus.

> Please don't take this the wrong way, but perhaps you are not familiar with the concept of copyleft?

Actually I've been advocating for copyleft, and writing copylefted code, for quite a long time now :)

Copyright Assignment Meh

Posted Nov 10, 2010 17:36 UTC (Wed) by nye (guest, #51576) [Link]

>I care that they *can* get all those freedoms for that source code - they might need to get it from somewhere else though

They can get all of those freedoms if the code is released under a BSD license, so why choose the GPL in the first place if you don't care about the copyleft terms that the GPL adds?

Copyright Assignment Meh

Posted Nov 10, 2010 18:42 UTC (Wed) by jspaleta (subscriber, #50639) [Link]

Indeed even has contributors to a GPL or proprietary licensed codebase, as an individual contributor you can offer your contributions under a more liberal license such as BSD and a project should be able to accept them even if they don't require copyright assignment. If your personal politics are such that the terms of the GPL( or proprietary licensing) are too restrictive for you, then you are still free to offer your original work under a more expansive license such as the BSD and a GPL( or proprietary) project can consume those contributions without issue even in situations where they later feel a re-license is necessary. BSD licensed contributions should present no insurmountable problems even in a re-licensing situation.

-jef

Forking doesn't work

Posted Nov 11, 2010 9:48 UTC (Thu) by mmeeks (subscriber, #56090) [Link]

Hi there,

> And this is the part of the criciticm of copyright assignment that I
> don't get. If we really believe in our FOSS licenses - and we should,
> otherwise why use them - then they will preseve our freedoms in both
> copyright assignment projects or in non-copyright assignment projects.

Ah - you are one of the 'too nice' people that hasn't twisted their brain around the tortured world of proprietary contracts. As soon as a company steps away from a transparent, open Free Software license - the proprietary license will almost certainly have "non-fork" provisions - such that these guys are bound to the other side of whatever fork you do. So - sure, of course you always have the right to fork: but the effectiveness of doing that on your own is going to be small, and you may find you have a set of stake-holders that agree with your direction; but simply cannot help you due to their proprietary license agreement.

So - the 'additional' licenses, people get, often do not simply give people the ability to re-use the code in proprietary software; but bind them in many other, un-acceptable ways.

HTH.

Copyright Assignment Meh

Posted Nov 14, 2010 1:06 UTC (Sun) by jberkus (guest, #55561) [Link]

As an advisor to several software companies, I'll tell you why most companies who have copyright assignment policies have them: they don't actually want outside contributors. Really.

Open source is now the mainstream for software development. But that doesn't mean that companies who now feel obligated to open source their code in order to complete *like* the idea. They prefer to use open source as a distribution model only, and keep code development internal. It's less work for their engineering staff, less work for their lawyers, and they don't expect outside contributions to be useful anyway.

From my perspective, this is a fine attitude if a company is honest with itself. Where trouble develops is when a company wants to "keep its cake and eat it too", but having draconian copyright control by still having a program to "build its developer community". Since these two goals can never be brought into concordance (think Sun), the projects will be considered failures and the company will blame "the open source community" (whoever that is).

--Josh "10 ways to destroy your community" Berkus

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 10, 2010 19:38 UTC (Wed) by khc (guest, #45209) [Link]

What's the difference between copyright assignment and something like BSD?

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 10, 2010 19:42 UTC (Wed) by spaetz (guest, #32870) [Link]

The former is more complex making lawyers happy (and busy)

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 10, 2010 19:48 UTC (Wed) by spaetz (guest, #32870) [Link]

no seriously. bsd gives any party equal rights to the code. ca gives only the priviledged party said rights. Imagine Mysql had been under the bsd rather than CA. The former owner would now have the right to still use it in any way he wants. Now the copyright rests with oracle and he whines, err, complains that he can't use his code anymore. That's quite a difference.

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 18, 2010 14:11 UTC (Thu) by renox (guest, #23785) [Link]

Another difference would be that with BSD, MySQL wouldn't have been bought for 1 billion..

LPC: Michael Meeks on LibreOffice and code ownership

Posted Nov 11, 2010 2:35 UTC (Thu) by zooko (guest, #2589) [Link]

Very interesting! What was the issue with corporate agreements around open sourcing the SPARC? I was very disappointed that the crypto units were removed from the open source release, but that was due to (possibly extra-legal) interference from the NSA rather than due to corporate agreements.

Using Git

Posted Nov 18, 2010 12:09 UTC (Thu) by jnareb (subscriber, #46500) [Link]

" At this point, Michael decided that we'd had enough and needed a brief technical break. So he talked about Git: the LibreOffice project likes to work with shallow clones because the full history is so huge. But it's not possible to push patches from a shallow clone, that is a pain. Michael also noted that git am is obnoxious to use. "

About shallow clones: perhaps now that large project (and large number of contributors) is using them, those issues would be fixed. There was even some work in progress presented on git mailing list adding support for lazy/sparse clones (in addition to recently added support for sparse checkouts), which generalizes also shallow clones, and which has support for narrowing and widening selection; if I remember correctly this would allow to push from narrow clone to narrow clone etc. But this was one person show...

About git am: what were the problems with it? Why the complaint wasn't posted on git mailing list, for git developers to be aware of it?


Copyright © 2010, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds