9

In another thread I started (Redhat buys Ansible), I am trying to figure out the economic value of a company transaction with respect to GPL'ed software. A few of the answers suggest that the owners themselves are not bound by the license. While they couldn't revoke the license for existing code, they could put the exact same code under a commercial license and, for example, just selectively publish new code under the GPL, if at all.

This is different from the understanding I previously had. I always figured that GPL'ed code belongs to the masses, the community, and that everyone is bound by the same rules. So I want to make sure that I understand this right:

  1. Putting software under the GPL does not mean abandoning ownership?
  2. What constitutes ownership? Is it the copyright?
  3. The owner is not bound by the GPL, e.g. he could change or improve the code without having to share the changes back to the community?
  4. What about community contributions? Whom do they belong to? If not clearly defined, what options do exist?

I might not even have got all the important aspects but these would be enough to thoroughly change my perception.

21
  1. Putting software under the GPL does not mean abandoning ownership?

Absolutely not. In nations signatory to the Berne Convention, copyright is the default, which means by default only the author (or current copyright holder, if the original author transfers the copyright) may reproduce the work, prepare derivative works, etc.

The author of a work may use a license to permit other people to use the work in specific ways, subject to author-defined license-specific rules. Allowing other people to use the work via a license in no way lessens the author's copyright -- on the contrary, the author's copyright is what makes the license possible and necessary.

It is important to note that any recipient of a GPL-licensed work can distribute and modify it. Thus, even if the author stops distributing a GPL-licensed work, the author cannot rescind the rights previously granted to existing recipients. (This claim is somewhat debated for GPLv2, and may vary by jurisdiction, but is made explicit in GPLv3.) In that sense, releasing a work under the GPL means abandoning the ability to restrict its distribution and modification under the terms of the GPL, but this is tremendously different from abandoning ownership.

  1. What constitutes ownership? Is it the copyright?

Yes, copyright is a kind of "ownership," in the metaphorical mapping of intellectual property rights onto physical property rights. That is, the copyright holder of a work has certain exclusive rights to a work. Those rights can be granted to other people in limited ways (or unlimited ways, if you're feeling generous), but ultimately the grant of those rights comes from the legal reality that those rights fundamentally belong to the copyright holder and are licensed as the copyright holder pleases.

  1. The owner is not bound by the GPL, e.g. he could change or improve the code without having to share the changes back to the community?

Absolutely. The copyright holder is never beholden to the rules of the holder's own license grant! The copyright holder's rights stem from copyright law, not from a license grant. The copyright holder can legally prepare a derivative of her own work based on her rights under copyright.

Other people can prepare derivative works of someone else's copyrighted work only insofar as that right has licensed to them. In the case of the GPL, that means that others' derivative works must be GPL-licensed. The copyright holder need not follow this rule, since they they do not derive their rights from the GPL license grant. Rather, they are the original source of the rights being licensed.

  1. What about community contributions? Whom do they belong to? If not clearly defined, what options do exist?

Contributions are creative works created by their respective authors, and the author of a contribution holds the copyright to that contribution. If a project includes copyrighted work from multiple contributors, then licensing the project requires consent from all copyright holders. In professional open-source project, this is usually handled at contribution-time by making the contributor agree to either

  • a contributor licensing agreement (CLA) that grants the project owner the unlimited (or sometimes limited) right to re-license the contribution in the future to another license
  • a copyright transfer agreement (CTA) that ensures the project only has one copyright holder, by causing the contributor to transfer the copyright of her contribution to the project owner

If the project includes work held by another copyright holder who refuses to re-license and has not previously agreed to a re-licensing agreement, the project may choose to remove or rewrite the portions written by other people.

If someone takes your GPL-licensed project and distributes a fork with their own changes without interacting with you (which they can do as long as their changes are under a GPL-compatible license), then you are free to incorporate their changes in your own project. However, if you do so, then you are no longer the sole author of the work, and you must abide by the other author's license as long as you use the material they wrote.

  • 1
    Thanks, great answer. I may not have been clear about question 4. I meant: since we say that the owner can do with his code as he pleases, what about contributions that were fully incorporated into the code and later built-upon? Concretely, how do dual licens projects avoid that the commercial code base gets worse because it cannot profit from GPL code? Or maybe I misunderstand something. – vic Nov 12 '15 at 20:27
  • @vic Edited to address your question as you originally intended it. – apsillers Nov 12 '15 at 20:34
  • Great, thanks. I assume that large dual license projects would rather use a CTA than a CLA? And I further assume that unless the copyright owner is in fact the providing most of the improvements in the long term, this is where it would come to a fork (with different copyright rules for new code)? Which brings me to another question: a fork, no matter how much better it has become than the original, can never again be put under another license and thus could not be closed because it's a derivative of a GPL app. Right? – vic Nov 12 '15 at 20:49
  • 1
    @vic The only difference between the capabilities of a CLA and CTA is that actual copyright ownership is required to take legal enforcement action. All other rights (other than the right to take legal action) can be communicated by a CLA. Regarding your fork question: so long as copyright law recognizes the fork as a derivative of the original (which it may do even when no original code remains), the fork must follow the rules of whatever license it derives its right to exist (so if the original project is GPL-licensed, it must follow the GPL). – apsillers Nov 12 '15 at 21:39
  • 1
    Thank you once more, I really learned something here. If I could, I would upvote your answer even further. – vic Nov 12 '15 at 21:44
1

When you violate a license, somebody must sue you first, otherwise nothing happens. Who could sue you if you are the only owner of the code?

This is the reason why organizations like FSF require to assign the ownership of the contributed code to them. Otherwise they cannot enforce the license.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.