Skip to content

Latest commit

 

History

History
95 lines (56 loc) · 6.57 KB

EasyCLA_pre_requisites.md

File metadata and controls

95 lines (56 loc) · 6.57 KB

What is EasyCLA?

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.

What is 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.

How Does it Work?

This high-level diagram shows the different flows and roles that EasyCLA supports:

CLA Diagram

EasyCLA Requirements

Important: Before you get started, make sure your project meets the EasyCLA requirements:

EasyCLA has the following requirements:

  • (Gerrit only) Your project is hosted on the Linux Foundation platform
  • Your project repositories are in GitHub or Gerrit
  • You have a Linux Foundation identification and credentials. If you do not have a Linux Foundation identification (LF ID), go to https://identity.linuxfoundation.org and complete the form to sign up.
  • For Corporate CLAs, your company has a corporate authority role

As a repository administrator, enable Branch Restrictions and Branch Protection for your organizations in GitHub. Set the restrictions and protection to enable required status checks on a branch regardless of the role for the organization.

What Role are You?

How you interact with EasyCLA depends on your role. EasyCLA supports the following roles in its workflow:

Project Manager

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.

As the Project Manager, following are the pre-requisites to get access to EasyCLA:

  1. If you do not have a Linux Foundation identification and credentials, go to https://identity.linuxfoundation.org and complete the form to sign up.
  2. Share your sign-up username with the CLA administration team at docucla@linuxfoundation.org.
  3. Provide sample ICLA and CCLA template documents to the CLA administration team at docucla@linuxfoundation.org.
  4. After the CLA administration team confirms your setup, you can Sign In to the CLA Management Console to do the EasyCLA activities for Project Managers.

Fill out this form to provide information : Pre-requisite form for Project Manager

With EasyCLA, you do the following CLA set-up tasks:

  1. Install the EasyCLA Application.
  2. Add a CLA Group.
  3. Add Contributor License Agreements.
  4. Add GitHub repositories or Gerrit instances to enforce CLA monitoring.

At any time, you can change the settings to manage your project CLA monitoring, and do other management tasks:

Contributor

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 CLA Manager

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.

  1. As the CLA Manager or the CLA signatory, following are the pre-requisites for the CLA tasks after you Sign In to the CLA Corporate Console:

  2. CLA manager: Add a Company to a Project.

  3. CLA signatory: Sign a Corporate CLA on behalf of the company and Review and Sign a Corporate CLA by Request—this signatory has legal authority to sign documents on behalf of the company.

  4. CLA manager: Whitelist Contributors—each whitelist applies to the project for which the company has signed a Corporate CLA.

With this responsibility, you use EasyCLA to:

Corporate CLA Signatory

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: