Difference between revisions of "Developer Certificate Of Origin"
(→Resources) |
|||
(8 intermediate revisions by 4 users not shown) | |||
Line 3: | Line 3: | ||
to the Linux kernel. | to the Linux kernel. | ||
− | The full text of the DCO is: | + | The text of the DCO is located in the file [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst Documentation/process/submitting-patches.rst] |
+ | in the Linux kernel source tree. | ||
+ | |||
+ | The full text of the DCO version 1.1 (the current version as of 2011) is: | ||
+ | |||
+ | <pre> | ||
+ | Developer's Certificate of Origin 1.1 | ||
+ | |||
+ | By making a contribution to this project, I certify that: | ||
+ | |||
+ | (a) The contribution was created in whole or in part by me and I | ||
+ | have the right to submit it under the open source license | ||
+ | indicated in the file; or | ||
+ | |||
+ | (b) The contribution is based upon previous work that, to the best | ||
+ | of my knowledge, is covered under an appropriate open source | ||
+ | license and I have the right under that license to submit that | ||
+ | work with modifications, whether created in whole or in part | ||
+ | by me, under the same open source license (unless I am | ||
+ | permitted to submit under a different license), as indicated | ||
+ | in the file; or | ||
+ | |||
+ | (c) The contribution was provided directly to me by some other | ||
+ | person who certified (a), (b) or (c) and I have not modified | ||
+ | it. | ||
+ | |||
+ | (d) I understand and agree that this project and the contribution | ||
+ | are public and that a record of the contribution (including all | ||
+ | personal information I submit with it, including my sign-off) is | ||
+ | maintained indefinitely and may be redistributed consistent with | ||
+ | this project or the open source license(s) involved. | ||
+ | </pre> | ||
+ | |||
+ | There is a kernel thread discussing the original proposal from Linus | ||
+ | [https://lkml.org/lkml/2004/5/23/10 here (lkml.org),] and | ||
+ | [http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=1YUY7-6fF-11%40gated-at.bofh.it&rnum=1&prev=/groups%3Fq%3Dg:thl3436074442d%26dq%3D%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D1YUY7-6fF-11%2540gated-at.bofh.it here (google groups).] And | ||
+ | [http://marc.theaimsgroup.com/?l=linux-kernel&m=108529494402563&w=2 here (aimsgroup).] | ||
+ | |||
+ | Here is another article describing rationale for the 1.1 version: | ||
+ | [http://kerneltrap.org/node/5277 Clarifying the Developer's Certificate of Origin] KernelTrap, June 14, 2005 | ||
+ | |||
+ | == Example == | ||
+ | Here is an example Signed-off-by line, that indicates the submitter accepts the DCO: | ||
+ | <pre> | ||
+ | Signed-off-by: John Doe <john.doe@hisdomain.com> | ||
+ | </pre> | ||
+ | |||
+ | == Resources == | ||
+ | * Using '-s' with 'git commit' will automatically add a Signed-off-by line to your commit message. | ||
+ | * The kernel tool checkpatch.pl scans kernel patches for errors, and will indicate if the Signed-off-by line is missing. | ||
+ | |||
+ | Here is what a checkpatch.pl error for missing SoB looks like: | ||
+ | |||
+ | $ scripts/checkpatch.pl init/0001-main-add-debug-printk.patch | ||
+ | ERROR: Missing Signed-off-by: line(s) | ||
+ | |||
+ | total: 1 errors, 0 warnings, 7 lines checked | ||
+ | |||
+ | NOTE: For some of the reported defects, checkpatch may be able to | ||
+ | mechanically convert to the typical style using --fix or --fix-inplace. | ||
+ | |||
+ | init/0001-main-add-debug-printk.patch has style problems, please review. | ||
+ | |||
+ | NOTE: If any of the errors are false positives, please report | ||
+ | them to the maintainer, see CHECKPATCH in MAINTAINERS. | ||
+ | |||
+ | * There is an app for github which will check for Signed-off-by lines, and automatically mark whether a pull request has one or not. | ||
+ | ** See https://probot.github.io/apps/dco/ | ||
+ | |||
+ | == Older versions == | ||
+ | |||
+ | The original DCO, version 1.0, read: | ||
<pre> | <pre> | ||
Line 22: | Line 93: | ||
certified (a), (b) or (c) and I have not modified it. | certified (a), (b) or (c) and I have not modified it. | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:Categories]] | [[Category:Categories]] |
Latest revision as of 10:12, 29 January 2020
In May 2004, the kernel development community decided to standardize on a requirement to adhere to a Developer Certificate of Origin for contributions to the Linux kernel.
The text of the DCO is located in the file Documentation/process/submitting-patches.rst in the Linux kernel source tree.
The full text of the DCO version 1.1 (the current version as of 2011) is:
Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
There is a kernel thread discussing the original proposal from Linus here (lkml.org), and here (google groups). And here (aimsgroup).
Here is another article describing rationale for the 1.1 version: Clarifying the Developer's Certificate of Origin KernelTrap, June 14, 2005
Example
Here is an example Signed-off-by line, that indicates the submitter accepts the DCO:
Signed-off-by: John Doe <john.doe@hisdomain.com>
Resources
- Using '-s' with 'git commit' will automatically add a Signed-off-by line to your commit message.
- The kernel tool checkpatch.pl scans kernel patches for errors, and will indicate if the Signed-off-by line is missing.
Here is what a checkpatch.pl error for missing SoB looks like:
$ scripts/checkpatch.pl init/0001-main-add-debug-printk.patch ERROR: Missing Signed-off-by: line(s) total: 1 errors, 0 warnings, 7 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. init/0001-main-add-debug-printk.patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS.
- There is an app for github which will check for Signed-off-by lines, and automatically mark whether a pull request has one or not.
Older versions
The original DCO, version 1.0, read:
Developer's Certificate of Origin 1.0 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.