An Open Source Project's health is often directly related to the number of contributors. You will want to make sure your project has obtained the rights from every contributor. To do that, your project may need to implement a Contributor License Ageement (CLA). John discusses the details around a CLA in this video.
- [Voiceover] If you have an open source project…and you anticipate taking contributions from others,…then it is in your project's best interest…to have a contributor license agreement.…A CLA makes it clear to the contributor and others…the interest he or she is granting to the project,…as well as to all other individuals and entities…that will interact with the software.…The link contained on this slide from Google…is a good example of a contributor license agreement.…Only the Apache license accounts for contributions…with an embedded contributor license agreement.…
The MIT is completely silent on contributions,…and the GPL only addresses contributions…to the extent of a patent grant.…It is absolutely a best practice to implement…an explicit CLA, even in cases where the project…is governed by an Apache license…because an explicit CLA will allow to you add…additional terms and conditions that are…necessary for the context of your project.…The benefit of a CLA is that it documents the provenance…of all code that is contributed to the project,…
This is not a coding course. Rather, it's an exploration of the legal and business aspects of open-source software licensing—including topics such as contributor agreements and patent licenses. The major open-source licenses (GPL, MIT, and Apache) are covered in depth, and John also provides an overview of establishing a business entity for your software project: a key factor in the ongoing success of many open-source communities.
- What is a license?
- What is a software license?
- Understanding the principles of open source
- Exploring the three basic licenses: GPL, MIT, and Apache
- Choosing the right open-source license
- Working with Creative Commons
- Dual licensing
- Granting contributor license agreements
- Establishing a legal business entity for your development project