# Getting Started

## What is LFX EasyCLA? <a href="#what-is-easycla" id="what-is-easycla"></a>

*LFX EasyCLA* helps streamline the contribution process for open source projects that use Contributor License Agreements (CLAs), by streamlining workflows for project maintainers, contributors, and organizations whose employees are contributing to the project. EasyCLA coordinates the process of getting CLAs signed and, for companies and other organizations, the process of authorizing employees to contribute under a signed CLA. 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 href="#what-is-a-cla" id="what-is-a-cla"></a>

Some projects use a *Contributor License Agreement* (CLA) to define the terms under which content (such as source code or documentation) is contributed to the project.

Not all projects use CLAs; many use alternative contribution mechanisms, such as the [Developer Certificate of Origin](https://developercertificate.org) sign-off process. For those that do use CLAs, LFX EasyCLA helps to ensure that contributions are not merged into a project unless the contributors are covered under a signed CLA.

There are two types of CLAs:

* **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 project may require that every employee (developer) should sign their own individual CLA (which separately covers contributions owned by the individual contributor) besides being covered by corporate CLA.
* **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? <a href="#how-does-it-work" id="how-does-it-work"></a>

The following high-level diagram shows the different flows and roles that EasyCLA supports.

![LFX EasyCLA Flow Diagram](/files/-MObKQQDBwKU4CF3QhNd)

## What Role are You? <a href="#what-role-are-you" id="what-role-are-you"></a>

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

* [Project Manager](#project-manager)
* [Contributor](#contributor)
* [Corporate CLA Manager](#corporate-cla-manager)
* [Corporate CLA Signatory](#corporate-cla-signatory)

### Project Manager <a href="#project-manager" id="project-manager"></a>

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, also referred as Project Control Center.

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

1. [Install the EasyCLA Application](/lfx/easycla/v1-deprecated/project-managers/install-the-easycla-application.md).
2. [Add a CLA Group](/lfx/easycla/v1-deprecated/project-managers/add-a-cla-group.md).
3. [Add Contributor License Agreements](/lfx/easycla/v1-deprecated/project-managers/add-contributor-license-agreements.md).
4. [Add GitHub repositories](/lfx/easycla/v1-deprecated/project-managers/add-github-repositories-to-cla-monitoring-or-remove-them-from-cla-monitoring.md) or [Gerrit instances](/lfx/easycla/v1-deprecated/project-managers/add-gerrit-instances-to-cla-monitoring-or-delete-them-from-cla-monitoring.md) to enforce CLA monitoring.

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

* [View Current and Previous CLA PDFs](/lfx/easycla/v1-deprecated/project-managers/view-current-and-previous-cla-pdfs.md)
* [Manage CLA Group Details](/lfx/easycla/v1-deprecated/project-managers/manage-cla-group-details.md)

### Contributor <a href="#contributor" id="contributor"></a>

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:

* **Individual Contributor (GitHub):** [Sign a CLA as an Individual Contributor and contribute to GitHub project](/lfx/easycla/v1-deprecated/contributors/individual-contributor.md#github).
* **Individual Contributor (Gerrit):** [Contribute to Gerrit project](/lfx/easycla/v1-deprecated/contributors/individual-contributor.md#gerrit)
* **Corporate** **Contributor (GitHub):** [Contribute to GitHub project](/lfx/easycla/v1-deprecated/contributors/corporate-contributor.md#github)
* **Corporate** **Contributor (Gerrit):** [Contribute to Gerrit Project](/lfx/easycla/v1-deprecated/contributors/corporate-contributor.md#gerrit)

### Corporate CLA Manager <a href="#corporate-cla-manager" id="corporate-cla-manager"></a>

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:

* [Add companies to a project](/lfx/easycla/v1-deprecated/cla-manager/add-a-company-to-a-project.md)
* [Approve Contributors](/lfx/easycla/v1-deprecated/cla-manager/approve-contributors.md)
* [Add or Delete CLA Managers](/lfx/easycla/v1-deprecated/cla-manager/add-or-delete-cla-managers.md)

### Corporate CLA Signatory <a href="#corporate-cla-signatory" id="corporate-cla-signatory"></a>

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:

* [Review and sign a Corporate CLA by request](/lfx/easycla/v1-deprecated/cla-signatories/review-and-sign-a-corporate-cla-by-request.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.linuxfoundation.org/lfx/easycla/v1-deprecated/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
