Last year, we introduced our DCO (Developer Certificate of Origin), the purpose was to certify that each contributor is allowed to make contributions and that the open-source project has the right to distribute them under the MIT license. In order to implement this, we installed the DCO GitHub App to check that every contributor signed their commit as proof of their commitment and agreement to the DCO.
But… it was a nightmare for everyone
The developer experience as a contributor to the project wasn’t that great with such a system. It was confusing as a developer to sign each commit git commit -s -m 'This is my commit message' by adding the “-s” option to the commit command. If one of the commits wasn’t signed, it forces you to rebase, then amends the commit and forces you to push your branch again.
In fact, the DCO bot only checks if the commits are signed once the Pull Request is submitted. It would have been better if this was checked before but it wasn’t possible by using the DCO GitHub App.
The trick is to create an alias to the Git commit command to automatically sign every commit. However, we couldn’t ask every contributor who already has its own alias to do that. The overall feeling that we were all jaded to sign commits, as contributors but also as maintainers.
Then comes the seamless solution
What if I told you that you could just register your GitHub handle and email once, and then you could contribute as much as you want without thinking about signing commits or without having to worry about that DCO bot that rejects your Pull Request?
Well, let me introduce the CLA (Contributor License Agreement). From a legal perspective, it does the same thing as the DCO but it offers a far better developer experience. As it has been successfully implemented on the official React Github repository, the CLA bot will ask you once to sign the CLA online to ensure as a contributor that you are allowed to make contributions and give the permissions to the open-source project to distribute the code under MIT license. The difference is that it also applies to your previous and next contributions. No need to sign it twice!
We hope you will enjoy that change, as usual, we are open to feedback, your thoughts and insights matter a lot to us. Our goal and mission are to co-develop the best open-source Headless CMS as possible, without you (the community) and the contributors nothing would be possible. Thank you for your contributions and support!