Introduction to EasyCLA
The Contributor License Agreement (CLA) service of the Linux Foundation lets project contributors read, sign, and submit contributor license agreements easily.
This repository contains both the backend and front-end UI for supporting and managing the application.
This platform supports both GitHub and Gerrit source code repositories. Additional information can be found in the EasyCLA documentation.
Announcements
- 06/10/2020 - We have replaced code references from whitelist to Approved List. This includes package names, code comments, swagger specifications, API endpoints, variable names, and UI components.
Third-party Services
EasyCLA
The EasyCL system leverages the following third party services:
- Docusign for CLA agreement e-sign flow
- Docraptor for converting CLA templates into PDF files
- GitHub for GitHub PR CLA authorization checking/gating
- Gerrit for CLA authorization review checking/gating
- Auth0 For Single Sign On
- Salesforce via the LFX Platform APIs
CLA Backend
The CLA project 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.
CLA Frontend
For EasyCLA version 2, all three consoles are hosted in separate repositories.
- Project Control Center contains all the old v1 Project Console
capabilities plus many new features. This new console includes not only the EasyCLA components, but also the project
related features for LF ITX and other LFX Platform projects.
- Corporate Console contains the old v1 Company Console
capabilities. This new console includes not only the EasyCLA components, but also the company related features for LF
ITX and other LFX Platform projects.
- Contributor Console contains the old v1 Contributor Console
capabilities with new features that integrate with the LFX Platform (including the Salesforce data).
For EasyCLA version 1, the consoles are:
These CLA frontend components of three independent SPA built with Ionic framework.
EasyCLA Architecture
The following diagram explains the EasyCLA architecture.
EasyCLA Release Process
The following diagram illustrates the EasyCLA release process:
License
Copyright The Linux Foundation and each contributor to CommunityBridge.
This project’s source code is licensed under the MIT License. A copy of the license is available in LICENSE.
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.