Contributor License Agreements (CLA)
5 exercises — Understand the English vocabulary of CLAs, DCOs, ICLA vs. CCLA, copyright assignment, and what you're agreeing to before you sign.
0 / 5 completed
1 / 5
A developer asks: "Why does this open source project make me sign a CLA before merging my PR?" Which answer is most accurate?
CLAs exist to give maintainers legal clarity about the rights they receive to contributions — enabling them to relicense, enforce patents, and offer commercial licenses.
Why projects need CLAs:
• Without a CLA: maintainer has an implied license to the contribution, but unclear scope
• With a CLA: maintainer has explicit, documented rights to the contribution
What a typical CLA grants:
• A broad license to use, reproduce, modify, and distribute the contribution
• A patent license for any patents the contributor holds that are embodied in the contribution
• Permission to sublicense (grant the same rights to others)
• Sometimes: the right to relicense the code under a different license
CLA vs. copyright assignment:
• CLA: contributor retains copyright, grants a broad license to the project
• Copyright assignment CLA: contributor transfers copyright ownership to the project
• Apache Foundation uses CLAs (retain copyright); some projects require full assignment
Developer Certificate of Origin (DCO) — a lighter alternative:
• Used by Linux kernel, Git, and many projects
• Contributor signs off each commit with
• Certifies they have the right to contribute, but grants a minimal license
• No separate agreement needed — just a commit trailer
Key vocabulary:
• CLA (Contributor License Agreement) — a legal agreement defining the rights a contributor grants to a project
• Copyright assignment — a CLA type where the contributor transfers copyright ownership
• DCO (Developer Certificate of Origin) — a lightweight alternative to CLAs, affirmed per commit
• Patent license — permission to use any patents the contributor holds that cover the contribution
Why projects need CLAs:
• Without a CLA: maintainer has an implied license to the contribution, but unclear scope
• With a CLA: maintainer has explicit, documented rights to the contribution
What a typical CLA grants:
• A broad license to use, reproduce, modify, and distribute the contribution
• A patent license for any patents the contributor holds that are embodied in the contribution
• Permission to sublicense (grant the same rights to others)
• Sometimes: the right to relicense the code under a different license
CLA vs. copyright assignment:
• CLA: contributor retains copyright, grants a broad license to the project
• Copyright assignment CLA: contributor transfers copyright ownership to the project
• Apache Foundation uses CLAs (retain copyright); some projects require full assignment
Developer Certificate of Origin (DCO) — a lighter alternative:
• Used by Linux kernel, Git, and many projects
• Contributor signs off each commit with
Signed-off-by:• Certifies they have the right to contribute, but grants a minimal license
• No separate agreement needed — just a commit trailer
Key vocabulary:
• CLA (Contributor License Agreement) — a legal agreement defining the rights a contributor grants to a project
• Copyright assignment — a CLA type where the contributor transfers copyright ownership
• DCO (Developer Certificate of Origin) — a lightweight alternative to CLAs, affirmed per commit
• Patent license — permission to use any patents the contributor holds that cover the contribution