EasyCLA Development Components
Following are the third-party services, backend components and frontend consoles used in the development of the EasyCLA tool.
Third-party Services
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
Descartes Visual Compliance for sanctions and trade-compliance screening of organizations. EasyCLA does not call this provider directly — organizations are screened through the LFX Sanctions Screening Service (SSS), a shared LFX platform service that caches screening results and keeps them up to date with the provider. See Automated Sanctions Screening.
<200b>GitLab for GitLab merge request CLA authorization checking and gating. In the current EasyCLA workflow, project managers connect a GitLab group from Project Control Center (PCC), open the GitLab installation/authorization URL, authorize the application, and then return to PCC to complete the setup. EasyCLA then manages the GitLab integration through GitLab APIs and webhooks.
EasyCLA Backend
The EasyCLA tool has two backend components.
V1 - Some older APIs are implemented in Golang and can be found in the cla-backend-legacy directory. Internally they are v1 and v2 APIs.
V2 - Most of the backend development is implemented in Golang, and can be found in the cla-backend-go directory. Internally they are v3 and v4 APIs. In particular, this backend contains APIs powering most of the APIs which integrate with the LFX Platform (including Salesforce data), and the LFX platform permissions model.
EasyCLA Frontend or Consoles
EasyCLA v2 uses multiple web applications that are maintained in separate repositories and monorepos rather than a single Ionic codebase:
<200b>EasyCLA Project Console for a project's director or manager (typically an LF staff member) to oversee the project's CLA setup. This experience is delivered through the LFX Project Control Center (PCC).
<200b>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. This is a standalone Angular application.
<200b>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 experience is delivered by the LFX Corporate CLA Console application.
License
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.
EasyCLA Architecture
The following diagram illustrates EasyCLA architecture:

EasyCLA Release Process
The following diagram illustrates the EasyCLA release process:

Last updated
Was this helpful?