Not logged in
Log in now
Create an account
Subscribe to LWN
Pencil, Pencil, and Pencil
Dividing the Linux desktop
LWN.net Weekly Edition for June 13, 2013
A report from pgCon 2013
Little things that matter in language design
a dissenting opinion: this is useful
Posted Apr 12, 2011 1:45 UTC (Tue) by zooko (subscriber, #2589)
Or did you mean something else?
For the third time, I'd like to emphasize that I'm very glad the Project Harmony folks have done this work so that we can have this conversation. It would be a shame if my licensing policies were turning off potential contributors unnecessarily.
P.S. When I create a project for facilitating collaboration among Software Freedom-loving pirates I'm going to name it "Project Arrrrmony".
Posted Apr 12, 2011 2:26 UTC (Tue) by corbet (editor, #1)
in defense of "contributor agreements" or whatever they are called nowadays
Posted Apr 12, 2011 4:17 UTC (Tue) by zooko (subscriber, #2589)
I recognize that there are legitimate concerns, especially several of the sagas around SunOracle (which you, Jon, correctly predicted and which I at the time dismissed as FUD).
But on the other hand, I think the community consensus on lkml and lwn.net is too one-sided.
My own experience with Tahoe-LAFS is that whenever contributors would offer patches that were substantial, I would politely ask them if the for-profit company that I then worked for (allmydata.com) could please have the rights to do whatever we wanted with the patches. With two exceptions they all said "sure". The two exceptions said they didn't want to give those rights to a for-profit company, and so we said "fine". (Their two contributions were in auxiliary modules rather than in the core and they turned out to be modest.)
It didn't seem to me that anybody was deterred from contributing because of my practice of asking for this permission, and it didn't seem to me that we suffered from communication problems because of it.
My experience in this parallels the recollections of L. Peter Deutsch about Ghostscript in his interview with Stig Hackvan: http://devlinux.org/deutsch-interview.html . (Note: Raph Levien told me in personal communication that later there were problems with Ghostscript's dual-licence model which is why they changed it to be GPL-only. However, I don't remember him telling me specifically what the problems were and his recollections aren't in the public record where I can look them up and cite them.)
Re-reading Michael Meeks's article today gives me more reservations about his position. For example, he says it took a few weeks to get his first copyright assignment to FSF and then his patch languished without review or merge for years, which deterred him from contributing further. Then he says that he wondered if the delay due to copyright assignment partially caused the larger delay. Well maybe, maybe not! The real deterrent was the years of not-accepting his patch, not the weeks of waiting for paperwork, and failure to review a patch happens far too often, with or without copyright assignment.
For another example, he cites the existence of XEmacs as a demonstration that some people prefer not to assign copyright (in this case to FSF for GNU Emacs). Okay, that's fair, but at the same time the greater rate of contributions to GNU Emacs and the more vibrant community of contributors must be taken as a demonstration that some people are fine assigning copyright and this doesn't necessarily derail a project.
I just think we don't need to be doctrinaire about this. Maybe one size doesn't fit all. Maybe it's okay if some projects try different copyright assignment policies.
Almost all open source projects fail to attract any contributors at all, and that's true regardless of whether they require copyright assignment or not. A few open source projects attract lots of contribution, and both approaches are present in that set too.
People have asked me how I succeeded at attracting contributions to Tahoe-LAFS. My answers are: (a) we just got lucky, (b) we had (and have) an exciting and potentially important system with working code (which was more due to Brian Warner than to me), and (c) our community is friendly and polite.
Posted Apr 12, 2011 7:09 UTC (Tue) by rahulsundaram (subscriber, #21946)
Yes, you might able to get away with it and yes, it might not have affected your project much but it is not easy to assert that and I do wonder how many didn't even bother to send patches because they were aware of this requirement. If you want to lower the barrier to entry and create a neutral ground for all contributors that doesn't favor one company or individual over other, then I would certainly recommend that you consider dropping it.
Posted Apr 13, 2011 3:11 UTC (Wed) by vonbrand (subscriber, #4458)
In the upstart -- systemd case there was not really a fork (there are several "dependency-based" init systems floating around in any case), but a fundamental technical difference in handling of dependencies. The other cases are as you state, AFAIU.
Posted Apr 13, 2011 3:54 UTC (Wed) by rahulsundaram (subscriber, #21946)
Posted Apr 13, 2011 16:31 UTC (Wed) by jspaleta (subscriber, #50639)
I think it weakens the argument you are making to include them as examples, unless you can point to some sort of previous discussion in the context of upstart development where good-faith contributions from contributors were turned aside by the assignment policy requirement. I'm not aware of that ever happening.
I think what is happening right now with LibreOffice stands up by itself as an unfolding relevant case study to make the point.
Though I would like to see if the clutter development experience has something interesting to add. When clutter dropped its assignment policy did contributor activity rise in a noticable way?
A certain individual has argued in private with me that business entities,such as the one that previously required assignment to clutter, only drop the assignment requirements after they are no longer incentivised to lead the development. Essentially the argument made to me was that dropping assignment is a "we wash our hands of it..throw it over the wall..and let the community have the scraps" action on the part of most business entities. Pardon me from interpretatively paraphrasing from a private conversation. I did have the foresight to obtained permission to archive and republish the short conversation. You can read the argument in the context of the conversation from Sept, 2010 here:
I don't think opinions on the matter have changed. The people who walked into the Harmony discussion in favor of for-profit assignment still feel that way. The people who came in against it, still feel that way.
Nor do I think Harmony as drafted are going to change the character of the dispute. Harmony is a codification of the battlelines. I know some people are _hopeful_ that some for-profit entities who switch from in-house contributor agreements to Harmony drafted agreements will be choosing more contributor friendly options. But I don't see any evidence of that. And I don't plan to give any for-profit entity the benefit of the doubt on that score. Whether you choose a Harmony statement or not is not important. It is the specific choice and the details that matter. I don't plan to pat any entity on the back for choosing a Harmony option that requires assignment to a for-profit with sufficient promisebacks to protect the long term interests of the uncompensated contributor.
The Harmony drafts allow for pretty much all the bad for-profit behaviour that is currently allowed now. At best Harmony will make it easier to identify. At worst Harmony will give for-profits political cover that they can hide behind when their choose unfair/unbalanced assignment policies instead of the more reasonable Harmony options.
Posted Apr 13, 2011 17:26 UTC (Wed) by rahulsundaram (subscriber, #21946)
Technical design might be the more important reason for systemd but it is clear that copyright assignment requirements played a role and while what you have suggested is one way to look for the impact, I think it is far from the only way. For instance, the questions one can ask include, how many developers were turned away from ever submitting patches because of the requirement? Among the active systemd developers, which ones felt more motivated to systemd because it explicitly advertised the fact that no copyright assigned is required? Did it influence adoption by distributions? and so on. I don't purport to know the answers to these questions but I disagree that it is not a valid example although it might not be as big a instance as Openoffice.org vs Libreoffice.
Posted Apr 13, 2011 17:34 UTC (Wed) by jspaleta (subscriber, #50639)
Posted Apr 13, 2011 18:07 UTC (Wed) by rahulsundaram (subscriber, #21946)
Whether patches submitted to a project were rejected on the basis of such a requirement is not a very interesting way to measure the impact as far as I am concerned because anyone who looks at contributing to a project and realizes there is a requirement to assign copyright would just not bother submitting any patches in the first place. If you are interested enough, you can talk to the developers involved and find out more. I have but there is no public reference for you so you will have to do the leg work yourself to find out more.
Posted Apr 13, 2011 18:06 UTC (Wed) by zooko (subscriber, #2589)
I'm pretty sure this wasn't the case, as we didn't publicly mention this requirement anywhere.
Posted Apr 13, 2011 18:40 UTC (Wed) by rahulsundaram (subscriber, #21946)
Posted Apr 13, 2011 20:08 UTC (Wed) by zooko (subscriber, #2589)
Which, I suppose, definitely proves one of the points against such contributor agreements. Perhaps I should reconsider and add a mention about that to the developer docs.
Posted Apr 13, 2011 21:01 UTC (Wed) by jspaleta (subscriber, #50639)
I think its entirely ethical for a central authority, even a for-profit one, to make that sort of request as long as they contributor really does have the ability to say no. As long as the incorporation of contribution in question is not held up because of a lack of requested assignment, then I don't see a problem with.
I have no problem with contributors choosing to gift their copyrights as long as its a gift freely given with no explicit or implicit strings attached with regard to their standing as a contributor or the incorporation of their submitted work.
Posted Apr 14, 2011 5:02 UTC (Thu) by rahulsundaram (subscriber, #21946)
Unless you would accept a patch without the contributor signing the legal agreement, I would say it is still a requirement albeit a politely worded one. There is nothing inherently wrong with requirements as long as they are explicit.
Posted Apr 14, 2011 14:54 UTC (Thu) by zooko (subscriber, #2589)
Posted Apr 12, 2011 7:55 UTC (Tue) by spaetz (subscriber, #32870)
Why don't you just license your project under an MIT license then? The issue that I see, is that of complexity. Licensing is already hard to understand. Even for lawyers, not to speak of code contributors. So when there are licenses out there that can solve the goals that you have in your project, why not simply use these?
By introducing *another* complex legal document that interacts with the first one, the legal subleties become so complex that they are very hard to grok.
Reading the harmony options is hard, then thinking about how those options interact and interfere with the rights and limitations set out for various licenses is HARD:
- If I sign over copyright, and get a liberal license can I still sue, or only you?
- If I license contributions under the MIT license, what are the additional rights you get?
- If I contribute as part of my job, is it legal for me to sign away my copyright (ie in might be my employers copyright in the first place and they might have opinions about giving away their copyright)
- Licenses are already hard enough to apply in all jurisdictions, what about CAs. Now, you'll have different status for people contributing from countries where you can sign off copyright, compared to those where you can't (I *believe* e.g. in Germany you can't). More complexity.
I know all these questions are probably answered somewhere, but they are questions that come on top of licensing issues, and that puts me off.
Using 2 complex legal agreements when most of the goals can be reached with a single one does not sound appealing to me, I mean there are plenty of people who haven't even fully gotten the GPL, and now you expect contributors to become lawyers just to submit a bugfix? :-)
Posted Apr 12, 2011 13:52 UTC (Tue) by wahern (subscriber, #37304)
I scanned over the text of one of the documents and what struck me was that the contributor represents that he has authority to transfer the copyright. That means that if you're wrong, they're protecting their ability to sue you. Such things are boilerplate in rights transfers, but what, exactly, are you getting out of the exchange for potentially opening yourself up to more or easier liability?
With that clause in there, unless there's no doubt about your rights in the work (i.e. you're unemployed and a hermit), a prudent person should think twice about making such an open ended representation without any compensation.
Posted Apr 12, 2011 21:22 UTC (Tue) by wahern (subscriber, #37304)
I hereby represent and warrant that I am the sole copyright holder for the
Work and that I have the right and power to enter into this contract. I
hereby indemnify and hold harmless the Foundation, its officers, employees,
and agents against any and all claims, actions or damages (including
attorney's reasonable fees) asserted by or paid to any party on account of a breach or alleged breach of the foregoing warranty.
Fraud is illegal. Erroneously authorizing rights is also illegal, and has the same strict liability as use infringement.
Subject to sections 107 through 122, the owner of copyright under this title has the exclusive rights to do and to authorize any of the following.... 17 U.S.C. 106.
It just seems a little gratuitous for individual contributors (as opposed to corporate contributors) to indemnify the FSF when the contributor already has every motivation to be honest. A lone programmer is not much of a target for litigation, but the FSF is a larger target, and by indemnifying the FSF a contributor has significantly increased their own exposure. But I guess if the chance of the FSF actually being sued is miniscule, it hardly matters.
Interestingly, the Ubuntu agreement seems much more favorable to the contributor:
9. I have not created or assigned to Canonical the Assigned Contributions in breach of My employment or any other contract.
10. To the best of My knowledge I have the legal right to enter into this assignment and have not infringed any third party's intellectual property rights in creating and assigning the Assigned Contributions to Canonical.
Two noteworthy differences here. There's no express indemnification. But also the catch-all clause 10 requires knowing breach or infringement, which is infinitely more fair to the contributor. So unless he gets wrong the work for hire status or other contractual interest in the contribution (strict representation in clause 9), his exposure is much less. Although, the applicable law is nominally English law according to clause 12. But unless English law implies those things just discussed then on first blush, kudos to Ubuntu.
Posted Apr 14, 2011 2:26 UTC (Thu) by JoeBuck (subscriber, #2330)
Posted Apr 14, 2011 4:04 UTC (Thu) by wahern (subscriber, #37304)
By way of example, let's say that hypothetically some court says that interfaces are copyrightable, like Oracle claimed for Java. All of a sudden that contribution of code implementing the Java API is infringing. Or rather, it was always infringing, but only now do you know that.
Or you're an employee of a software company. The free software code you wrote happens to be so related to your company's business interests that it falls within the scope of your employment, so the code is theirs. The FSF probably tries to screen these people in their questionnaire, but they can't always be right about it.
There are tremendous grey areas in copyright law, and the FSF clause shifts most of the repercussions of this onto you. That's its very purpose. If they didn't want to do this, they would have qualified it with a variant of something like "known or should have known". The Ubuntu language, "to the best of my knowledge", is even more pro-contributor.
Also consider that you're indemnifying for any "alleged breach." So maybe you were in the right, but the FSF chose to settle out of prudence. You're still on the hook. But now let's say you can find a way around the language, or that my interpretation is totally bogus. My interpretation isn't so bogus that you won't be forced to spend thousands of dollars on an attorney to make your case.
But now let's say that we all agree none of the FSF officers would ever willing do any of this. (Which probably goes without saying.) I don't know much about non-profit governance, but if it were a for-profit corporation the benevolence of the officers doesn't matter much. If they don't sue they could possibly be on the hook for shirking their duty to protect the corporation.
None of this is worth discussing anymore, though. Frankly, I was just surprised that these organizations would use this language, and even more surprised that Ubuntu didn't. In reality we all take much greater legal risks every day.
Posted Apr 14, 2011 9:53 UTC (Thu) by mjw (subscriber, #16740)
> it was always infringing, but only now do you know that.
In my contract with the FSF it explicitly says "(to the extent known to Developer)".
> The free software code you wrote happens to be so related to your company's business interests that it falls within the scope of your employment, so the code is theirs.
They also send you a separate company disclaimer of rights which you can then let your company sign. You can keep that on file (or also send to the FSF) to show they were aware and approved of your actions.
> Also consider that you're indemnifying for any "alleged breach."
In the FSF contract I got it says "Developer is not obliged to defend FSF against any spurious claim of adverse ownership, but will cooperate with FSF in defending against any such claim"
Posted Apr 13, 2011 21:43 UTC (Wed) by zooko (subscriber, #2589)
Because we didn't want (other) companies to be able to make proprietary derivatives and redistribute them. At least not without paying us.
Posted Apr 21, 2011 16:04 UTC (Thu) by farnz (guest, #17727)
At a really, really trivial level: I work for a company that uses Linux. When I work on an open source project, I am permitted by my contract of employment to contribute my work upstream under the licences the upstream project offers me, provided my employer retains ownership of the copyright. If you ask for a copyright assignment, I have to get the Board of Directors to approve the resulting paperwork. So, I can contribute to the kernel under GPLv2, to X.org under their permissive licence, without going up to the top; I can't contribute to GCC easily, due to the need to get copyright assignment in place, although I can offer a patch under GPLv3 or any later version as long as my employer retains the copyright.
Practically, this means I'm keen on throwing patches at upstream if they don't need copyright assignment, and doing major rewrites as needed to get them to take the feature, where I don't have to maintain it (I'm in the middle of a rewrite for upstream now - and doing the work requested has explained and indicated a fix for at least one bug). If you need copyright assignment, I'm going to be put off contributing due to the hassle.
Posted Apr 12, 2011 8:28 UTC (Tue) by wingo (guest, #26929)
It's something of a moot point, as I haven't hacked Tahoe-LAFS. But yes, other than to the FSF, and in a pinch to some other organization with similar structure (non-profit), credibility, and guarantees (that my code would not be used in proprietary software), I would not do assignment under any conditions. It's too unequal of a transaction.
Even if I wanted to permit my code to be used in proprietary software, I would not assign: an MIT or similar license should be sufficient.
I would enjoy listening in to a conversation between you and Meeks, some time ;-) He's really on-message these days about the evils of copyright assignment, and I basically agree with him.
Posted Apr 12, 2011 8:30 UTC (Tue) by wingo (guest, #26929)
Posted Apr 14, 2011 15:10 UTC (Thu) by zooko (subscriber, #2589)
Context: I'm currently in the midst of constructing a non-profit foundation for Tahoe-LAFS and also a business of my own. The business doesn't have any special access to licensingit is so far a pure open source strategy. (Perhaps a bit of a rare beast nowadays.)
Although, there would be nothing preventing my business from in the future *buying* a license to use Tahoe-LAFS in a proprietary way from the foundation! I think Mozilla gets some funding that way, although I'm not sure. If anyone could confirm or deny I would appreciate it.
(Of course the Tahoe-LAFS Software Foundation, which is not controlled by me, would have to agree to sell such a licence.)
Let's see, so you are strongly averse to letting your code be used in proprietary software at all. That's easy to understand. So for example if the non-profit foundation sold rights to make proprietary derivatives then you wouldn't want to contribute your patches to that project at all, right?
Does this also imply that you never contribute patches to any code base which isn't copyleft? No BSD/MIT/Apache-licensed contributions from you?
Another interesting twist to this whole thing is the Transitive Grace Period Public Licence. That licence is like the MIT/BSD/Apache licence in that it allows people to make proprietary derived works, *except* that they are required to release their derived work under the TGPPL within 12 months. So it is a sort of time-delay copyleft. How would you feel about contributing code to a project that used that? http://tahoe-lafs.org/~zooko/tgppl.pdf
Tahoe-LAFS itself is currently distributed under your choice of GPLv2+ or TGPPLv1+:
Thanks for sharing your thoughts about this issue.
Posted Apr 14, 2011 15:22 UTC (Thu) by rahulsundaram (subscriber, #21946)
Posted Apr 14, 2011 16:34 UTC (Thu) by zooko (subscriber, #2589)
Yes, of course, but wingo didn't indicate that *that* was his concern. I guess there are many separate concerns here and different people care about different ones. It makes it easy to argue past each other I bet.
Posted Apr 25, 2011 14:12 UTC (Mon) by wingo (guest, #26929)
Thank you for your reply, and apologies for the delay in the response.
The question at hand is not my aversion to having my code be used in proprietary software; while it does exist, it's not an overpowering concern. I mostly work on Guile these days, which is an LGPL project, so it can form part of a proprietary application. I contribute code under other, more permissive licenses occasionally as well, though it's not my preference. I prefer to work towards a world of sharing, and copyleft is one way to do that. The TGPPL is another way; not as good, but it could be warranted, strategically.
No, my real concern is about the way in which the different contributions come together. Are we on equal footing or aren't we? If we are, then let's all work together, cooperating via the permissions we grant in the licenses, but with no need to assign to some other party. What having a contributor agreement says to me is that "in this project, some contributors are more equal than others." Obviously a properly-governed foundation as the holder mitigates this to a degree, but I don't even think that the FSF assignment policy is necessary for any purpose, and is clearly detrimental to getting casual contributors.
Posted Apr 25, 2011 14:38 UTC (Mon) by zooko (subscriber, #2589)
Posted Apr 12, 2011 14:40 UTC (Tue) by clint (subscriber, #7076)
Posted Apr 12, 2011 20:03 UTC (Tue) by ballombe (subscriber, #9523)
Posted Apr 13, 2011 3:19 UTC (Wed) by zooko (subscriber, #2589)
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds