18

If somebody starts an open source project (for example with a GPL license) where people will make contributions, than who will own these contributions in the level of the whole project? Will the new code become the property of the original author or the contributors will be authors too?

Who has the right over the ongoing project? For example who has the power to release the code in a second license? The original author only? Can the contributors separately do that as well, or do they have to make a joint decision with the original author and all of the contributors?

2
  • 4
    Sounds like a good question... For your lawyer.
    – edalorzo
    Mar 29, 2014 at 13:57
  • 1
    Check out what Open Street Map had to do to change license. They had to get pemission from every contributor for the change or if they couldn't, drop that contributors map data. It literally took years.
    – James
    Mar 29, 2014 at 18:21

4 Answers 4

19

Each author retains copyright to their code. If the project is under the GPL, contributing the code requires that the code is licensed under the GPL. If you want to do something else with the code like releasing it in a different license, you'd need the permission of the original author.

For many projects, the project owner requires contributors to assign copyright to contributed code to the project owner. This makes it possible to, for example, release GPL projects under new versions of the GPL license as those are released since it quickly becomes impractical to chase down hundreds of individual contributors in these cases.

1
  • 10
    ... or their estates and heirs in some situations.
    – user40980
    Mar 29, 2014 at 3:24
12

The copyright holder. By default, that's the author of the code in question (each individual author if there are many). Copyright can be assigned to someone else, and some open source projects do require copyright assignment as a condition of contributing.

3
  • +1: This is the key point. The original author owns all the rights unless or until they assign rights (or the copyright itself) to others. Nobody can take your rights, you have to give them away.
    – david.pfx
    Mar 29, 2014 at 4:14
  • Note that the concept of "copyright" and specifically that of "assignment" or transfer of copyright is specific to some jurisdictions (I believe it is related to "Common law"). For example, in Germany you cannot completely transfer your rights as an author, as they are considered personal, inalienable rights. Of course, you can transfer most rights, so the result is mostly the same, but the concepts (and details) are still different.
    – sleske
    Sep 23, 2015 at 12:14
  • Specifically, under German law the "Urheberrecht" ("right of authorship") is not transferable (§29 UrhG). You can however grant exclusive rights to use the work you created, which is almost the same. One critical difference being that under certain conditions the original author can withdraw the grant of rights - while copyright assignment is permanent.
    – sleske
    Sep 23, 2015 at 12:26
8

Everybody holds the copyright to the code they write. Which means by default the original author is the only person who can grant a license for that code.

As open source project typically have many authors it is not feasible to track down all authors and get them to agree every time a licensing change needs to be made. To avoid this problem some open source projects are licensed under a license which allows the use of the code under any later version of that license. This way you get the authors to agree to future versions of the license which are not yet available. Usually the license authors promise to make those later versions similar in spirit to the original license, e.g. in the GNU General Public License:

The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

The other way to tackle this problem is to have authors agree to transfer their copyright to somebody else, e.g. the project owner. This person is then entitled to decide whether to license the project und a new license. The downside of this approach is that project owners are people and might not act in the spirit of the original author. This also makes it harder for forks to switch to a newer license as the original project owner is likely not part of the fork and the fork owner will not have the copyright of the original code authors.

Lastly, when you are a really big entity you might petition the license authors into making changes to the license. This is how Wikimedia managed to switch from a GFDL-only licensing to dual licensing with CC-by-sa: They petitioned the FSF to publish a newer version of the GFDL which included a section to enable projects to switch their content to CC-by-sa for a limited time.

As you can see, licensing is always a hassle and it's not clear what the best course of action is. Usually you should invest a bit of time into finding the right license for the project before you have other people contribute as changing the license later on is usually quite hard.

0

Note that the answer depends in large part on the terms under which the open-source project accepts your code.

Most will, at the very least, have a statement saying that by contributing it you have granted the project rights to use, distribute, etc. your contribution, and granted all the project's users rights to look at and execute your code. That doesn't negate your copyright, but it means you have irrevocably agreed to license it for use in that project.

Depending on the terms under which the project is then distributed and the details of the license you have agreed to, that may or may not give everyone else with access to the project rights to use your code in other contexts.

It's your responsibility to read and understand these details before you contribute code. If in doubt, you can ask the folks running the project to explain what they intended their licenses to say, but remember that free legal advice -- including everything you're seeing in response to your question -- is worth exactly what you paid for it.

If this really matters to you, get the exact language and hire your own lawyer to examine it for pitfalls. Or don't contribute code you aren't willing to see escape into general use. Or get someone else to do that research for you -- my employer has fairly specific rules about what kinds of open source I am and am not allowed to get involved with.

1
  • In most open-source projects, the "terms under which the open-source project accepts your code" are simply the project's license (GPL, BSD etc.). Some projects have additional requirements (such as copyright assignment), but that is not the norm.
    – sleske
    Sep 23, 2015 at 12:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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