EasyCLA helps maintainers of open source projects streamline their workflows and reduce the hassle of managing Contributor License Agreements (CLAs) and authorizing contributors. By automating many of the manual processes, this open source solution hosted by the Linux Foundation reduces delays for developers to get authorized under a CLA.
A Contributor License Agreement (CLA) defines the terms under which intellectual property is contributed to a company or project. Typically, the intellectual property is software under an open source license. EasyCLA helps to ensure that contributions are not pulled into a project unless a CLA covering the contributor has been signed. CLAs typically fall into one of two categories:
Corporate Contributor License Agreement
If the company (employer) owns the contribution, a CCLA signatory signs a Corporate CLA. The Corporate CLA legally binds the corporation, so the agreement must be signed by a person with authority to enter into legal contracts on behalf of the corporation. A Corporate CLA may not remove the need for every employee (developer) to sign their own Individual CLA -- which separately covers contributions owned by the individual contributor -- if the project requires this.
Individual Contributor License Agreement
If as an individual you own the contribution, you sign the Individual CLA. A signed Individual CLA may be required before an individual's contribution can be merged into the project repository.
This high-level diagram shows the different flows and roles that EasyCLA supports:
How you interact with EasyCLA depends on your role. EasyCLA supports the following roles in its workflow:
You are a project manager if you are the project maintainer who has responsibilities such as managing a project’s GitHub organization or Gerrit instance, members, repositories, and CLAs. You have access to specific projects within the EasyCLA project console.
With EasyCLA, you do the following CLA set-up tasks:
At any time, you can change the settings to manage your project CLA monitoring, and do other management tasks:
You are a contributor (developer) if you contribute code to GitHub or Gerrit projects. With EasyCLA, you will follow different workflows depending on whether the project is hosted on GitHub or Gerrit, and whether you contribute on behalf of a company or yourself as an individual:
Corporate Contributor (GitHub): confirm your association with a company that has a signed Corporate Contributor License Agreement.
Individual Contributor (GitHub): sign an Individual Contributor License Agreement.
Corporate Contributor (Gerrit): confirm your association with a company that has a signed Corporate Contributor License Agreement.
Individual Contributor (Gerrit): sign an Individual Contributor License Agreement.
You are a Corporate CLA manager (CCLA manager) if you are the person authorized to manage the list of approved contributors under your company’s Corporate CLA. There can be one or more CLA managers for a company. With this responsibility, you use EasyCLA to:
You are a Corporate CLA signatory (CCLA signatory) if you are authorized to sign contracts, such as the project’s CLA, on behalf of the company. With EasyCLA, you can:
Sign a Corporate CLA on behalf of the company—as a signatory you must have legal authority to sign documents on behalf of the company.
You are a Corporate CLA Manager Designee (CCLA manager designee) if there are no existing CLA managers for a company, and you are the first person to sign a CLA for a project on behalf of the company.
You become a CLA manager designee when you, as a corporate contributor, tries to contribute to a project, and finds that there is no CLA signed between your company and the project you are contributing to. Then, you sign a CLA process where you become the CLA manager designee and this role is eventually converted to CLA manager after signing is completed. With EasyCLA, you can: