{"thread":{"id":"54458","subject":"[PATCH v2 0/3] Claryfing the meaning of the sign-off","startedAt":"2020-10-18T19:49:29Z","lastAt":"2020-10-18T23:31:49Z","messageCount":5,"participants":["Junio C Hamano","Taylor Blau"],"isPatch":true,"patchVersion":2,"patchTotal":3},"messages":[{"id":"407855","messageId":"20201018194912.2716372-1-gitster@pobox.com","threadId":"54458","inReplyTo":null,"subject":"[PATCH v2 0/3] Claryfing the meaning of the sign-off","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-18T19:49:09Z","receivedAt":"2020-10-18T19:49:29Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"So here is to tie the loose ends, based on inputs to the first\nround.\n\n * [1/3] is new; this is a preparatory clean-up to dedup two very\n   similar paragraphs in the existing documentation, thanks to the\n   idea by Philippe Blain.\n\n * [2/3] is text taken from Bradley's patch to update the manpages;\n   thanks to the preparatory clean-up, we no longer need to\n   duplicate the new text.  Grammofix pointed out by Ted Ts'o has\n   also been applied.\n\n * [3/3] clarifies what sign-off means to _this_ project.  This step\n   hasn't changed from what has been queued in 'seen'.\n\nFor those who missed the original, it appears at \n\n    lore.kernel.org/git/20201015215933.96425-1-bkuhn@sfconservancy.org\n\nBradley M. Kuhn (1):\n  Documentation: clarify and expand description of --signoff\n\nJunio C Hamano (2):\n  doc: preparatory clean-up of description on the sign-off option\n  SubmittingPatches: clarify DCO is our --signoff rule\n\n Documentation/SubmittingPatches  | 25 ++++++++++++++-----------\n Documentation/git-commit.txt     | 10 ++--------\n Documentation/merge-options.txt  | 11 +----------\n Documentation/signoff-option.txt | 18 ++++++++++++++++++\n 4 files changed, 35 insertions(+), 29 deletions(-)\n create mode 100644 Documentation/signoff-option.txt\n"},{"id":"407856","messageId":"20201018194912.2716372-2-gitster@pobox.com","threadId":"54458","inReplyTo":"20201018194912.2716372-1-gitster@pobox.com","subject":"[PATCH v2 1/3] doc: preparatory clean-up of description on the sign-off option","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-18T19:49:10Z","receivedAt":"2020-10-18T19:49:30Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Almost identical text on the signed-off-by trailer appears in the\ndocumentation for \"git commit\" and \"git merge\" and its friends.\n\nIntroduce a new signoff-options.txt file to be shared.  A couple\nthings of note are:\n\n - The short-form \"-s\" is available only in \"git commit\", but not in\n   commands that are friends of \"git merge\", as it is used as a\n   short-hand for \"--strategy\".\n\n - The original lacks description on the negated \"--no-signoff\" form\n   on \"git commit\" side, but it equally is applicable.  It however\n   was unclear in the original text that not adding a Signed-off-by\n   trailer is the default, so rephrase to explain it as a way to\n   countermand a --signoff option that appeared earlier on the same\n   command line.\n\nThis is in preparation to apply a further clarification on what\nexactly the Signed-off-by trailer means.\n\nSuggested-by: Philippe Blain <levraiphilippeblain@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n\n * It initially seemed that the update in [v2 2/3] didn't need too\n   many iterations to complete, but it turned out that a preliminary\n   clean-up would make it easier to iterate on the text after all.\n\n Documentation/git-commit.txt     | 10 ++--------\n Documentation/merge-options.txt  | 11 +----------\n Documentation/signoff-option.txt | 14 ++++++++++++++\n 3 files changed, 17 insertions(+), 18 deletions(-)\n create mode 100644 Documentation/signoff-option.txt\n\ndiff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\nindex a3baea32ae..17150fa7ea 100644\n--- a/Documentation/git-commit.txt\n+++ b/Documentation/git-commit.txt\n@@ -59,6 +59,7 @@ commit by giving the same set of parameters (options and paths).\n If you make a commit and then find a mistake immediately after\n that, you can recover from it with 'git reset'.\n \n+:git-commit: 1\n \n OPTIONS\n -------\n@@ -163,14 +164,7 @@ The `-m` option is mutually exclusive with `-c`, `-C`, and `-F`.\n \tmessage, the commit is aborted.  This has no effect when a message\n \tis given by other means, e.g. with the `-m` or `-F` options.\n \n--s::\n---signoff::\n-\tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\n-\tthe rights to submit this work under the same license and\n-\tagrees to a Developer Certificate of Origin\n-\t(see http://developercertificate.org/ for more information).\n+include::signoff-option.txt[]\n \n -n::\n --no-verify::\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 80d4831662..eb0aabd396 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -77,16 +77,7 @@ When not possible, refuse to merge and exit with a non-zero status.\n With --no-log do not list one-line descriptions from the\n actual commits being merged.\n \n---signoff::\n---no-signoff::\n-\tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\n-\tthe rights to submit this work under the same license and\n-\tagrees to a Developer Certificate of Origin\n-\t(see http://developercertificate.org/ for more information).\n-+\n-With --no-signoff do not add a Signed-off-by line.\n+include::signoff-option.txt[]\n \n --stat::\n -n::\ndiff --git a/Documentation/signoff-option.txt b/Documentation/signoff-option.txt\nnew file mode 100644\nindex 0000000000..d1c6713774\n--- /dev/null\n+++ b/Documentation/signoff-option.txt\n@@ -0,0 +1,14 @@\n+ifdef::git-commit[]\n+-s::\n+endif::git-commit[]\n+--signoff::\n+--no-signoff::\n+\tAdd Signed-off-by line by the committer at the end of the commit\n+\tlog message.  The meaning of a signoff depends on the project,\n+\tbut it typically certifies that committer has\n+\tthe rights to submit this work under the same license and\n+\tagrees to a Developer Certificate of Origin\n+\t(see http://developercertificate.org/ for more information).\n++\n+The --no-signoff option can be used to countermand an earlier --signoff\n+option on the command line.\n-- \n2.29.0-rc2-130-g9dc1ca14f3\n\n"},{"id":"407857","messageId":"20201018194912.2716372-3-gitster@pobox.com","threadId":"54458","inReplyTo":"20201018194912.2716372-1-gitster@pobox.com","subject":"[PATCH v2 2/3] Documentation: clarify and expand description of --signoff","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-18T19:49:11Z","receivedAt":"2020-10-18T19:49:33Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"From: \"Bradley M. Kuhn\" <bkuhn@sfconservancy.org>\n\nBuilding on past documentation improvements in b2c150d3aa (Expand\ndocumentation describing --signoff, 2016-01-05), further clarify\nthat any project using Git may and often does set its own policy.\n\nHowever, leave intact reference to the Linux DCO, which Git also\nuses.  It is reasonable for Git to advocate for its own Signed-off-by\nmethodology in its documentation, as long as the documentation\nremains respectful that YMMV and other projects may well have very\ndifferent contributor representations tied to Signed-off-by.\n\nSigned-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n Documentation/signoff-option.txt | 16 ++++++++++------\n 1 file changed, 10 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/signoff-option.txt b/Documentation/signoff-option.txt\nindex d1c6713774..fbff8dd5be 100644\n--- a/Documentation/signoff-option.txt\n+++ b/Documentation/signoff-option.txt\n@@ -3,12 +3,16 @@ ifdef::git-commit[]\n endif::git-commit[]\n --signoff::\n --no-signoff::\n-\tAdd Signed-off-by line by the committer at the end of the commit\n-\tlog message.  The meaning of a signoff depends on the project,\n-\tbut it typically certifies that committer has\n-\tthe rights to submit this work under the same license and\n-\tagrees to a Developer Certificate of Origin\n-\t(see http://developercertificate.org/ for more information).\n+\tAdd a Signed-off-by trailer by the committer at the end of the commit\n+\tlog message.  The meaning of a signoff depends on the project\n+\tto which you're committing.  For example, it may certify that\n+\tthe committer has the rights to submit the work under the\n+\tproject's license or agrees to some contributor representation,\n+\tsuch as a Developer Certificate of Origin.\n+\t(See http://developercertificate.org for the one used by the\n+\tLinux kernel and Git projects.)  Consult the documentation or\n+\tleadership of the project to which you're contributing to\n+\tunderstand how the signoffs are used in that project.\n +\n The --no-signoff option can be used to countermand an earlier --signoff\n option on the command line.\n-- \n2.29.0-rc2-130-g9dc1ca14f3\n\n"},{"id":"407858","messageId":"20201018194912.2716372-4-gitster@pobox.com","threadId":"54458","inReplyTo":"20201018194912.2716372-1-gitster@pobox.com","subject":"[PATCH v2 3/3] SubmittingPatches: clarify DCO is our --signoff rule","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-10-18T19:49:12Z","receivedAt":"2020-10-18T19:50:41Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The description on sign-off and DCO was written back in the days\nwhere there was only a choice between \"use sign-off and it means the\ncontributor agrees to the Linux-kernel style DCO\" and \"not using\nsign-off at all will make your patch unusable\".  These days, we are\ntrying to clarify that the exact meaning of a sign-off varies\nproject to project.\n\nLet's be more explicit when presenting what _our_ rules are.  It is\nof secondary importance that it originally came from the kernel\nproject, so move the description as a historical note at the end,\nwhile cautioning that what a sign-off means to us may be different from\nwhat it means to other projects contributors may have been used to.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n Documentation/SubmittingPatches | 25 ++++++++++++++-----------\n 1 file changed, 14 insertions(+), 11 deletions(-)\n\ndiff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches\nindex 291b61e262..f83a050b35 100644\n--- a/Documentation/SubmittingPatches\n+++ b/Documentation/SubmittingPatches\n@@ -300,15 +300,12 @@ patch.\n [[sign-off]]\n === Certify your work by adding your \"Signed-off-by: \" line\n \n-To improve tracking of who did what, we've borrowed the\n-\"sign-off\" procedure from the Linux kernel project on patches\n-that are being emailed around.  Although core Git is a lot\n-smaller project it is a good discipline to follow it.\n+To improve tracking of who did what, we ask you to certify that you\n+wrote the patch or have the right to pass it on under the same license\n+as ours, by \"signing off\" your patch.  Without sign-off, we cannot\n+accept your patches.\n \n-The sign-off is a simple line at the end of the explanation for\n-the patch, which certifies that you wrote it or otherwise have\n-the right to pass it on as an open-source patch.  The rules are\n-pretty simple: if you can certify the below D-C-O:\n+If you can certify the below D-C-O:\n \n [[dco]]\n .Developer's Certificate of Origin 1.1\n@@ -338,14 +335,15 @@ d. I understand and agree that this project and the contribution\n    this project or the open source license(s) involved.\n ____\n \n-then you just add a line saying\n+you add a \"Signed-off-by\" trailer to your commit, that looks like\n+this:\n \n ....\n \tSigned-off-by: Random J Developer <random@developer.example.org>\n ....\n \n-This line can be automatically added by Git if you run the git-commit\n-command with the -s option.\n+This line can be added by Git if you run the git-commit command with\n+the -s option.\n \n Notice that you can place your own Signed-off-by: line when\n forwarding somebody else's patch with the above rules for\n@@ -353,6 +351,11 @@ D-C-O.  Indeed you are encouraged to do so.  Do not forget to\n place an in-body \"From: \" line at the beginning to properly attribute\n the change to its true author (see (2) above).\n \n+This procedure originally came from the Linux kernel project, so our\n+rule is quite similar to theirs, but what exactly it means to sign-off\n+your patch differs from project to project, so it may be different\n+from that of the project you are accustomed to.\n+\n [[real-name]]\n Also notice that a real name is used in the Signed-off-by: line. Please\n don't hide your real name.\n-- \n2.29.0-rc2-130-g9dc1ca14f3\n\n"},{"id":"407867","messageId":"20201018233136.GA4204@nand.local","threadId":"54458","inReplyTo":"20201018194912.2716372-1-gitster@pobox.com","subject":"Re: [PATCH v2 0/3] Claryfing the meaning of the sign-off","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2020-10-18T23:31:36Z","receivedAt":"2020-10-18T23:31:49Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"Hi Junio,\n\nOn Sun, Oct 18, 2020 at 12:49:09PM -0700, Junio C Hamano wrote:\n> So here is to tie the loose ends, based on inputs to the first\n> round.\n\nAll of this looks very good to me, and I really appreciate 1/3, since it\nmade reviewing 2/3 much easier (the combination of seeing more-or-less\nthe same diff twice combined with the re-wrapping made it tricky to\nread, at least for me).\n\n  Reviewed-by: Taylor Blau <me@ttaylorr.com>\n\nThanks,\nTaylor\n"}]}