Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
If you are having issues with EasyCLA, go to The Linux Foundation Support Center, and file a ticket.
Following sections help you troubleshoot common problems that you might encounter when using EasyCLA tool.
I have an agreement on file, but EasyCLA does not authorize me and displays "Missing ID on Commit".
If your commits are linked to your GitHub account, and yet the GitHub pull request is not passing the EasyCLA check, then open the pull request, type/easycla
in the comment box, click Comment as shown below. This runs the EasyCLA bot again, and the GitHub pull request is passed.
Contributor's commits are linked to GitHub account, however, they are still having trouble contributing to EasyCLA-enforced repositories.
If your CLA Manager has approved your company email address or email domain, ensure that your company email is verified in your GitHub account settings and make sure your GitHub email address is public.
Or
If your CLA Manager has approved your GitHub Organization, ensure that you have made that membership public.
Contributor's commits are linked to Gerrit account, however, they are still having trouble contributing to EasyCLA-enforced repositories.
Ensure that your Gerrit email address is added to the approved list, and you must log in to Gerrit instance of your project using the same email address that is added to the approved list.
After a Contributor has signed an ICLA, EasyCLA status is not updated on contributor console.
It may take a few moments for the status of the EasyCLA checks to update. Please wait a few moments and then refresh the page. **** If the EasyCLA status is still not updated, open the pull request, and comment /easycla
in the comment section as shown below. This comment runs the bot again. If the status still does not change, open a support ticket.
After a Contributor has signed an ICLA, EasyCLA status on Git command line still displays "No contributor agreement" when the contributor pushes the code change.
For a CCLA, after a Contributor has been added to the approved list for the first time, the CLA status still displays Not Covered.
After being added to the approved list under their company's signed CCLA, the Contributor must acknowledge their association with the company. This is a one-time action and, after completion, it will not be required for future contributions to that project.
Although it is uncommon, some projects may require a Contributor under a CCLA to additionally sign an ICLA. If this is required, then after completing the company acknowledgement, the Contributor will be guided to sign the project's ICLA.
For a CCLA, after a contributor has been added to the approved list for the first time, the CLA status on Git command line still displays No contributor agreement when you push the code change.
Navigate to the Gerrit window, sign out, sign in again, and then push the code.
In the “Checks” section of the pull request, EasyCLA status is showing as “Expected”.
Open the pull request, and comment /easycla
in the comment section as shown in the image below. This comment runs the bot again. If the status still does not change, open a support ticket.
After signing an ICLA or verifying under a CCLA, the status does not change to “Authorized” for multiple open pull requests.
Open one pull request, and comment /easycla
in the comment section as shown in the image below. This comment runs the bot again. If the status still does not change, open a support ticket.
After hosting my project on The Linux Foundation, I can not use EasyCLA for my project.
Open https://jira.linuxfoundation.org/plugins/servlet/theme/portal/4/create/143, submit the form describing your requirements, and import your existing CLAs.
When I am trying to contribute code under a CCLA, my company is not displayed in the list.
You must create a record for your company as described here.
I have signed an ICLA, however I cannot view the signed ICLA.
Open your email, that you have provided while signing the ICLA, to check the signed ICLA that is sent from The Linux Foundation. If you have not received the email, you can open a support ticket to have it resent.
\
Ensure that your commits are linked to your GitHub account. If your commits are not linked to any GitHub user, GitHub will display the grey Octocat logo beside the commits.
Navigate to the Gerrit window, sign out, sign in again, and then push the code.
This document provides a detail description of LFX EasyCLA application, and how to use the application based on your access role.
To get started with the application, see the Getting Started page, and for any troubleshooting related information, see the Troubleshooting page.
For a project to use EasyCLA, it must meet the following requirements:
EasyCLA only supports for the projects that are hosted in the Linux Foundation.
It does not support the projects or repositories that are hosted outside the Linux Foundation.
The project repositories are in GitHub or Gerrit or GitLab
If the project uses Gerrit source control, the Gerrit instance should be hosted on The Linux Foundation platform.
The repository administrator should enable Branch Restrictions and Branch Protection for the repository in GitHub or GitLab. The restrictions and protection should be set to enable required status checks on a branch regardless of the role for the organization.
For a CLA Manager to access EasyCLA, they must register an LF Single Sign-On (SSO) account. If you do not have an LF SSO account, you can read how to create an account here.
For a company to sign a project's CCLA, they must identify the appropriate company employees who will be the CLA Manager and CLA Signatory for that CCLA.
Project Managers are the project administrators or maintainers of the project. They set up a project on EasyCLA, and manage configuration details, such as the GitHub organization or Gerrit instance or GitLab groups, and associated repositories. The Project Manager uses the Project Control Center for these actions.
As a Project Manager, you can perform the following activities:
Add and manage GitHub organization or Gerrit organization or GitLab Groups
Additionally, you can view and manage CLA details, GitHub, Gerrit, and GitLab organizations and repositories:
For EasyCLA integrated GitHub organizations and repositories, EasyCLA sends email notification to project managers regarding any changes to the repositories. EasyCLA takes the following actions for different events:
Repository Renamed: EasyCLA updates GitHub repository table entry to match the new GitHub repository name, and notifies the project manager.
Repository Archived: EasyCLA takes no action, however notifies the project manager that the repository is archived.
Repository Deleted: EasyCLA disables the repository, and notifies the project manager.
Repository Moved to a Different Organization:
If an EasyCLA enabled repository is moved from one organization to another within the same CLA Group, EasyCLA simply notifies the project manager about the action.
If a repository is moved from one organization to another where EasyCLA is not configured or the CLA Group is different, EasyCLA disables the repository, and notifies the project manager.
How you interact with EasyCLA depends on your role. EasyCLA supports the following roles in its workflow:
When a CCLA is first being signed, the Contributor, CLA Manager, and CLA Signatory all might be the same person--or they might be different people. Each contributing company will determine for themselves which employees have these roles. Read below to understand these roles so that you can discuss with your company's management and legal counsel about who should be designated for each.
A Project Manager is someone (typically project administrator or maintainer of the project) who is responsible for setting up the project's CLA templates and configuring the corresponding repositories in the EasyCLA Project Console (also called Project Control Center). For more details, see Project Managers.
A Contributor is someone (typically a developer) who contributes code to a GitHub or Gerrit project that is set up on EasyCLA.
The specific workflow that a contributor follows will depend on:
whether the project is hosted on GitHub or Gerrit; and
whether they are contributing on behalf of themselves or a company (typically their employer).
After submitting a contribution on GitHub or Gerrit, if a Contributor has not yet been authorized under a signed CLA, then their contribution will be initially blocked. They will use the EasyCLA Contributor Console to either:
sign an ICLA (if contributing on their own behalf); or
identify the company on whose behalf they are contributing, so that they can either be authorized under a signed CCLA or else start the CCLA signing process.
A CLA Manager is someone who is authorized by a company to manage the list of authorized Contributors, and other CLA Managers, under that company’s CCLA for a project.
A CLA Manager uses the EasyCLA Corporate Console to:
When a CCLA is first being set up for signature, it will specify an "Initial CLA Manager". This person uses the EasyCLA Corporate Console to coordinate the signing of the CLA (see CLA Signatory below).
After the CCLA is fully signed, then the specified Initial CLA Manager will be able to use the EasyCLA Corporate Console to manage the list of authorized Contributors. They can also designate additional CLA Managers.
By default, a CLA Manager is not automatically an authorized Contributor themselves, unless they add themselves to the authorized Contributor list.
A CLA Signatory is someone who has been authorized by their company to sign a CCLA on its behalf.
If a company's CLA Signatory is the same as their Initial CLA Manager, then they will be redirected to sign the CCLA via the EasyCLA Corporate Console. If the CLA Signatory is a different person from the Initial CLA Manager, then the CLA Signatory will receive an email to review and sign the CCLA.
If you are authorized and receive an email request to sign contracts, then review and sign the project’s CLA on behalf of the company.
Who do I contact to enable my Linux Foundation-hosted project to use EasyCLA?
Open https://jira.linuxfoundation.org/plugins/servlet/theme/portal/4/create/143, submit the form describing your requirements, and import your existing CLAs.
Why does The Linux Foundation ask contributors of some projects to sign CLAs?
Some project communities have elected to use CLAs as a required step for code contributions. The Linux Foundation wants to ensure that contributions comply with the IP (Intellectual Property) policies of that project.
What is the difference between a Corporate CLA (CCLA) and an Individual CLA (ICLA)?
A Corporate CLA needs to be in place if you are contributing code on behalf of your employer. A Corporate CLA should be signed by an individual who is authorized to enter into legal agreement on behalf of the company. After the Corporate CLA is signed, your email address needs to be included in an approved list for the project. A CCLA manager for your company is responsible for managing the approved list.
An Individual CLA is signed by an individual for contributions that they contribute on their own behalf, as opposed to contributions on behalf of their employer or another entity.
How can I contribute to GitHub/Gerrit/GitLab repositories?
If you are an individual contributor, see Individual Contributor. If you are a corporate contributor, see Corporate Contributor for details.
Open your email, which you provided while signing the ICLA, to check the signed ICLA that was sent from The Linux Foundation. If you have not received the email, you can open a support ticket to have it resent.
Using the Domain Approval Criteria requires less overhead because CCLA signatories and CCLA managers do not need to add and manage numerous employee email addresses.
I contribute to an open source project on behalf of my employer. Do I need to sign anything?
Probably not. If your company's CCLA signatory has signed a Corporate CLA, and if you are included in the approved list under that company's CLA, then you simply confirm your association with the company during your code submission process.
However, if you are the first one from your company to contribute to a project, then your company's CCLA signatory will need to sign a Corporate CLA as part of the EasyCLA setup process. Depending on the company, you might be an authorized CCLA signatory (please check with the legal counsel of your company to be sure).
Otherwise, if your company has already signed a Corporate CLA but you are not yet on your company's approved list, you must be included on the approved list by your company's CCLA manager as part of the EasyCLA process.
When I am trying to contribute code under a CCLA, what should I do if my company is not listed?
You must add your company as described here before you can contribute code under corporate CLA (CCLA).
If my project community has elected to use CLAs as a required step for contributions to their code, do I need to be authorized under a CLA for each project to which I contribute?
Yes, provided that the project has a CLA.
If you are contributing as an individual—you must sign an Individual CLA for each project to which you contribute.
If you are contributing as an employee of a company, your company's CCLA signatory must sign a Corporate CLA.
Do I have to sign a CLA every time I contribute code to a project?
If you have already signed CLA for a project, then you don't need to sign every time to contribute to the project. Signing a CLA for a project covers all code contributions to that project. You may, however, need to sign additional CLAs if you choose to contribute to other projects that require CLAs.
Your ICLA will be emailed to the email address you provided when signing it, as soon as you sign it. If you did not receive the email, you can open a support ticket to have it resent.
(Individual Contributors) Wait for the few seconds or refresh the page to get your EasyCLA status updated.
(Corporate Contributors) After you complete the process, you must acknowledge acknowledging company contribution. If you have already acknowledged company contributions, wait for few seconds or refresh the page to get your EasyCLA status updated.
Why does EasyCLA redirect and update a previously opened PR instead of the one I performed the signature on?
When there are two or more opened PRs in the same repository, during the signature process, EasyCLA will always redirect and update the earliest opened PR. Once the signature has been completed, you can add a "/easycla"
comment on the other PRs to trigger the EasyCLA bot and update your authorization status for each open PR.
The cla/linuxfoundation check on my PR for a Kubernetes repo is not marked as passed after signing the CNCF CLA through EasyCLA?
Kubernetes repositories are in the process of migrating from CLA v1 (cla/linuxfoundation check) to EasyCLA (EasyCLA check). During this migration, the cla/linuxfoundation check is not being updated even when the users have properly signed the CLA. If the PR has the label "cncf-cla: yes," it means the authorization for the user has been granted. Note that the cla/linuxfoundation check is neither a requirement nor a blocker for merging the PR once all the required labels have been included.
Once the migration has been completed cla/linuxfoundation check will be removed.
What is the acceptable email format?
A valid email address with an email prefix and an email domain, for example abc@mail.com
The allowed characters for the email prefix are letters (a-z), numbers, underscores, periods, and dashes, and an underscore, period, or dash must be followed by one or more letters or numbers, for example: abc-d@mail.com/abc.def@mail.com/abc@mail.com/abc_def@mail.com
The allowed characters for an email domain are letters, numbers, and dashes, and the last portion of the domain must be at least two characters, for example:.com,.org,.cc.
EasyCLA was previously enabled for a GitHub repository, but someone other than the project manager has subsequently disabled it.
You can also add the branch protection rule manually, as described below:
1. As the GitHub organization owner or administrator, go to the GitHub repository that you want EasyCLA to monitor.
2. Click Settings from the top menu.
3. Settings appear with Options in the left pane.
4. Click Branches under Options.
5. Select master for the Default branch. Click Edit or Add rule for Branch protection rules of your organization.
6. Select the following check boxes under Rule settings, and click Create:
Require status checks to pass before merging
Require branches to be up to date before merging
Include administrators
Following are the third-party services, backend components and frontend consoles used in the development of the EasyCLA tool.
Besides integration with the LFX platform and its underlying services, EasyCLA uses the following third party services:
Docusign for the CLA agreement e-sign flow
Docraptor for converting CLA templates from HTML to PDF
GitHub for GitHub PR CLA authorization checking/gating
Gerrit for CLA authorization review checking/gating
Auth0 For Single Sign On
Salesforce through the LFX Platform APIs
GitLab supports two ways of registering your EasyCLA bot with GitLab :
Integrations: Navigate to Integrations tab of Project Settings. To have your EasyCLA bot listed under Add an integration section, you must create a MR (Merge Request) to GitLab's codebase, and get that accepted. The code must be written in Ruby.
Webhook : The other way of integrating your bot with GitLab is to add a webhook which will be called on certain events that happen in GitLab Project, such as opening MR (Merge Request). The webhook must respond in certain time frame. GitLab has a Webhook API where you can interact with programmatically and add/edit/delete your webhook which can make the integration smoother from user point of view.
The EasyCLA tool has two backend components.
Python - some older APIs are implemented in python and can be found in the cla-backend directory.
GoLang - Most of the backend development is implemented in Golang, and can be found in the cla-backend-go directory. In particular, this backend contains APIs powering most of the v2 APIs which integrate with the LFX Platform (including Salesforce data), and the LFX platform permissions model.
The EasyCLA frontend consists of three independent Single Page Applications (SPAs) built with the Ionic framework:
EasyCLA Project Console for a project's director or manager (typically an LF staff member) to oversee the project's CLA setup. It is sometimes referred as the LFX Project Control Center in this documentation.
EasyCLA Contributor Console for a contributor to a project to sign an Individual CLA (ICLA), or to kick off the corporate CLA (CCLA) signature process.
EasyCLA Corporate Console for a company's CLA Manager to coordinate the corporate CLA signature process, and then to manage their company's authorized contributors.
This project’s source code is licensed under the MIT License. A copy of the license is available in LICENSE.The project includes source code from keycloak
, which is licensed under the Apache License, version 2.0 (Apache-2.0), a copy of which is available in LICENSE-keycloak.This project’s documentation is licensed under the Creative Commons Attribution 4.0 International License (CC-BY-4.0). A copy of the license is available in LICENSE-docs.
The following diagram illustrates EasyCLA architecture:
The following diagram illustrates the EasyCLA release process:
A Project Manager can sign in to the EasyCLA Project Control Center to perform the CLA set-up and management tasks for projects that you manage.
To Sign in:
Click Sign in with SSO.
Enter your credentials as the Project Manager and click Sign In.
As a project manager, do these steps to get access to EasyCLA:
A CLA Group defines:
What CLA types your project requires for pull requests or push submissions — corporate CLA (CCLA), individual CLA (ICLA), or both, What CLA templates are used for the CCLA and/or ICLA, What GitHub repositories, Gerrit instances, or GitLab groups are enforced for CLA mechanism
A single CLA Group includes a pair of CCLA and ICLA templates, if both types are enabled for that CLA Group.
2. Under My Projects, click a project or search the project from the search bar for which you want to create a CLA group.
3. From left-side navigation, Navigate to LFX Tools > EasyCLA.
4. Click +Add New CLA Group.
Note: For the current v2 release, a single project can have only one CLA Group. If you have already created a CLA Group for that project, or for a parent of that project, the +Add New CLA Group button will be disabled and you will not be able to create another CLA group for that project.
5. Under CLA Group Name tab, provide a CLA group name and a brief description in the respective fields.
Note: Click the help icons (?) to know more about a field or check box.
6. Select the check boxes as applicable to the contributors of a project, and click Next.
A warning message appears if you select only one. Most projects will enable contributions under a CCLA as well as an ICLA.
If you only select Corporate CLA, then only corporate employees can sign and contribute to your project.
If you only select Individual CLA, then only individuals can sign and contribute to your project.
7. Under Edit/Review Template tab, review the project name, project full entity name. If these are not correct, stop and do not proceed. Check the Project object database settings and contact the LF legal team at legal@linuxfoundation.org if you have questions.
8. Then, select a template from Template drop-down. and provide appropriate point of contact in the Email Address of Person Managing Project field. This will be filled into the CLA templates as the email address for contributors to submit signed CLAs if they want to sign them manually, rather than via DocuSign.
Note:
Both the available templates are standard CCLA / ICLA pairs that are used by several projects on EasyCLA. These templates are derived from the Apache Software Foundation's CLAs and Academy Software Foundation's CLAs, but are not identical to either of them.
10. If the Project for which you are creating the CLA Group has no subprojects, then click Finish and skip the next step.
11. If the Project for which you are creating the CLA Group does have subprojects, then click Next. Under the Select Projects tab, select the projects that you want to enroll under the CLA group, and click Finish.
Note: As mentioned above, for the initial v2 release, a single project can only have one CLA Group. If you have already created a CLA Group for that project, or for a parent of that project, the +Add New CLA Group button will be disabled and you will not be able to create another CLA group for that project.
GitHub is set up to permit administrators and organization owners to have maximum flexibility, which includes disabling installed applications, such as EasyCLA. To avoid this, you must enable branch protection by after the GitHub organization is added to a project.
Go to .
4. Click a project to view more about the project or search for a project from the left navigation pane. For details, see .
Important: Before you get started, make sure your project meets the .
If you do not have an LF Single Sign-on account, before you proceed further.
Share your username with the EasyCLA administration team at .
Provide sample ICLA and CCLA template documents to the CLA administration team at .
After the CLA administration team confirms your setup, you can Sign In to the to do the EasyCLA activities as .
Note: CCLA managers can immediately start using the EasyCLA Corporate Console because it does not require activation from the EasyCLA administration team. to do the EasyCLA activities.
1. Sign in to the .
If you want to use a different template than the ones listed, with the correct CCLA and ICLA templates that your project will use.
9. Review the generated CCLA and ICLA templates. If the filled-in values or other contents of the template do not look correct, stop and do not proceed. Contact the EasyCLA support team by if you need assistance.
The Project Manager can add new projects to a CLA group or remove projects from a CLA group.
Sign in to the Project Control Center.
Under My Projects, click a project.
Scroll down to Tools Status section, and click EasyCLA.
Under CLA Groups, select a CLA group for which you want to manage projects.
Select or deselect the check box next to a project to add or remove the project from the CLA group.
Click Update CLA Group.
Note: A project's check box is selected and unavailable under a CLA group if the project has already been added to another CLA group.
Project managers can edit and update CLA templates to display the correct email address of the person managing the project so that contributors can submit signed CLAs to the mentioned email addresses if they want to sign them manually, rather than via DocuSign.
1. Sign in to the Project Control Center.
2. Under My Projects, click a project, and scroll down to Tools Status section, and click EasyCLA.
3. Under CLA Groups, select a CLA group for which you want to update templates.
4. Navigate to TEMPLATES tab, and click Edit Template.
5. Provide email address of the person managing the project in the respective field, and click Update Template.
Note: This email address is displayed in the CLA templates as the email address for contributors to submit signed CLAs if they want to sign them manually, rather than via DocuSign.
6. Click Update Template.
Before you can add or manage Gerrit organizations and repositories, you must connect or add Gerrit organizations while setting up IT services. However, you can also add Gerrit organization in the Gerrit pane of Tools tab.
After you successfully add Git organizations, you can:
Note:
If you have already added a Gerrit instance during the EasyCLA on-boarding process, skip this procedure unless you want to add more Gerrit instances.
After you add a Gerrit organization, all of its repositories are EasyCLA-enabled by default.
1. Click the + sign at the top right of Add Gerrit Organization.
2. Complete the form fields, and click Connect.
Gerrit Instance Name - Name of the Gerrit Instance
Gerrit Instance URL - URL of the Gerrit Instance
ICLA Group ID - An existing LDAP Group ID for Individual CLAs
CCLA Group ID - An existing LDAP Group ID for Corporate CLAs
Notes:
Contact the Linux Foundation IT team to get Gerrit Instance Name and URL.
Contact the Linux Foundation IT team if you do not know the LDAP Group IDs.
One or both LDAP groups must exist for you to be able to create a Gerrit instance. If a group does not exist, an error message appears and you are prevented from creating a Gerrit instance.
The EasyCLA project console lists the CLA-enabled instances, as shown below.
Note: You cannot disable the CLA check for individual Gerrit repositories.
1. Click Disassociate Gerrit next to a Gerrit Instance, and click Yes, Disconnect on the confirmation page.
Before you can add or manage GitLab groups and projects, you must connect or add GitLab groups while setting up IT services. However, you can also add GitLab groups in the GitLab pane of Tools tab.
Note:
In GitLab, organizations are mentioned as groups, and repositories are mentioned as projects.
You must be the owner of the GitLab group which you want to connect for CLA mechanism.
After you successfully add Git organizations, you can:
1. Sign in to the Project Control Center.
2. Click a project of interest.
3. Scroll down to the Tools Status section, and click EasyCLA.
Note: You can also connect the GitLab groups during IT setup in the IT Services Status section, and then install the EasyCLA application in the Tools Status section to add it for the CLA process.
4. Under CLA Groups, select a CLA group to which you have added the project.
5. Click Manage next to the project for which you want to manage repositories.
6. Under the GITLAB tab, click the + sign at the top right of ADD GITLAB GROUP.
7. Provide the complete URL of the GitLab group, as shown in the image, in the Enter GitLab Group URL field, and click Connect.
8. Click Install GitLab EasyCLA App.
9. Click Authorize.
10. Installation Successful window appears. Close the window, navigate to the Project Control Center, and click I'm Done Installing.
Note: If you do not click I'm Done Installing, you will have to reinstall EasyCLA application.
Note:
1.LFX EasyCLA adds all the projects, including projects under subgroups, of the GitLab group to the Project Control Center.
2.To enable a CLA mechanism on a project, you must enforce CLA mechanism for GitLab projects. Simply adding a GitLab group to the project does not enable the EasyCLA mechanism for any GitLab project.
3.To review the configuration or revoke the application, navigate to the GitLab Applications under your User Settings.
After adding the GitLab group, you should enable branch protection and auto enable new repositories.
Enable Branch Protection automatically enables the EasyCLA check for all the branches of the GitLab group. If you select this check box, you do not need to enable branch protection manually.
Auto Enable New Repositories automatically adds a repository under the GitLab group on the project console when you add a project to the GitLab group.
To enable branch protection and auto enable new repositories:
2. Click both the check boxes, and click Save Changes.
Note: To disassociate a GitLab group, you must disable CLA from all projects of the GitLab group.
Click Disassociate GitLab Group, and click Disassociate on the confirmation window.
Before you can add or manage GitHub organizations and repositories, you must connect or add GitHub organizations while setting up IT services. However, you can also add GitHub organization in the GitHub pane of Tools tab.
After you successfully add GitHub organization, you can:
Prerequisite: You must be the owner of the GitHub organization which you want to connect for CLA mechanism.
1. Sign in to the Project Control Center.
2. Click a project of interest.
3. Scroll down to the Tools Status section, and click EasyCLA.
Note: You can also connect the GitHub organization during IT set up in the IT Services Status section, and then install EasyCLA application in Tools Status section to add it for CLA process.
4. Under CLA Groups, select a CLA group to which you have added the project.
5. Click Manage next to the project for which you want to manage repositories.
6. Under the GitHub tab, click the + sign at the top right of Add GitHub Organization.
7. Type the GitHub organization name in the Enter GitHub Organization field, and click Connect.
8. Click Install GitHub EasyCLA App.
9. Sign in to GitHub if the sign-in window appears, and click Configure.
10. Select the organization that you want to enroll for CLA mechanism.
11. Select repositories, and click Install.
Note:
If you select Only select repositories, then a newly added repository to the GitHub organization will not be reflected automatically under the project's GitHub organization page in Project Console.
12. Navigate to the Project Control Center, and click I'm Done Installing.
Important: To enable a CLA mechanism on a repository, you must enforce CLA mechanism for GitHub repositories. Simply adding a GitHub organization to the project does not enable the EasyCLA mechanism for any CLA groups.
After adding the GitHub organization, you should enable branch protection and auto enable new repositories.
Enable Branch Protection automatically enables the EasyCLA check for all the branches of the GitHub organization. If you select this check box, you do not need to enable branch protection manually.
Auto Enable New Repositories automatically adds a repository under the GitHub organization on the project console when you add the repository to the GitHub organization.
2. Click both the check boxes, and click Save Changes.
2. Click Disassociate GitHub Org, and click the link to create a support ticket to disassociate the GitHub org.
2. Click a project of interest.
3. From Tools Status drop-down menu, click EasyCLA.
4. Select the CLA group to which you have added the project.5. Click Manage next to the project for which you want to manage repositories.
Under GitHub, select the added organization for which you want to manage repositories.
Turn on or turn off the Enforce CLA toggle key to enforce or remove all the repositories from CLA mechanism at a time.
To enforce CLA for individual repositories, select the check box next to a repository, and click Save.
Under GitLab, select the added group for which you want to manage projects.
Turn on or turn off the Enforce CLA toggle key to enforce or remove all the projects from CLA mechanism at a time.
To enforce or remove CLA from individual projects, turn on the toggle key next to a project, and click Yes.
After you add a GitHub or Gerrit organization or GitLab group, the organizations or groups are displayed with different colors referring to their connection statuses. The following is an example:
A repository with a cross mark next to it indicates connection failure. It means the repository was EasyCLA enabled, but it is deleted from the organization.
Project Managers can anytime invalidate a contributor's signature for any valid reason, for example when a contributor leaves the organization.
Click a project name of interest.
Scroll down to Tools Status section, and click EasyCLA. The EasyCLA Overview page appears.
Navigate to Signatures tab.
From Signed ICLAs tab, under Actions column, click Invalidate .
Click Invalidate again on the window that appears.
1. Click the settings icon next to Additional Settings for a GitLab group.
Click the settings icon next to Additional Settings for a GitLab group.
1. Click the settings icon next to Additional Settings for a GitHub organization.
1. Click the settings icon next to Additional Settings for a GitHub organization.
Before you enable Git repositories for CLA check or remove them from CLA mechanism, you must add the or or organizations. You can perform the following activities with EasyCLA:
1. Sign in to the .
After you add a , by default all of its repositories are CLA enabled. You cannot disable CLA for an individual Gerrit repository. However, you can to disable CLA for the organization and all of its repositories.
indicates full connection: all the repositories of the organization are connected.
indicates partial connection: some repositories of the organization are connected.
indicates no connection: the organization is added, but its repositories are not .
indicates connection failure: for a connected organization, either the EasyCLA configuration is uninstalled or the organization is deleted from GitHub/Gerrit/GitLab.
Sign in to the .
A Contributor is someone who contributes either on behalf of a company, or individually on their own behalf.
If contributing on behalf of their company: the contributor will sign a Corporate Contributor License (CCLA).
If contributing on their own behalf: the Contributor will sign an Individual Contributor License Agreement (ICLA).
Important: You should not submit a contribution under an ICLA if that contribution is done on behalf of your company. Instead, you should contribute under a Corporate CLA signed by your company. If you are uncertain whether you should be contributing under a CCLA or an ICLA, you should consult your employer's legal department to discuss.
Prerequisite: You must have an LF SSO account. If you don't have an LF SSO account, you must create one.
A CLA Manager (or someone who will become an initial CLA Manager after a CCLA is signed) must sign in to the corporate console in order to coordinate the CCLA signing process, and to perform other activities.
Enter your credentials and click SIGN IN.
After signing in, the EasyCLA Corporate Console appears and shows projects for which EasyCLA is enabled.
A corporate contributor is one who contributes code on behalf of their employer (and not on their own behalf). If you are contributing code on your own behalf, please see the Individual Contributor workflow.
Upon creating a pull request in GitHub or merge request in GitLab or submitting changed code in Gerrit, EasyCLA will check whether the contributor is authorized under a signed CLA for that project. If they are not, and if they are contributing on behalf of their employer, then they will need to be authorized under a signed Corporate CLA (CCLA):
If their company has not yet signed a CCLA, then the contributor can start the workflow for the signing process.
If the contributor has not yet been added to the authorized contributors list by their company's CLA Manager, then the contributor can submit a request to their CLA Manager to be added.
If the CCLA has been signed and the contributor is on the authorized contributors list, then the contributor will need to confirm their association with the company, and then will be able to proceed.
In GitHub, go to the repository that is linked to your project.
Make a code change and create a pull request.
EasyCLA checks the CLA status of all committers involved in that pull request.
EasyCLA displays a cross or a check mark beside the name of each contributor involved in that pull request based on their CLA status.
A cross next to a contributor's name means the EasyCLA check has failed, because the contributor is not authorized under a signed CLA.
If the Auto Enable Acknowledgement workflow is enabled, the CLA check is passed. For more information, refer Auto Enable Acknowledgement Workflow.
5. Click Authorize LF-Engineering. (Subsequent contributions will not require authorization.)
Result: The CLA Contributor Console appears in a new tab.
6. Click Proceed as a Corporate Contributor.
7. On Select Organization window, type your company's name in the field, select it from the drop-down list, and click Proceed.
Note:
If your company is not in the list, you can add the company as described in If your company is not in the list.
8. You will need to complete one of the following workflows:
Auto enable acknowledgement workflow allows corporate contributors to bypass an additional step of logging into the Corporate CLA Console twice. This workflow helps the corporate contributors to seamlessly contribute to the project.
The main aim of this workflow is to eliminate multiple login into Corporate console by corporate contributors. Corporate contributors should login once into Corporate console and then they will be free to contribute to the projects with out worrying to login into corporate console multiple times.
The following diagram shows the new auto enable acknowledgement workflow for corporate contributors:
To auto enable acknowledgement workflow for Corporate Contributors, perform the following steps:
1.Login into Corporate CLA.
2.Search for the project and click EasyCLA.
3.Enable the Auto ECLA button.
3.Once the Auto ECLA button is enabled, the CLA Manager will add your name to the approval list. For more information, refer Add Contributors.
4.When the CLA Manager adds your name, you can successfully submit your changes to the project in GitHub without logging into Corporate Console to get an additional acknowledgement that your a contributor to the project.
This additional step is eliminated by implementing the Auto Enable Acknowledgement workflow.
In Gerrit, clone a repository under the Gerrit instance into your local machine.
Make a change and push the code to your Gerrit repository.
A warning link that you need to sign a CLA appears if CLA is not signed for the project:
4. Navigate to the Gerrit instance of your project. For example, if you are contributing to the ONAP project, navigate to https://gerrit.onap.org
5. Sign in using your LF Single Sign-On (SSO) account.
6. Navigate to Settings -— the gear icon on the upper right corner -- and click Agreements from the menu on the left:
7. Click New Contributor Agreement.
8. Click Corporate CLA, and then click the Please review the agreement link.
9. Click Proceed To Corporate Authorization.
Result: You are redirected to the EasyCLA Corporate Console. Sign in with your LF SSO account if prompted.
10. On Select Organization window, type your company's name in the field, select it from the drop-down list, and click Proceed.
11. You will need to complete one of the following workflows:
In GitLab, clone the repository you want to contribute to.
Make changes, commit change and create merge request.
EasyCLA checks the CLA status of all committers involved in that pull request.
EasyCLA displays a cross or a check mark beside the name of each contributor involved in that pull request based on their CLA status.
A cross next to a contributor's name means the EasyCLA check has failed, because the contributor is not authorized under a signed CLA.
5. Click Authorize (Subsequent contributions will not require authorization.).
Result: The CLA Contributor Console appears in a new tab.
6. Click Proceed as a Corporate Contributor.
7. On the Select Organization window, type your company's name in the field, select it from the drop-down list, and click Proceed.
Note:
If your company is not in the list, you can add the company as described in If your company is not in the list.
8. You will need to complete one of the following workflows:
Click +Click Here next to the Organization not listed?
2. Provide organization website URL, and organization name in the respective fields. Note: If the website URL is already associated with an organization, the organization name appears in the Organization Name field, and you cannot edit the name.
3. Click Next.
4. Click an answer: Are you authorized to be a CLA Manager for your organization?
Yes: Follow the procedure, and click Proceed to coordinate the CCLA signing process.
No: Provide name and email address of the person who is authorized to be the CLA Manager from your company for this project, and click Submit Request. If you do not know who should be the CLA Manager from your company for this project, you should consult with your management or legal department to confirm.
Note: After the authorized person signs CLA, and adds you to the approved list, you must complete your company acknowledgement before you can contribute.
If your company has not yet signed a CLA, the No Signed CLA Found window appears after selecting your company.
Click an answer: Are you authorized to be a CLA Manager for your organization?
Yes — By clicking Yes, you will become the initial CLA Manager after the CCLA is signed.
No — By clicking No, you will enter the details of someone else who will become the initial CLA Manager.
Click Proceed on the window that appears.
Note: If you don't have a username (LF SSO Account) associated with The Linux Foundation, you will be redirected to the LF SSO Account creation page.
2. Click Proceed again.
3. You will be redirected to the corporate console to coordinate the CCLA signing process.
Important: After the CCLA is signed, you will be the initial CLA Manager, but by default you will not also be an authorized contributor. In order to contribute to the project, you must then add yourself to the approved list, and complete the company acknowledgement.
Complete the form, and click Submit Request. If you don't know the email address of the person who should become the CLA Manager of your company, then (unless you just created the company record) you can click the Contact Company Admin link, which may let you reach out to your company's LFX administrative contact if your company has set someone up with this role.
Click Exit EasyCLA. You can contribute after your company signs the project's CCLA, and the CLA Manager adds you to the approved list.
Important: You will receive an email after the CLA Manager adds you to the approved list. After you are added to the approved list, you must complete your company acknowledgement before you can contribute to the project.
If your company has signed a CCLA, but you have not yet been added to the approved list, the Request Authorization to Contribute window appears that shows the CLA Manager(s) for your company.
Select one or more CLA Managers from the drop-down list whom you want to request to add you to the authorized list.
3. Click Exit EasyCLA.
Important: You will receive an email after the CLA Manager adds you to the approved list. After you are added to the approved list, you must complete your company acknowledgement before you can contribute to the project.
After the CCLA is signed and the CLA Manager adds you to the approved list, you must re-select your company association before you can contribute code under that company's signed CCLA.
Navigate to the GitHub PR page or GitLab merge request page.
Click Not Covered, and then click Proceed as a Corporate Contributor.
On the Select Organization window, select your company, and click Proceed.
Navigate to the Gerrit instance of your project, and re-complete the procedure by following step 4 through step 10 as described above under Gerrit section to complete company acknowledgement.
A window appears confirming your association with the company. Click Exit EasyCLA, and start contributing.
Important: If the status on Git command line still shows "No contributor agreement" when you push the code change, you need to navigate to the Gerrit window, sign out, sign in again, and then push the code.
For certain projects, in addition to being authorized under your company's signed CCLA, you may also be required to individually sign an ICLA on your own behalf.
Click Proceed.
Follow the instructions in DocuSign, sign the ICLA, and click FINISH.
GitHub/GitLab Contributors: Navigate to the GitHub/GitLab page. Wait a few seconds for the CLA status to be updated or refresh the page.
Gerrit Contributors: If the status on Git command line still shows "No contributor agreement" when you push the code change, you need to navigate to the Gerrit window, sign out, sign in again, and then push the code.
4. Click or Please click here to be authorized.
4. Click or Not Covered.
An Identify CLA Manager window appears.
2. Click Request Authorization.
A window appears confirming your association with the company. Click Exit EasyCLA, and you will be redirected back to the GitHub or GitLab page where the CLA status will be updated. If it does not immediately update, please wait a moment and then refresh the page.
\
If this is the case for your project, then after your CLA Manager adds you to the approved list, and after you complete your company acknowledgement, then the following screen appears:
On CLA Ready For Signature window, click SIGN CLA.
A CLA Manager is the person who manages the list of authorized contributors, and other aspects of their company's CCLA.
Before a CCLA is signed, there is not yet an official "CLA Manager". Someone from the contributing company will be responsible for coordinating the CCLA signing process. That person will become the initial CLA Manager after CCLA is signed.
The person who will become the initial CLA Manager is responsible for:
After the CCLA is signed, a CLA Manager of the company is responsible for:
Note: The CLA Signatory does not need to have a Linux Foundation Single Sign-On (SSO) account in order to sign a corporate CLA.
To sign the CCLA, after someone else has coordinated the CCLA signing process and designated you to sign:
1. Look in your email inbox for a CLA Sign Request email and open the email.
2. Click the link in the email to review and sign CLA. The "Preparing CCLA" dialog opens.
3. After the CCLA preparation is complete, click Sign CCLA.
Result: You will be redirected to complete the DocuSign process.
4. Select the check box to agree to use electronic signatures, and click Continue. Follow the instructions in the DocuSign document to fill in the required fields, sign the CCLA, and click Finish.
After signing the CCLA, you will receive an email from The Linux Foundation confirming that it was signed.
As a CLA Manager for a project, you can:
Note: The new CLA Manager must have an LF SSO account to be added as a CLA Manager. If they do not yet have one, they must create one before you add them as a CLA Manager.
Sign in to the EasyCLA Corporate Console.
Navigate to the project for which you want to add a CLA Manager.
Navigate to CLA Managers For My Organization section, and click + Add CLA Manager.
4. On the Adding CLA Manager window, type first name, last name, email address, and click Add.
Important: A company that has signed a CCLA will always have at least one CLA Manager for that project, and you cannot delete the CLA manager if there is only one CLA manager.
Before a CCLA is signed, there is not yet an official "CLA Manager". Someone from the contributing company will be responsible for coordinating the CCLA signing process. That person will become the initial CLA Manager after it is signed.
This person (referred to internally in EasyCLA as the "CLA Manager Designee") can get designated as the initial CLA Manager either by starting the CCLA signing process themselves, or by being designated by another prospective contributor from their company who has started the EasyCLA CCLA process.
As the person who will become the initial CLA Manager, before starting the CCLA signing process, you will need to know the following before you proceed:
Are you authorized to sign the CCLA on behalf of your company?
If you are not, what is the name and email address of someone who is authorized to sign?
You may need to consult with your management or legal department for guidance on the above questions.
1. Sign in to the EasyCLA corporate console.
2. Select the project from the Search field, and click EasyCLA under the project name. Note: If a CCLA signature workflow is already in process for this project, you may be taken to the screen shown in step 5.
3. Click Start the CLA process.
4. Click an answer: Are you authorized to be a CLA Manager for your organization?
Yes: You are going to be your company's initial CLA Manager. Continue to next step.
5. Following screen appears. Under the Action column, click Proceed with Signing.
6. Select an answer: Are you authorized to sign CLAs on your company's behalf?
Yes: Continue to next step.
7. The Review CCLA window appears. Click Review & Sign CCLA.
8. The Preparing CCLA window appears. After CCLA preparation is completed, click Sign CCLA.
Result: You will be redirected to DocuSign to sign the CCLA.
9. Select the check box to agree to use electronic signatures, and click Continue. Follow the instructions in the DocuSign document to fill in the required fields, sign the CCLA, and click Finish.
Result: The CCLA is signed. You are now the CLA Manager from your company for this project. You will be redirected to the project page in the EasyCLA Corporate Console, and your name and email address will appear under CLA Managers From My Organization:
You will now be able to approve contributors to contribute to the project, and to add others as additional CLA Managers.
After signing the CCLA, you will receive an email from The Linux Foundation confirming that the CCLA is signed.
You can also download the signed CCLA at any time from within the EasyCLA Corporate Console.
If you clicked No in step 4 above, the Identify CLA Manager form appears:
Enter the name and email address of the person who should be the initial CLA Manager, and click Submit Request.
If you are not sure who is the initial CLA Manager, then click Contact Company Admin, which may let you reach out to your company's LFX administrative contact if your company has set someone up with this role, or reach out to your management or legal department for guidance.
You should follow up with the specified person to confirm that they complete the CCLA signing process. They must have an LF SSO account to use the EasyCLA Corporate Console. If they don't have LF SSO account, they must create one before proceeding.
If you clicked No in step 6 above, the Identify Authorized Signatory form appears:
Enter the name and email address of the person who should sign the CCLA, and click Send Signature Request Email.
After the CCLA is signed, you will be designated as the CCLA manager, and you will be able to approve contributors.
After a company signs a CCLA, the company's CLA Managers can approve their company's employees to contribute by adding them to their Approved List for that project. Approved Lists are lists of domain names, email addresses of individuals, GitHub usernames, GitHub organization names, that allow contributors to be authorized to contribute under the signed CCLA.
Note: CLA Managers may receive an email after a contributor sends a request to be added to the Approved list. To approve them, the CLA Manager must add their email address or GitHub username to the approved list.
As a CLA manager for a project, you can:
Note: Before doing any of the following actions, you must first be a CLA Manager under a signed CCLA. If your company has not yet signed a CCLA, you will need to first coordinate the CCLA signing process.
Sign in to the EasyCLA Corporate Console.
Click a project of interest.
Click + Add Approval Criteria under Approved List Of Contributions From My Organization.
4. On the Add Approval Criteria window, select an option from the drop-down list, and provide details in the field next to it.
Note:
Email Address Domain allows contribution from anyone with an email address with that domain name.
Contributor's Gerrit/GitHub Email address allows contribution from the person with that email address.
GitHub Organization allows contribution from anyone in that GitHub organization.
GitHub Username allows contribution from the contributor with that GitHub username.
GitLab Group URL allows contribution from anyone associated with the GitLab Group.
GitLab Username allows contribution from the contributor with that GitLab username.
5. Click +Add More to add other details for more contributors.
6. Click Save to save the approval criteria settings.
Note: If you add a contributor to the approved list after you receive an email requesting authorization, inform them to acknowledge company contribution before they contribute to the project.
Note: If you delete a contributor's details or an approval criteria, then the status of signature for the contributor, who signed a CLA under a CLA group with that criteria, will be displayed as "Disabled" under Signatory tab of the CLA group on project console. For details about the statuses see, Signatures. Only Project Managers and Community Program managers can access project console (also called Project Control Center).
You can download the signed PDF document by clicking the link from that email, where you will be redirected to The Linux Foundation's website. If the download doesn't start automatically, click Proceed to Download.
Click under Manage column on a CLA manager's row to delete the user.
You can download the signed PDF document by clicking the link from that email, where you will be redirected to The Linux Foundation's website. If the download doesn't start automatically, click Proceed to Download.
Click in the row for one of the Approval List criteria, make edits, and click Save.
Click in the row for one of the Approval List criteria, to delete the contributor or the group criteria.
Note: The EasyCLA Corporate Console is meant to be used by CLA Managers of companies to coordinate the CCLA signing process and to manage their company's list of authorized contributors. Individuals who are not managing a CCLA for their company cannot access the EasyCLA Corporate Console.
The EasyCLA Corporate Console makes it easier for companies to sign Corporate Contributor License Agreements (CLAs) for projects, view CLA details, and manage their lists of authorized contributors. After a CLA Manager signs in to the EasyCLA Corporate Console, they can view the following sections:
The EasyCLA Corporate Console is used by CLA Managers. For more information about the different user roles in EasyCLA, see What Role are You?
Having trouble with this documentation? Help us improve by creating an issue.
Approved Lists are lists of domain names, email addresses of individuals, GitHub usernames, or GitHub organization names who are authorized to contribute under a signed CCLA. CLA Managers create and manage the approved list.
Approval Criteria is the category under which a contributor is added to the approved list. There are four approval criteria currently available in EasyCLA: Domain, Email Address, GitHub Username, and GitHub Organization.
A Contributor License Agreement (CLA) defines the terms under which content is contributed to a project. Typically, the content is software which the project makes available under an open source license.
A project's intellectual property policy will define whether or not it uses a CLA. Frequently, if a project does use a CLA, it will have different templates to be signed by a company (CCLA) or by an individual (ICLA).
A Corporate Contributor License Agreement (CCLA) defines terms and conditions under which employees contribute code on behalf of the company.
A CLA template is a form of CCLA or ICLA used by a Project Manager to configure the CLA Group for a project.
A CLA group defines CLA details, such as which CLA types (ICLA and/or CCLA) a project requires for pull requests or push submissions, which GitHub repositories and/or Gerrit instances are checked against those CLAs, and which projects are linked to those CLAs. One CLA group is used under a unique CLA template.
An Individual Contributor License Agreement (ICLA) defines terms and conditions under which individuals contribute code on their own behalf.
CLA Managers are authorized by their company to manage the list of approved contributors under the company’s CCLA for a project. They use the EasyCLA Corporate Console to add and manage contributors and other CLA Managers.
Before a CCLA is signed, there is not an official CLA Manager. The person who will become the initial CLA Manager is responsible for coordinating the CCLA signing process. This may involve them signing the CCLA themselves if they are authorized by their company to do so, or designating someone else as the CLA Signatory if they are not authorized. After the CCLA is signed, they become the initial CLA Manager under that CCLA.
A CLA Signatory signs a CCLA on behalf of the company. CLA Signatories can be any person who is authorized by their company to sign the CCLA on its behalf.
Corporate employees and CLA Managers use the EasyCLA Corporate Console to view and (in the case of CLA Managers) manage their company’s CCLA information.
After creating a PR and being flagged by the EasyCLA check, corporate and individual contributors navigate to the contributor console to become authorized under a signed CLA before their contribution is accepted.
Individual contributors contribute code on their own behalf (not on behalf of an employer). Their CLA status is verified after creating a PR, and they must sign an ICLA via the Contributor Consoler before they can contribute to the project.
Also known as Project Control Center. Project managers use the project console to create CLA groups, add and manage projects, repositories, and so on for the CLA group.
Project managers are authorized by The Linux Foundation to configure the EasyCLA settings for a project. They use the LFX Project Control Center (PCC), also known as Project Console, where they have access to specific projects as per the permission provided by The Linux Foundation. They add and manage projects and repositories on PCC.
The EasyCLA Corporate Console dashboard shows the aggregate data of all the projects that use LFX EasyCLA.
PROJECTS USING EASYCLA shows the total number of projects that are using EasyCLA.CLA SIGNED shows the total number of Contributor License Agreements — ICLAs (Individual CLAs) and CCLAs (Corporate CLAs) — signed by all contributors to Linux Foundation projects using EasyCLA.TOTAL CONTRIBUTORS shows the total number of contributors to projects using EasyCLA, including individual contributors under ICLAs and companies' approved contributors under CCLAs.REPOSITORIES USING EASYCLA shows total number of Git repositories that are enabled for CLA checks using EasyCLA.
From the dashboard, you can choose the project for which you want to sign a CCLA or manage your company's contributors as a CLA Manager.Navigate to a project, or type a project name in the search box and press Enter to search for the project. Note that some projects are nested within parent projects or foundations, so you may need to click through the parent to see a list of its children.Click a project to navigate to the CLA Corporate Console details page for that project. For more information about per-project details, see .
Click a project from the dashboard, or expand Projects, search for a project, and click EasyCLA under the project to view the related EasyCLA information.
In the user interface, some projects are nested under parent projects or foundations that they are contained in. The data shown for a parent project or foundation is an aggregate of all the projects under it. The following sections show CLA information for a project based on:
Important: The CLA Managers for a project can edit their company's EasyCLA settings (such as authorized contributors approval lists) for only the project(s) where they are the CLA Managers. Others (such as CLA Managers for other projects, or other roles) will have read-only access but cannot change the company's EasyCLA settings for the project.
This shows a table that lists the CCLA signed by your company for this project:
Project shows the name and logo of the project for which the CCLA was signed.
CLA Group shows the CLA group name which the project belongs to. A CLA group can cover multiple projects.
Status shows CCLA status (e.g., Signed or Not signed).
Signed on shows the date when the CCLA was signed.
Signed By shows the name of the person who signed the CCLA.
Download (shown if CCLA is signed) lets you download the PDF file of the signed CLA.
This shows a table that lists CLA Managers of your company including their details.
Name shows the name of the CLA Manager
Email Address shows the email address of the CLA Manager.
Manage (Only for CLA Managers) lets CLA Managers delete CLA Managers.
+ Add CLA Manager (Only for CLA Managers) lets CLA Managers add other CLA Managers.
RECENT ACTIVITY LOG FOR MY ORGANIZATION
This shows recent EasyCLA-related activities of your company for the project. The activity log displays activity details, the project name and logo for which the activity happened, and the date and time.
APPROVED LIST OF CONTRIBUTORS FROM MY ORGANIZATION
Note: This section is displayed only for individual projects, not for project groups.
This shows a table that lists details of approved contributors from your organization for the project.
Approved List shows the email address domain name, GitHub/Gerrit email address, GitHub Organization, GitHub Username, GitLab Group URL or GitLab Username.
Approval Criteria shows the type of approval criteria.
Added on shows the date when the criteria was added to the approved list.
+Add Approval Criteria (Only for CLA Managers) lets CLA managers add contributor approval criteria to the approved list.
CONTRIBUTOR ACKNOWLEDGEMENT FROM MY ORGANIZATION
Note: This section is displayed only for individual projects, not for project groups.
This shows a table that lists contributors from your company authorized to contribute to this project who have completed contributor acknowledgments.
Name shows the name of the contributor.
LF Login/GitHub ID shows the Linux Foundation login name or GitHub username of the contributor.
Agreement shows the version of the CCLA under which the contributor was authorized.
Acknowledged On shows the date and time when the user acknowledged their association with the company under the CCLA.
Search lets you search for a contributor by name and LFID/GitHub ID.
PROJECTS WITH EASYCLA ENABLED
Note: This section is displayed only for parent projects that have child projects.
Shows the child projects that have EasyCLA enabled. Click View Details to navigate to the project page.
If your company has not yet signed a CCLA for a project, the following screen will appear.
For details about signing a CCLA, see Getting Started and coordinating signing a CCLA.
Prerequisite: You must be an owner of the GitHub organization.
If you uninstall the EasyCLA application from a GitHub organization, EasyCLA monitoring is no longer in effect for the organization and all of its the repositories.
Sign in to GitHub, and navigate to the organization for which you want to uninstall the EasyCLA application.
Under Settings tab, select Installed GitHub Apps from the left side navigation pane.
Click Configure for the Linux Foundation: EasyCLA app.
4. Navigate to Danger zone > Uninstall Linux Foundation: EasyCLA section, and click Uninstall.
5. Refresh the Project Control Center.
The following issues are known to be present in the v2.0.0 release of EasyCLA:
Auto-Branch Protection only protects a repo's default git branch. Non-default branches are not currently auto-configured for EasyCLA protection. Currently, GitHub/GitLab organization owners must manually set up branch protection rules for non-default branches.
Currently, user roles in EasyCLA can only be associated with a single company or organization at a time.
Release notes for the EasyCLA backend and APIs can be found at https://github.com/communitybridge/easycla/releases.
Release notes for the EasyCLA Contributor Console can be found at https://github.com/communitybridge/easycla-contributor-console/releases
EasyCLA V2.0 supports projects with a parent-child model of any number of hierarchy levels without any limit in the depth of the hierarchy. The following is an example:
Parent Project
Child Project
Grand Child Project
Great Grand Child Project
Great-Great Grand Child Project
….
An individual contributor is one who contributes code on their own behalf (and not on behalf of an employer). If you are contributing code on behalf of your employer, see the Corporate Contributor workflow.
Upon creating a pull request in GitHub or GitLab or submitting changed code in Gerrit, EasyCLA will check whether the contributor is authorized under a signed CLA for that project. If they are not, and if they are contributing on their own behalf, then they must sign an ICLA.
In GitHub, clone the repository want to contribute to Or click the pencil icon next to a file of the repository to edit; it will clone the repository under your username.
Make a change and create a pull request.
EasyCLA checks the CLA status of all committers involved in that pull request. EasyCLA displays a cross or a check mark beside the name of each contributor who is involved in that pull request based on their CLA status.
A cross next to a contributor's name means the EasyCLA check has failed, because the contributor is not authorized under a signed CLA.
4. Click Authorize LF-Engineering. (Subsequent contributions will not require this authorization.)
The CLA Contributor Console appears and shows the CLA group for your project.
Note: If the project is not configured to use ICLAs, then Proceed as an Individual Contributor is inactive. In this case, individuals would not be able to contribute on their own behalf.
6. After the CLA Ready For Signature window appears, click SIGN CLA.
DocuSign presents the ICLA document for your signature.
7. Select the check box and click CONTINUE. Follow the instructions in the DocuSign document, fill in the indicated fields, sign it, and click FINISH.
Result:
You will receive an email from The Linux Foundation, informing you that you have signed the ICLA.
You are redirected to GitHub. Wait a few seconds or refresh the page for the EasyCLA status to be updated. A check mark appears next to your branch.
8. Click Merge pull request and confirm the merge.
In Gerrit, clone a repository under the Gerrit instance into your local machine.
Make a change and push the code to your Gerrit repository.
A warning link that you need to sign a CLA appears:
4. Navigate to the Gerrit instance of your project. For example, if you are contributing to the OPNFV project, navigate to https://gerrit.opnfv.org
5. Sign in using your LF Single Sign-On (SSO) account.
6. Navigate to Settings— the gear icon on the upper right corner— and click Agreements from the menu on the left:
7. Click New Contributor Agreement.
8. Select Individual CLA (ICLA), and click Please review the agreement.
9. Click Proceed To Individual Authorization.
10. Sign in if you are prompted, and you will be redirected to the Contributor Console.
11. After CLA preparation is completed, click Sign CLA.
DocuSign presents the ICLA document for your signature.
12. Select the check box and click CONTINUE. Follow the instructions in the DocuSign document, fill in the indicated fields, sign it, and click FINISH.
Result:
A message appears informing you that you have signed the ICLA.
You will also receive an email from The Linux Foundation, informing you that you have signed the ICLA.
13. Navigate to the Gerrit project, and start contributing.
Important: If the status on Git command line still shows "No contributor agreement" when you push the code change, you need to navigate to the Gerrit window, sign out, sign in again, and then push the code.
In GitLab, clone the repository you want to contribute to.
Make a changes, commit change and create a merge request.
EasyCLA checks the CLA status of all committers involved in that commit. EasyCLA displays a cross or a check mark beside the name of each contributor who is involved in that commit based on their CLA status.
A cross next to a contributor's name means the EasyCLA check has failed, because the contributor is not authorized under a signed CLA.
4. Click Authorize LF-Engineering. (Subsequent contributions will not require this authorization.)
The CLA Contributor Console appears and shows the CLA group for your project.
Note: If the project is not configured to use ICLAs, then Proceed as an Individual Contributor is inactive. In this case, individuals would not be able to contribute on their own behalf.
6. After the CLA Ready For Signature window appears, click SIGN CLA.
DocuSign presents the ICLA document for your signature.
7. Select the checkbox and click CONTINUE. Follow the instructions in the DocuSign document, fill in the indicated fields, sign it, and click FINISH.
Result:
You will receive an email from The Linux Foundation, informing you that you have signed the ICLA.
You are redirected to GitLab. Wait a few seconds or refresh the page for the EasyCLA status to be updated. A check mark appears next to your branch.
8. Ask someone with write access to the repository to merge your commit request.
A Project Manager can view CLA group details and can update a CLA group details by updating or deleting a CLA group name, updating a CLA template, and invalidating a contributor's signature.
Sign in to the Project Control Center.
Click a project name of interest.
Scroll down to Tools Status section, and click EasyCLA. The EasyCLA Overview page appears.
The Overview page displays CLA groups that have been added to the project, details for each CLA group, and activity log table. A CLA group defines a CCLA and/or ICLA that contributors must sign.
1. Name of the CLA group, and whether the CLA Group includes a CCLA and/or an ICLA with a tick mark beside each CLA type.
Projects Covered shows the number of projects that are covered under the CLA group.
Repositories shows the total number of repositories of the added projects that are enrolled for CLA monitoring. You must enforce EasyCLA for one or more Git repositories for them to be counted.
Signatures shows the number of individuals who have signed CLA within that CLA group, and whose signature status is in active state. This includes both ICLA and/or CCLA based on the CLA group configuration.
Click the pencil icon to edit the title and description of the CLA group.
2. Under the PROJECTS tab, expand the project group to view projects that are enrolled for the CLA group. Inactive selected check boxes indicate that the project has already been added to another CLA group. Click Manage to add and manage GitHub or Gerrit or GitLab groups and repositories.
3. Navigate to TEMPLATES tab to view and download the ICLA and/or CCLA templates. You can update the templates incase the email address mentioned in the template is not correct or you want to change.
Navigate to SIGNATURES tab to view signed ICLAs and CCLAs.
Signed ICLAs lists details of individuals who have signed an ICLA, such as name, LF Login name (LF ID), GitHub ID, email address, status of their signature (Active, Disabled, Invalidated), and Invalidate CTA under Actions column (enabled only for Active statuses). Following are the different signature statuses:
Active: The contributor has completed the CLA signing process.
Incomplete: The contributor has not completed the CLA signing process.
Disabled: Either the project manager has invalidated the signature of the contributor or CLA manager has removed the contributor's approved criteria from the approved criteria list on corporate CLA console.
Signed CCLAs lists the details of companies that have signed a CCLA. It lists the company name, CLA Managers, approved contributors, approval criteria for the approved contributors, and the signed CCLA document along with the date.
It shows the recent CLA activities for the projects within the CLA group, such as activity description, name of the person who did the activity, date and time of the activity, the corresponding company name where applicable, and the applicable project.
The Linux Foundation allows you to edit your existing Linux Foundation profile using My Profile.
A corporate CLA signatory or CCLA signatory is someone who is authorized to sign a CCLA on behalf of their company.
3. Click or Please click here to be authorized.
5. Click Proceed as an Individual Contributor.
You can download the PDF document by clicking the link from the email. You will be re-directed to the Linux Foundation's website. If the download doesn't start automatically, click Proceed to Download.
You can download the PDF document by clicking the link from the email. You will be redirected to the Linux Foundation's website. If the download doesn't start automatically, click Proceed to Download.
3. Click or Not Covered.
5. Click Proceed as an Individual Contributor.
You can download the PDF document by clicking the link from the email. You will be re-directed to the Linux Foundation's website. If the download doesn't start automatically, click Proceed to Download.
Clickto create a support ticket requesting to delete the CLA group.
On the home page, click Developer Settings from My Profile drop-down list to navigate to the Account Settings page. For more information on how to manage your profile, see .
If the CCLA signatory is the same person as the initial CLA Manager, then they will sign the CCLA themselves while .
Otherwise, if the CCLA signatory is a different person than the initial CLA Manager, then the CCLA signatory will receive an email informing them that they are designated to be an authorized signatory for a company. The CCLA signatory can on behalf of the company.