Transitioning from the Contributor License Agreement (CLA) to the Developer Certificate of Origin (DCO) #4961
Replies: 2 comments 2 replies
-
|
This is a welcome change to me, but a couple of people in the Discord and I have voiced there's not an apparent / simple way to automate this for all of our commits. It may become a pinch point for first-time contributors to have to handle adding it to all of their commits, especially if they have a multi-commit branch they're hoping to contribute. Support automatic signoff in git guis seems hit-or-miss, too. My preferred Sublime Merge has no zero support for it, and the Github Desktop app seems to be in a spot as well. I did find this article discussing a few ways to accomplish it, but it still may be burdensome for some. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hey everyone! Here are the details of our upcoming transition from the CLA to the DCO. We’re doing this to streamline the contribution process and remove friction for our community.
This change aims to make contributing easier, faster, and more transparent for everyone. I’m providing this to everyone today so that we can collect feedback as we determine next steps in its implementation.
The Current Challenges with the CLA
While the CLA served its purpose, it presented several ongoing difficulties for contributors:
Introducing the Developer Certificate of Origin (DCO)
The DCO is a simple, lightweight statement that asserts you have the right to submit the contribution under the project's license.
Benefits of the DCO:
The DCO Agreement
We will be utilizing the standard DCO text provided by the Linux Foundation. By signing your commit, you are agreeing to the following terms:
You can find the Linux Foundation’s current DCO terms here: https://developercertificate.org/
DCO Process: Signing Off Your Commits
The DCO is enforced by requiring a "Signed-off-by" line in the commit message of every commit. This is done using a simple command-line flag when making your commit.
How to Sign Your Commits:
1. The Standard Commit Command:
This is how you commit today:
2. The DCO-Compliant Commit Command:
This is how you will be committing once the DCO is in place. I encourage everyone to start doing this today:
When you use the
-sflag (which is a shortcut for--signoff), Git automatically appends the following line to your commit message using the name and email configured in yourgit config:Important: Every commit in a Pull Request must be signed by the original author of that commit for the PR to be merged. We will have overrides for this in the beginning to help ease the migration - however we intend to use that increasingly sparingly as time goes on.
Enforcement
We will be using the
dcoappto automatically check for the required "Signed-off-by" line on all incoming commits and PRs: https://github.com/dcoapp/appWe appreciate your cooperation and feedback as we transition to this new model. The goal here is to make contributions easy and auditable, while improving our overall legal risk mitigation and compliance. I look forward to everyone’s feedback!
Beta Was this translation helpful? Give feedback.
All reactions