[PATCH v3] docs: Clarify the usage and sign-off requirements for Co-developed-by

From: Sean Christopherson
Date: Thu Mar 21 2019 - 16:01:07 EST


The documentation for Co-developed-by is a bit light on details, e.g. it
doesn't explicitly state that:

- Multiple Co-developed-by tags are perfectly acceptable
- Co-developed-by and Signed-off-by must be paired together
- SOB ordering should still follow standard sign-off procedure

Lack of explicit direciton has resulted in developers taking a variety
of approaches, often lacking any intent whatsoever, e.g. scattering SOBs
willy-nilly, collecting them all at the end or the beginning, etc...

Tweak the wording to make it clear that multiple co-authors are allowed,
and document the expectation that standard sign-off procedures are to
be followed. Provide examples to (hopefully) eliminate any ambiguity.

Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>
Cc: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@xxxxxxxxxx>
Cc: Jonathan Cameron <jic23@xxxxxxxxxx>
Cc: Joe Perches <joe@xxxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Niklas Cassel <niklas.cassel@xxxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
---

v1: https://lkml.kernel.org/r/20190320151140.32432-1-sean.j.christopherson@xxxxxxxxx
v2: https://lkml.kernel.org/r/20190321184316.8525-1-sean.j.christopherson@xxxxxxxxx
Rewrite the blurb to state standard sign-off procedure should be
followed as opposed to dictating the original author's SOB be last.
v3: Update a similar blurb in Documentation/process/5.Posting.rst

Documentation/process/5.Posting.rst | 8 +++----
Documentation/process/submitting-patches.rst | 24 +++++++++++++++++---
2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/Documentation/process/5.Posting.rst b/Documentation/process/5.Posting.rst
index 4213e580f273..c8cac58f0f93 100644
--- a/Documentation/process/5.Posting.rst
+++ b/Documentation/process/5.Posting.rst
@@ -216,10 +216,10 @@ The tags in common use are:
which can be found in :ref:`Documentation/process/submitting-patches.rst <submittingpatches>`
Code without a proper signoff cannot be merged into the mainline.

- - Co-developed-by: states that the patch was also created by another developer
- along with the original author. This is useful at times when multiple
- people work on a single patch. Note, this person also needs to have a
- Signed-off-by: line in the patch as well.
+ - Co-developed-by: states that the patch was co-created by other developer(s)
+ along with the original author. Every Co-developed-by: must be accompanied
+ by a Signed-off-by: of the co-author. Details and examples can be found in
+ :ref:`Documentation/process/submitting-patches.rst <submittingpatches>`.

- Acked-by: indicates an agreement by another developer (often a
maintainer of the relevant code) that the patch is appropriate for
diff --git a/Documentation/process/submitting-patches.rst b/Documentation/process/submitting-patches.rst
index be7d1829c3af..a7a9da68a384 100644
--- a/Documentation/process/submitting-patches.rst
+++ b/Documentation/process/submitting-patches.rst
@@ -545,10 +545,28 @@ person it names - but it should indicate that this person was copied on the
patch. This tag documents that potentially interested parties
have been included in the discussion.

-A Co-developed-by: states that the patch was also created by another developer
+A Co-developed-by: states that the patch was co-created by other developer(s)
along with the original author. This is useful at times when multiple people
-work on a single patch. Note, this person also needs to have a Signed-off-by:
-line in the patch as well.
+work on a single patch. Every Co-developed-by: must be immediately followed by
+a Signed-off-by: of the co-author. Standard sign-off procedure applies, i.e.
+the ordering of Co-developed-by:/Signed-off-by: pairs should reflect the
+chronological history of the patch insofar as possible. Notably, the last
+Signed-off-by: must always be that of the developer submitting the patch,
+regardless of whether they are the original author or a co-author.
+
+Example of a patch with multiple co-authors, submitted by the original author::
+
+ Co-developed-by: First Co-Author <first@xxxxxxxxxxxxxxxxxxxx>
+ Signed-off-by: First Co-Author <first@xxxxxxxxxxxxxxxxxxxx>
+ Co-developed-by: Second Co-Author <second@xxxxxxxxxxxxxxxxxxxx>
+ Signed-off-by: Second Co-Author <second@xxxxxxxxxxxxxxxxxxxx>
+ Signed-off-by: Original Author <original@xxxxxxxxxxxxxxxxxx>
+
+Example of a patch submitted by a co-author::
+
+ Signed-off-by: Original Author <original@xxxxxxxxxxxxxxxxxx>
+ Co-developed-by: Submitting Co-Author <sub@xxxxxxxxxxxxxxxxxxxx>
+ Signed-off-by: Submitting Co-Author <sub@xxxxxxxxxxxxxxxxxxxx>


13) Using Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: and Fixes:
--
2.21.0