Background
Note |
---|
Most of the content of this page is superseded but remains for historical purposes. Please see the current Contributor License Agreement page here: Code License Agreement |
First of all, what exactly is a Contributor License Agreement (hereafter referred to as CLA)?
Most of us that have been employed as Software Engineers by corporations are already intimately familiar with CLAs although in the corporate world they are generally called a“Intellectual Property Assignment Agreement”. In many ways a CLA is nothing more than that but specifically geared towards Open Source projects.
A CLA is a legal document in which you state you are entitled to contribute the code/documentation/translation to FreePBX and are willing to have it used in distributions and derivative works. This means that should there be any kind of legal issue in the future as to the origins and ownership of any particular piece of code, then FreePBX has the necessary forms on file from the contributor(s) saying they were permitted to make this contribution.
The CLA also ensures that once you have provided a contribution, you cannot try to withdraw permission for its use at a later date. People and companies can therefore use that software, confident that they will not be asked to stop using pieces of the code at a later date.
Why
To contribute to the FreePBX project you completely fill out and send in a code submission agreement form. This page was created to maintain a simple way to explain to end users the need for Code License Agreements and why they are so important. It is key to note that the FreePBX project is not the first to do this and certainly will not be the last. Contributor License Agreements (CLAs) can be used to enable vendors to easily pursue legal resolution in the case of copyright disputes or to relicense products from which contributions have been received from third parties.
The purpose of a CLA is to ensure that the guardian of a project's outputs has the necessary ownership or grants of rights over all contributions to allow them to distribute under the chosen license. In the case of FreePBX this means that, you, the contributor will assign the copyright in all contributions to the project owner, which is Sangoma Technologies Corp. (who bought the previous company and FreePBX owner Schmoozecom Inc. in 2015).
Even the Free Software Foundation (the creators of the GPL license used within FreePBX) require you to sign a CLA to submit code back to the project. See for yourself: http://www.gnu.org/licenses/why-assign.en.html
Where
You must completely fill out the address portion with an address. Please don't submit the document without that filled out.
If you would like to contribute to FreePBX and are willing to sign the document then you will be able to find it here for download. - [pdf link removed, no longer accepting applications by email]
But Foo Project Does Not Require an Agreement!
Just because other projects do not require a CLA does not mean every project besides FreePBX does not require a CLA. In no particular order here is a list of some famous and well known companies that also require a code submission agreement to contribute to their source code.
Google
Openstack
Oracle
Digium
Apache Software Foundation
Bacula, Canonical Ltd
Chef
Diaspora
Digia/Qt Project
Discourse
Django
Dojo Toolkit
Eclipse
Free Software Foundation
Go
JBoss Netty
Joomla
jQuery
Meteor
Node.js
OpenMediaVault
OpenStack
Zend for Zend Framework
Our agreement is very similar to agreements you'd have to fill out if you want to make patches or submit code to any of the companies or projects above.
Appendix
Sections Attributed to:
If you'd like to see some examples of other legal language for Contributor License Agreements then you can certainly checkout these two: