Contributor License Agreement
A Contributor License Agreement (CLA) defines the terms under which intellectual property has been contributed to a project, typically software under an Open Source license.
In practice, the use of a CLA in Open Source projects is to make contributors sign over rights to their contribution to the party which with the agreement is made. Typically, that is a company or organization that owns and runs the project in question.
Projects want those signed over rights so that they can do what they please with the code, even when it contains contributions from random contributors. This often includes making special versions of the software under a different license. Normally, such re-licensing of code requires that all copyright owners agree to it. However, enforcing CLA ensures that you own everything or have the signed-over rights, removing such obstacles from doing so.
For the individual contributor, a CLA is a often considered a red flag:
- Signing over rights to someone requires you to trust that entity to do the right thing with your contributions in the future.
- It adds friction and complications since your contributions will not be accepted before paperwork and legalities have been handled successfully.
- It makes the product unequal in the sense that contributors to the project cannot do the same things with it as the entity can that collects the CLAs. It will be considered unfair and imbalanced to some.