Developer Certificate of Origin vs Contributor License Agreement¶
This page is about implementing a DCO or CLA for CERN projects.
For when you are asked to sign a CLA or DCO while contributing to other projects, please see Signing a CLA or DCO.
Accepting external contributions to your open-source project means dealing with some legal matters.
In particular, external contributors must explicitly agree that:
- They license their contribution under the same terms as the project;
- They have the right to license their contribution under those terms.
In order to encourage external contributions, it is important to lower the legal barriers as much as possible without legally exposing the organization.
There are two main ways of accepting external contributions:
- Developer Certificate of Origin (DCO) - the recommended method for CERN projects;
- Contributor License Agreement (CLA).
Note that the choice of DCO or CLA may affect any re-licensing procedure.
Recommended method: Developer Certificate of Origin (DCO)¶
DCO is a lightweight method for contributors to certify they agree with the above terms, and is typically signed the first time a merge/pull request is opened. DCO is the recommended method for accepting external contributions to CERN projects.
Some suggestions on DCOs and their use can be found here.
Contributor License Agreement (CLA)¶
A CLA is a contract that clarifies the terms and conditions under which people contribute to a project.
Individuals contributing on behalf of their company/institution will have to obtain permission to sign a CLA.
A CLA can include Copyright (©) transfer: in that case, contributors agree to transfer the © to CERN. This generally eases the life of project managers (eg in case of re-licensing).