leoluk / easycla

The Contributor License Agreement (CLA) service of the Linux Foundation lets project contributors read, sign, and submit contributor license agreements easily.

Home Page:https://easycla.lfx.linuxfoundation.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction to EasyCLA

CircleCI

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.

CLA Architecture

EasyCLA Release Process

The following diagram illustrates the EasyCLA release process:

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

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.

About

The Contributor License Agreement (CLA) service of the Linux Foundation lets project contributors read, sign, and submit contributor license agreements easily.

https://easycla.lfx.linuxfoundation.org

License:MIT License


Languages

Language:Go 50.8%Language:Python 24.8%Language:TypeScript 9.9%Language:HTML 5.2%Language:JavaScript 5.1%Language:SCSS 2.3%Language:Shell 1.4%Language:Makefile 0.4%Language:Batchfile 0.0%Language:Dockerfile 0.0%