Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(cla): add cla signing and administration steps #271

Merged
merged 8 commits into from
Oct 23, 2020
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
* [Contributors Guide](contributors-guide/README.md)
* [New Contributor Checklist](contributors-guide/new-contributor-checklist.md)
* [Code Of Conduct](contributors-guide/code-of-conduct.md)
* [Signing the CLA](contributors-guide/signing-the-cla.md)
* [FAQ](contributors-guide/frequently-asked-questions.md)
* [Standards](contributors-guide/standards/README.md)
* [Versioning](contributors-guide/standards/versioning.md)
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added contributors-guide/images/cla/admin_sign_in.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added contributors-guide/images/cla/cla_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added contributors-guide/images/cla/cla_2_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added contributors-guide/images/cla/cla_2_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added contributors-guide/images/cla/cla_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions contributors-guide/new-contributor-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ This guide summarizes the steps needed to get up and running as a contributor to
- (Optional) Post a link to your PR on the `#ml-oss-devs` channel in Slack so everyone can share in the fun


## 4. Signing the CLA

After you open your first PR, our CI/CD pipelines will ask you to sign the CLA. For more information on what the CLA is and how to sign it, see [./signing-the-cla.html]

## FAQs:

> None as of yet. If you have problems getting through this list, or need more help, reach out to us on Slack!
100 changes: 100 additions & 0 deletions contributors-guide/signing-the-cla.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Signing the CLA

Mojaloop has a [Contributor Licence Agreement (CLA)](https://github.com/mojaloop/mojaloop/blob/master/CONTRIBUTOR_LICENSE_AGREEMENT.md) which clarifies the intelletual property for contributions from individuals or entities.
lewisdaly marked this conversation as resolved.
Show resolved Hide resolved

To ensure every developer has signed the CLA, we use [CLA Assistant](https://cla-assistant.io/), a well maintained, open source tool which checks to make sure that a contributor has signed the CLA before allowing a pull request to be merged.

## How to sign the CLA

1. Open a pull request to any Mojaloop repository
elnyry-sam-k marked this conversation as resolved.
Show resolved Hide resolved
2. When the pull request performs the standard checks, you will see the `license/cla` check has run, and requests users to sign the CLA:

<img src="./images/cla/cla_1.png" width=600>



3. Click 'Details', and you will be directed to the CLA Assistant tool, where you can read the CLA, fill out some personal details, and sign it.

<img src="./images/cla/cla_2_1.png" width=700>
</br>
<img src="./images/cla/cla_2_2.png" width=700>


4. Once you have clicked "I agree", navigate back to the Pull request, and see that the CLA Assistant check has passed.

<img src="./images/cla/cla_3.png" width=600>



### Signing For A Company

Section 3 of the [Mojaloop CLA](https://github.com/mojaloop/mojaloop/blob/master/CONTRIBUTOR_LICENSE_AGREEMENT.md) covers contributions both from individuals and contributions made by individuals on behalf of their employer. If you are contributing to the Mojaloop Community on behalf of your employer, please enter your employer's name in the "Company or Organization" field. If not, feel free to write "OSS Contributor" and leave the "role" field blank.


## Administering the CLA tool

The CLA Tool is easy to install, any GitHub admin can link it with the Mojaloop organization.

1. Create a new GitHub Gist and enter in the text of the CLA in a new file.
> Since Github doesn't allow Gists to be owned my organizations, [our gist](https://gist.github.com/mojaloopci/9b7133e1ac153a097ae4ff893add8974) is owned by the 'mojaloopci' user.

2. Go to [CLA Assistant](https://cla-assistant.io/) and click "Sign in with GitHub"
<img src="./images/cla/admin_sign_in.png" width=700>


3. You can add a CLA to either a Repo or Organization. Select "Mojaloop", and then select the gist you just created
<img src="./images/cla/admin_configure.png" width=700>


4. Hit "Link" and that's it!


### Requesting Additional Information:

> Reference: [request-more-information-from-the-cla-signer](https://github.com/cla-assistant/cla-assistant#request-more-information-from-the-cla-signer)

You can also add a `metadata` file to the CLA gist, to build a custom form for the CLA tool:

```json
{
"name": {
"title": "Full Name",
"type": "string",
"githubKey": "name"
},
"email": {
"title": "E-Mail",
"type": "string",
"githubKey": "email",
"required": true
},
"country": {
"title": "Country you are based in",
"type": "string",
"required": true
},
"company": {
"title": "Company or Organization",
"description": "If you're not affiliated with any, please write 'OSS Contributor'",
"type": "string",
"required": true
},
"role": {
"title": "Your Role",
"description": "What is your role in your company/organization? Skip this if you're not affiliated with any",
"type": "string",
"required": false
},
"agreement": {
"title": "I have read and agree to the CLA",
"type": "boolean",
"required": true
}
}
```

Produces the following form:

<img src="./images/cla/cla_2_2.png" width=750>


Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ excludeList = [
### PR Flow

When a new Pull Request is opened for a Mojaloop project, the license scanner runs as a part of the CI/CD workflow. The step in CircleCI is called 'audit-licenses'

</br>
<img alt="Example CircleCI Build Overview PR" src="./assets/images/automated-license-scanning/circle-pr-build.png" width=700>

The license-scanner does the following:
Expand Down