Hi Everyone,
It’s been a wile since we switched from our paper/pdf based CLAs to using CLA
Assistant <https://cla-assistant.io/> to require digital signatures when
submitting PRs to our GitHub repos. However, we’ve found that this workflow
doesn’t work well when contributions are made through an external means, such
as Netlify CMS <https://www.netlifycms.org/>. In such a case the contribution
is made in the external system and submitted as a commit to GitHub in a Pull
Request. But the contributor may not have a GitHub account and doesn’t really
ever need to see the GitHub UI to make the contribution. This means that they
have no means of accepting the CLA.
Typically we only required the CLA be signed for code contributions, so for
now, things like Netlify CMS contributions would likely fall outside of that
requirement. Unfortunately, CLA Assistant doesn’t allow much breadth in terms
of customization options. We can add users to an allowlist, exclude some repos,
or have a minimum number of line or file changes. However, none of those
options fully satisfy the case. For example, ideally we’d still require a CLA
to be signed for code changes.
Another option would be to transition to using CLA assistant lite
<https://github.com/marketplace/actions/cla-assistant-lite>, which is a GitHub
Action variant of CLA Assistant. Some benefits:
Anyone could configure
right now only I can configure CLA Assistant
More configuration options available as we have more control over configuration
for Github Actions.
E.g. running against specific branches and etc.
Although configuration is still limited
Would be easier to have different configurations for each repo
Some drawbacks:
More work for configuring/setting up.
At the moment CLA Assistant is configured per org, so all repos share the same
configuration. CLA Assistant is configured per repo.
May be able to mitigate the work for new repos by creating a template repo, but
would have to update all existing repos.
Additionally we’d need to decide where to store the signatures. They could
either be committed into a file in the repo, or stored in an external repo,
which would allow us to centralize the signatures and could even be private if
desired.
There are additional options though.
Switch to a Developer Certificate of Origin (DCO),
may not help with Netlify CMS issue
Info on CLA vs DCO
<https://opensource.com/article/18/3/cla-vs-dco-whats-difference>
Drop the CLA requirement completely
Keep CLA Assistant as is, and exclude some repos; moving them to CLA Assistant
lite or something else.
etc.
Another conversation that may be needed, along with this or separate, is how we
inform contributors using external systems like Netlify CMS and etc. about what
the contributor license is (e.g. CC BY 4.0), privacy policy, code of conduct
and etc.
It would be great to hear what the community thinks about this and what
suggestions you all may have.
Thanks
Justin
_______________________________________________________
fluid-work mailing list - fluid-work@lists.idrc.ocad.ca
To unsubscribe, change settings or access archives,
see https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work