Git is a source code version control system, and it has a feature where you can attach a message to the code that you write saying Signed-off-by: Author Name <[email protected]>
. (This is in addition to Author: ...
which is always present.)
To me it isn't obvious what this means. What exactly are you signing off? I'm not the only one. According to an answer there
It was introduced in the wake of the SCO lawsuit, (and other accusations of copyright infringement from SCO, most of which they never actually took to court), as a Developers Certificate of Origin. It is used to say that you certify that you have created the patch in question, or that you certify that to the best of your knowledge, it was created under an appropriate open-source license, or that it has been provided to you by someone else under those terms. This can help establish a chain of people who take responsibility for the copyright status of the code in question, to help ensure that copyrighted code not released under an appropriate free software (open source) license is not included in the kernel.
The problem is, "Signed-off-by" doesn't say "I certify that I write this code". It doesn't even refer to the DCO which actually does say that.
Furthermore some projects have an automated check for this line and give you this message if it is missing.
There is one commit incorrectly signed off. This means that the author of this commit failed to include a Signed-off-by line in the commit message.
To avoid having PRs blocked in the future, always include
Signed-off-by: Author Name <[email protected]>
in every commit message. You can also do this automatically by using the -s flag (i.e.,git commit -s
).
It explains in slightly more detail further down but the first lines are basically "you forgot this line, this error will go away if you add it", so many people will just do that, without understanding what they are "signing off".
Given that it's not clear what "signed-off-by" means, and people are encouraged to just add that line without understanding it, wouldn't that make this legally pointless?