I sometimes see open source projects that want to switch their licenses to a more permissive one. If original author of a project or community around it want to switch license then they must ask all contributors for a permission to do so. For example this happens with GPL to Apache 2 conversions.

In text of Apache 2 license and Github terms of servise there is note that contributions can be under different conditions than project. As I am aware this is used in various CLA's, but requirements to sign a CLA is not a warm welcome for developers. Can contributions be simply licensed under more permissive licence instead of using CLA, just by making note in comment that this PR is under MIT?

Example: Author published library under LGPLv3. In every pull request contributors agree that their contribution is under MIT license. Author can later relicence code under MIT license without asking contributors for permission.

1 Answer 1


Yes, this works... so long as you know exactly which license you might want to re-license your project to in the future before you accept the very first contribution from somebody. Taking your example, while the author could re-license the project under the MIT license, they couldn't re-license it under the BSD license. The point of a CLA is that it allows re-licensing under any license, even one which hasn't been written at the time the CLA comes into effect (see Redis etc).

I would also personally find it somewhat strange for the author of some code to be asking for contributions to be made under a different license. Either you think that license is right for the code, or you don't - and if you don't, just relicense it now. Unless there's a very good justification for it and/or the author has a very good reputation, I'd regard this kind of licensing situation as a red flag for contributing to a project.

Your Answer

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

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