0

For license on software, users who download the software must abide by the license, usually in something like a LICENSE file. I don't need to ask them to fax me a signed document or anything.

For CLAs, I noticed that it's somewhat common for projects to require you to email/fax them a signed document.

Why can I not just communicate that policy with the CONTRIBUTING.md by saying this?:

By submitting contributions, you agree that you are only submitting contributions that you have authored and you agree to assign copyright of those contributions to [project owner] so they may adjust the license of the project in the future, if needed.

1
2

CLAs are contracts and have to comply with the contract laws in the relevant jurisdictions. Furthermore, contracts that license, transfer, or assign copyrights might have additional rules.

A contract generally requires a meeting of minds: that both parties intend to enter the contract. This can happen implicitly. But if one party later wants to rely on that contract (here: to prove that they actually hold the rights to do what they are doing), it would be great to have that agreement in writing. For example, if the project is run by a startup and the startup is acquired, the new owner will require a due diligence audit that typically requires a meticulous check of all IP.

When it comes to copyright, there is some broad international agreement about how copyright works, but massive differences in the details. For example, a contract like “you agree to assign copyright of those contributions to [project owner]” is not possible in many jurisdictions, especially some civil law jurisdictions where copyright is inalienable other than through expiry. Instead of a transfer or assignment of copyrights, there would have to be a license. But the license may have to be put in writing, and may require consideration in return for the license.

So what if we exclude people from contributing if they can't enter the transfer agreement? Good idea, except that the project owner will want to make sure that any transfer they've gotten is in fact valid. If the contributor signs the agreement, that would be good evidence towards its validity.

Why do open source projects not go through that effort for every contribution? There's a license involved anyway! Yes, but a LICENSE file is a much more obvious place for legally relevant material. In particular, it would not be possible to modify the software without receiving the open source license first, so we already know that any contributor must have accepted the license. And since open source licenses are generally symmetric (they do not advantage the project maintainer more than other contributors), the issue of consideration is less pressing (e.g. US case law recognizes that open source licenses have non-monetary consideration, and German copyright law exempts public gratis license from the mandatory compensation scheme).

So a copyright transfer or license agreement has two important aspects:

  • the recipient must actually receive the necessary rights, ideally in a verifiable way
  • the contributor should document that they actually have the necessary rights to enter such a license or contract

The first of these is for lawyers to sort out, though there are some CLA templates such as Harmony Agreements. To be effective and reliable legal instruments they are much more involved than the short paragraph you propose, and they require explicit acceptance by the contributor.

The other aspect is also relevant for projects that don't want extra rights for the project maintainer, but do want to ensure that all contributions have been made legally. Such projects might require contributors to sign a Developer Certificate of Origin, e.g. the Linux DCO. The level of bureaucracy depends on the risk appetite of the project, e.g. Linux just requires a special notice in Git commits.

1
  • Great answer! Only thing I'll mention as perhaps a partial counter-argument: you said "...open source licenses are generally symmetric...". That may be true, but my understanding is that the license can be quite asymmetric (it can advantage the owner more than anyone else). It can say, for example, that using the code is not permitted at all by anyone except the author. Of course that makes it not "open source", but the point is that the license can be asymmetric. – Greg Schmit Jan 29 at 14:27

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.