Native support for CLA sign-off (starting with DCO)
Description
https://en.m.wikipedia.org/wiki/Developer_Certificate_of_Origin
I believe the typical requirement for DCO commits is the same as committer verification in gitsign (i.e. that the identity matches the commit author).
I think there are two integration points worth considering:
- when a commit message contains a
Signed-off-byline, enablegitsign.matchCommitterunless it is explicitly set tofalse - add support for specifying well-known CLAs in the form of extra
scopesrequested during the OAuth flow
Perhaps these scopes could be specified in the form of URNs (ex. urn:sigstore:gitsign:cla:dco)? Sigstore can then present the requested CLA(s) to the developer on the OAuth consent screen.
TBD how we map the acceptance of requested scopes into the JWTs and ultimately the signing certificate.
The idea would be to replace integrations like the DCO GitHub App with something like gitsign verify ... --cla dco.
🎉 I like it!
We've been a bit resistant to recommending gitsign as a replacement for DCO, since cryptographic signing serves a different purpose than the DCO sign-off (i.e. signing something w/ your identity doesn't mean you agree to a CLA), but I like the idea of using an extra scope to signify the DCO consent.