Do you want explicit licensing and publishing permissions for each
patch you incorporate into your project? Do you miss the simplicity
of Signed-off-by tags you use when developing the Linux kernel and
Git? This repository extracts the Developer Certificate of Origin and
Signed-off-by documentation from both projects, and presents them in a
project-agnostic manner. To incorporate into your own project,
1. Merge the documentation into your project:
$ git remote add s-o-b git://tremily.us/signed-off-by.git
$ git fetch s-o-b
$ git merge s-o-b/signed-off-by
2. Tell your developers by pointing to
`Documentation/SubmittingPatches` from your `README` or
`CONTRIBUTING` documentation and sending a message to your mailing
To make it easier to merge bits and pieces of this documentation into
your project, I've split the contents into several branches:
This branch, mostly a container for this `README`.
`Documentation/developer-certificate-of-origin` contains the full
text of the DCO (verbatim copies only), and
`Documentation/SubmittingPatches` (GPLv2-exact) explains how to
use the DCO with Signed-off-by tags.
The license under which `Documentation/SubmittingPatches` is
distributed. Check here to determine if you are allowed to merge
`signed-off-by` into your project.
An example `CONTRIBUTING` file in case your license does not allow
you to merge `signed-off-by`. The contributing file is released
under the very permissive CC0 1.0 unported.
A version of the `contributing` branch adapted for GitHub-based
The text of all the licenses related to this repository. Includes
`GPLv2-exact` for `SubmittingPatches`, `CC0-1.0` for `CONTRIBUTING`,
and `CC-BY-3.0` for `CC0-1.01`. It also includes the short,
human-readable versions of the CC licenses.
For work that started in other projects (e.g. the Linux kernel and
Git), I've cherry-picked the relevant commits from the project
repositories to preserve commit metadata. For each of these commits,
I've attached a note with the commit hash, original commit message,
and original commit repository. Fetch the `refs/notes/commits`
reference from my public repository if you want these notes:
$ git config --add remote.origin.fetch '+refs/notes/*:refs/notes/*'
$ git fetch origin
If I altered the original patch by removing context, I've added my
s-o-b. Otherwise the original patch applied cleanly, and I left my