A Contributor License Agreement (CLA) defines the terms under which intellectual property has been contributed to a company/project, typically software under an open source license. Rationale CLAs can be used to enable vendors to easily pursue legal resolution in the case of copyright disputes, or to relicense products to which contributions have been received from third parties. CLAs are important especially for corporate open source projects under a copyleft license, since without a CLA the contribution would restrict the guardian as well. 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, often by granting an irrevocable license to allow the project maintainer to use the contribution; if copyright is actually transferred, the agreement is more normally known as a Copyright Transfer Agreement. CLAs also have roles in raising awareness of IPR issues within a project. Relicensing controversy When a CLA requires a contributor to assign unrestricted republishing rights to the project, contributed code can be relicensed at the discretion of the project, even when the CLA does not assign copyright to the project. Prominent open source advocates regard CLAs as dangerous to open source rights. Examples In 2019 MongoDB used these rights granted by its CLA to achieve a move to a non-open-source license. In January 2021, the Elasticsearch project used such rights to move the project to a non-open-source license. Drew DeVault, a lead developer with a number of open source projects such as sway, regards this move as a loophole. Both these projects were licensed under a copyleft license, which uses copyright to protect contributions, yet the CLA negates the usefulness of copyright in achieving this protection: Elasticsearch belongs to its 1,573 contributors, who retain their copyright, and granted Elastic a license to distribute their work without restriction. This is the loophole which Elastic exploited when they decided that Elasticsearch would no longer be open source [...] CLAs which restrict relicensing Project Harmony Project Harmony was established by Canonical in 2010 to optionally avoid the problems discussed above. It provides a CLA template-builder. Based on choices made, the CLA will allow the contributor to keep copyright and assign rights to the project (as above) but with various restrictions on relicensing: using the template requires choosing one of the mutually-exclusive options, which range