-
Notifications
You must be signed in to change notification settings - Fork 29
Contributors License Agreement processing details
- How do we confirm that there is an appropriate CLA for a requested change?
- Where can I see a list of all of those that have signed the CLA?
- How does the CLA signing form work?
- How to update an existing record
- Can users submit a CLA more than once?
- Can I remove a CLA signatory / delete a row from the spreadsheet?
The SciTools organisation requires contributor license agreements (CLAs) for all contributions to its projects. Since SciTool’s inception this has always been an expectation, but the CLA RFC made this requirement explicit, as documented at https://github.com/SciTools/scitools.org.uk/tree/master/documents/scitools_licensing.md.
The scope of this page is to describe the process of ensuring compliance with the aforementioned document.
A web service, implemented in https://github.com/SciTools-incubator/scitools-cla-checker, runs on each and every pull request (PR) submitted to SciTools (and SciTools-incubator). It is responsible for updating the PR with an indication of whether a CLA exists for all of the changes (commits) being proposed.
The webservice itself is running on Heroku, with access granted to @philip.elson, @bill.little and @tremain.knight. It is automatically deployed upon changes to master on https://github.com/SciTools-incubator/scitools-cla-checker.
A JSON document containing a list of those who have signed the CLA can be found at https://script.google.com/macros/s/AKfycbwqZ0JLlOKJEcvYUYFXo77o6nux9tSHvOJISUnk3yHi-Bk0Qanz/exec.
This is the canonical source of those who have completed https://scitools.org.uk/cla/v4/form. It is a direct and live export of the Google form results that is populated upon completion of https://scitools.org.uk/cla/v4/form.
For those with access to the scitools.org.uk Google account, visiting https://script.google.com/home will present a number of scripts. The script providing the aforementioned service is entitled "List GH handles of CLA signatories".
The form behind https://scitools.org.uk/cla/v4/form is a Google form which populates a spreadsheet on Google Drive. For those with access to the scitools.org.uk Google account, the form can be found at "CLA/CLA v4 form". The form populates "CLA/CLA v4 Responses".
When a form is completed it adds a new row to the spreadsheet, it also fires a trigger (seen at script.google.com/home/triggers) that runs the script attached to the spreadsheet (can be edited by visiting script.google.com and opening "CLA v4 pdf-generator" or by opening the spreadsheet and clicking on the burger followed by "Script editor"). This trigger (createPdf()
) uses "CLA/CLA v4" as a template and fills in the blanks based on the freshly submitted data. Once the CLA has been filled in, it is added to "CLA/signed/<gh-handle>" and emailed to the submitter & the SciTools administrators. No further work is required.
If a submission needs to be modified for any reason (e.g. wrong email address, changed GitHub handle) then it is possible for administrators to modify the row directly. A menu item should have been added "SciTools CLA" which allows one to "Send signed SciTools CLA again" for the current row - this will regenerate the PDF (and add a new item in "CLA/signed/<gh-handle>") and then subsequently send the PDF via email.
Technically, there is nothing stopping multiple submissions. This should be discouraged though - ideally we would have one CLA per persona on GitHub (some folks have a work and a personal account, in which case it makes sense to allow two submissions).
Deleting a row from the spreadsheet will result in that user no longer being listed as a CLA signatory. We still have a record of the CLA in "CLA/signed/<gh-handle>" for legal protection for contributions already made. On the whole it is very unusual to want to be removed from the list - we cannot remove the signed CLA, and there is no real advantage to removing the person from the list of people who can contribute in the future (we still have to have their data). The CLA needn’t be revoked for a user to cease contributing.