Contributor License Agreement that Phacility requires every contributor to sign, before they can contribute code to the Apache license software Phabricator (so that some years later, they are allowed to change the license type without asking for permissions of original contributors, e.g. change from Apache to GPL license).
Before we can accept your contributions to Phabricator or other software maintained by Phacility, you need to sign this Contributor License Agreement.
This agreement is for individuals. If you are contributing on behalf of a corporation (for example, your employer), the company can sign the Phacility Corporate Contributor License Agreement instead.
This agreement protects Phacility and users of Phabricator by making sure we can distribute your contributions under an open source license. This agreement is substantially similar to the Apache Foundation Individual Contributor License Agreement.
To understand this CLA in more detail, learn about why we require it, and read more discussion of individual and corporate CLAs, see Understanding the Phacility CLA in the documentation.
Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to Phacility and to recipients of software distributed by Phacility a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.
Grant of Patent License. Subject to the terms and conditions of this Agreement, You hereby grant to Phacility and to recipients of software distributed by Phacility a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that your Contribution, or the Work to which you have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.
They explained the reasons:
While many projects require a CLA, others do not. This project requires a CLA primarily because:
- it gives us certain rights, particularly the ability to relicense the work later;
- it makes the terms of your contribution clear, protecting us from liability related to copyright and patent disputes.
More Rights: We consider the cost of maintaining changes to greatly outweigh the cost of writing them in the first place. When we accept work into the upstream, we are agreeing to bear that maintenance cost.
This cost is not worthwhile to us unless the changes come with no strings attached. Among other concerns, we would be unable to redistribute Phabricator under a different license in the future without the additional rights the CLA gives us.
The rights you give us by signing the CLA allow us to release the software under a different license later without asking you for permission, including a license you may not agree with.
They do not allow us to undo the existing release under the Apache license, but allow us to make an additional release under a different license, or release under multiple licenses (if we do, users may choose which license or licenses they wish to use the software under). It would also allow us to discontinue updating the release under the Apache license.
While we do not currently plan to relicense Phabricator, we do not want to give up the ability to do so: we may want or need to in the future.