Wednesday, December 23, 2009

The GPL And Copyright Assignment

The GPL And Copyright Assignment

Creative Commons License
The GPL And Copyright Assignment by drew Roberts is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

So I was reading this post over at identica and decided to do this quick write up as I did not feel like fighting with the 140 character limit.

I have been pondering this issue for a long time now but somehow perhaps never got around to writing about it or if I did, I forget where.

My thought is that coders should require a binding covenant from the party being assigned the copyrights such that the rights will return to them should there be a breach of the covenant.

The covenant should stipulate that the part and anyone related can never maintain two code bases, one under the GPL and an "enhanced" one available under non-GPL terms only.

I have a feeling that there may be some dirty tricks that can be played to get around the intent of this so it bears some thinking through and discussion.

Now, one possibility to not making such an assignment is to put up patches hosted elsewhere by all coders who want this equality and see if a critical mass of patches is created as a result.

all the best,



matthew-davidson said...

There already is such a covenant:

"This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version."

The key bit here is the "any later version". As Deb Nicholson noted, if you want to be contribute code to a project you need some mechanism to be sure that you code will always be used in a way that is compatible with your principles and goals. There are three such commonly used mechanisms:

- Assuming the version of the license the project is currently using is perfect, and nothing will change in future to make it less so (the Torvalds option).
- Assigning copyright to an entity you trust to share the same goals.
- Insisting on the GPL with the "any later version" option.

I think we can discount the first of these. I'd be happy to follow the second in the case of a GNU project, but I can't think of another project whose leadership I'd trust unequivocably, so it's not a good general rule. In practice the third option means that you trust the FSF to never release a version of the GPL which does not aim to achieve the goals of earlier versions. Call me naive, but I don't think that's an unreasonable assumption, or at least I can't think of an organisation I'd sooner trust.

Note that this line of reasoning does not satisfy many who consider themselves part of the open source movement rather than the free software movement. These people largely consider freedom as merely a means to an end, and where freedom is incompatible with their goals, it's perfectly fine - even laudable - to withdraw it. Linus Torvalds for example is perfectly happy to see his work used in Tivoized derivatives, because he values getting his software into as many products as possible more than the freedom of the users of those products. Therefore for Torvalds the fact that GPLv3 better achieves the goals of GPLv2 is a flaw, not a virtue.

Those who have no ethical objection to dual-licensing, proprietary "value-added" "enterprise editions", "open core", or proprietary software in general should not be taken seriously when they cast their complaints as principled concerns about the "disproportionate advantage" copyleft gives free software over competing products. Damn right copyleft denies those who would use our work in ways we find objectionable the ability to do so. That's what it's for. The argument of Matt Asay and others that copyleft is not necessary because nobody in their right mind would fork a succesful free software project, but copyleft is also ethically outrageous because it denies developers the right to do this very same - inconceivable - thing deserves nothing but derision.

It is pointless to argue about the right way to do things with those in the open source movement who have a fundamentally different and often opposing set of principles. GPLvX "or (at your option) any later version" is the best way of securing the outcomes that we in the free software movement feel are morally right. Developers should demand it of any project they contribute to.

zotz said...


I think the "disproportionate advantage" I spoke to was the one a company would have over me should they require a copyright assignment from me in order to accept my patch into their GPL code so that they could pursue a dual license strategy. This is what lets them play the open-core game & etc.

I think we need to find a way to counter these plays. I think they are brain dead and I also think that open-core plays deny the open source theory. I have posts about that earlier on this same blog.

The Creative Commons licenses seem to try and build in assurances that the character and aims of the later versions cannot change but I think they could do a better job and I also think that it does still come down to trust, trust in intent and ability.

One big problem with copyleft is that you want a strong one... but a strong one precludes mixing otherwise compatible stuff that has a different but equally strong one. I am not sure this can be fixed without a change of law, if at all.

And just for the record, I don't buy into the GPL not needed stuff either. Nor the theory that it is less Free than the non-copyleft Free licenses. If everyone would get on board, the only freedom that would be lacking is the freedom to take away another's freedom.