I'm a developer that's making open-source projects, this ranges from little Java libraries to my personal websites. In the future, I'm hoping this will include games.

Generally my libraries are under the Apache 2.0 license, while websites / applications are under the GPL/AGPL 3 license.

I've been reading into copyright and licensing recently and have learned that all contributors retain copyright of the contributions, and that if I hypothetically wanted to change license later I would need all copyright holders (contributors) consent to do so.

I generally don't have problems with this, but I've been thinking it could be nice if people wanted to voluntarily hand over copyright for their code they should be able to do so. It could reduce future headache should I ever want to change license, or update to a later version of the existing license.

Is it normal or at least appropriate to make an optional CLA, where anyone can commit, but they can optionally sign the CLA and send it in which may reduce the number of "owners" and require less copyright holders to consent (or have to remove contributions) from should I ever desire to change/update license of the project?

This seems optimal to me as it grants contributors the choice to hand over copyright while not obligating them too just to support the project, but I've failed to see such a thing done on another project which has concerned me.

Edit: I apologize for my ignorance, I also see now that a CLA does not pass copyright, but rather acts as a non-exclusive copyright license. However, I think this question is still valid, just correcting this statement.

  • Note that a CLA doesn't transfer copyright, it usually gives relicensing rights (and sometimes other rights also) to the recipient. If you want full transfer of ownership, that's a CTA.
    – MadHatter
    Jul 29 '19 at 14:50

Having an optional CLA is definitely not common, but I also don't see why it might be considered inappropriate. I think the main reasons why it isn't seen are more of a practical nature.

By having a CLA that is optional to sign, you get the administrative burden of keeping track who signed the CLA, but you don't get the benefits of the CLA because when you want to exercise the rights granted there, you still need to track down and contact the (potentially large number of) contributors that didn't sign the CLA.

The main use case for a CLA is to support the situation where a software product is offered both with an open-source license and with a commercial closed-source license and the organisation maintaining the product wants to be able to include open-source contributions also in the closed-source offering.

License changes are very rare, especially if you carefully considered your initial license choice, and most licenses are already prepared for a license upgrade without needing explicit consent from the contributors at the time that the upgrade takes place. For example, the standard license indication for the GPL reads (emphasis mine)

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 bold portion gives anyone permission to use the code under GPLv4, whenever that new version of the GPL appears, because all contributors have already agreed with such a license upgrade.

  • I see, so if I'm understanding you're saying there is certainly nothing wrong with it. But it may not prove practical as I'll have to manage this list (as well as store personal information) for a rights I'm not even sure I need or want, and would still need to get explicit consent from most people anyways that won't sign it voluntarily?
    – Seth Falco
    Jul 29 '19 at 10:36
  • Could one still argue it is still worth it in order to reduce total copyright holders to require concent in such an event while not mandating that contributors must give rights or copyright? While I can appreciate your point regarding practicality very well, I also do see it as something that can save hassle to, not just create it?
    – Seth Falco
    Jul 29 '19 at 10:40
  • 1
    @Seth: I regard it as impractical, but not otherwise wrong. You are free to look differently on the practicality. Just remember that a CLA is a legal document (a contract) and that you have to comply with various data protection regulations (for example the GDPR if you or a contributor who signed the CLA is based in Europe). Much of it probably also depends on what percentage of contributors you expect will sign the CLA. Jul 29 '19 at 10:47

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.