2019-03-21 18:44:38

by Sean Christopherson

[permalink] [raw]
Subject: [PATCH v2] docs: Clarify the usage and sign-off requirements for Co-developed-by

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 <[email protected]>
Cc: Jani Nikula <[email protected]>
Cc: Jorge Ramirez-Ortiz <[email protected]>
Cc: Jonathan Cameron <[email protected]>
Cc: Joe Perches <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Niklas Cassel <[email protected]>
Cc: Jonathan Corbet <[email protected]>
Signed-off-by: Sean Christopherson <[email protected]>
---

v1: https://lkml.kernel.org/r/[email protected]
v2: Rewrite the blurb to state standard sign-off procedure should be
followed as opposed to dictating the original author's SOB be last.

Documentation/process/submitting-patches.rst | 24 +++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)

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 <[email protected]>
+ Signed-off-by: First Co-Author <[email protected]>
+ Co-developed-by: Second Co-Author <[email protected]>
+ Signed-off-by: Second Co-Author <[email protected]>
+ Signed-off-by: Original Author <[email protected]>
+
+Example of a patch submitted by a co-author::
+
+ Signed-off-by: Original Author <[email protected]>
+ Co-developed-by: Submitting Co-Author <[email protected]>
+ Signed-off-by: Submitting Co-Author <[email protected]>


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



2019-03-21 19:15:06

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v2] docs: Clarify the usage and sign-off requirements for Co-developed-by

On Thu, Mar 21, 2019 at 11:43:16AM -0700, Sean Christopherson wrote:
> 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 <[email protected]>
> Cc: Jani Nikula <[email protected]>
> Cc: Jorge Ramirez-Ortiz <[email protected]>
> Cc: Jonathan Cameron <[email protected]>
> Cc: Joe Perches <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: Niklas Cassel <[email protected]>
> Cc: Jonathan Corbet <[email protected]>
> Signed-off-by: Sean Christopherson <[email protected]>

Reviewed-by: Greg Kroah-Hartman <[email protected]>

2019-03-21 19:24:54

by Sean Christopherson

[permalink] [raw]
Subject: Re: [PATCH v2] docs: Clarify the usage and sign-off requirements for Co-developed-by

On Thu, Mar 21, 2019 at 11:43:16AM -0700, Sean Christopherson wrote:
> 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 <[email protected]>
> Cc: Jani Nikula <[email protected]>
> Cc: Jorge Ramirez-Ortiz <[email protected]>
> Cc: Jonathan Cameron <[email protected]>
> Cc: Joe Perches <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: Niklas Cassel <[email protected]>
> Cc: Jonathan Corbet <[email protected]>
> Signed-off-by: Sean Christopherson <[email protected]>
> ---
>
> v1: https://lkml.kernel.org/r/[email protected]
> v2: Rewrite the blurb to state standard sign-off procedure should be
> followed as opposed to dictating the original author's SOB be last.
>
> Documentation/process/submitting-patches.rst | 24 +++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)
>
> 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 <[email protected]>
> + Signed-off-by: First Co-Author <[email protected]>
> + Co-developed-by: Second Co-Author <[email protected]>
> + Signed-off-by: Second Co-Author <[email protected]>
> + Signed-off-by: Original Author <[email protected]>
> +
> +Example of a patch submitted by a co-author::
> +
> + Signed-off-by: Original Author <[email protected]>
> + Co-developed-by: Submitting Co-Author <[email protected]>
> + Signed-off-by: Submitting Co-Author <[email protected]>
>
>
> 13) Using Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: and Fixes:
> --

Belatedly discovered that Documentation/process/5.Posting.rst has a nearly
identical section on Co-developed-by. I'll send a v3 to tweak that
verbiage as well and add a link to submitting-patches.rst.

2019-03-21 22:48:23

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH v2] docs: Clarify the usage and sign-off requirements for Co-developed-by

On Thu, 2019-03-21 at 12:23 -0700, Sean Christopherson wrote:
> On Thu, Mar 21, 2019 at 11:43:16AM -0700, Sean Christopherson wrote:
> > 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

While I still think co-developed-by: is unnecessary and
almost none of the existing uses of this have this
sequence of "Co-developed-by: <name/email>" followed directly
by "Signed-off-by: <same name/email>", here's a possible
checkpatch addition for it.

---
scripts/checkpatch.pl | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index d0001fd1112d..e938fd56cc20 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2687,6 +2687,15 @@ sub process {
} else {
$signatures{$sig_nospace} = 1;
}
+
+# Check Co-developed-by: suceeded by Signed-off-by: with same name and email
+ if ($sign_off =~ /^signed-off-by:$/i &&
+ $linenr > 1 &&
+ $rawlines[$linenr - 2] =~ /^\s*co-developed-by:\s*(.*)/i &&
+ $1 ne $email) {
+ WARN("BAD_SIGN_OFF",
+ "Co-developed-by: should be suceeded by Signed-off-by: with same name/email\n" . "$here\n" . $rawlines[$linenr - 2] . "\n" . $rawline);
+ }
}

# Check email subject for common tools that don't need to be mentioned


2019-03-21 23:37:39

by Tobin C. Harding

[permalink] [raw]
Subject: Re: [PATCH v2] docs: Clarify the usage and sign-off requirements for Co-developed-by

On Thu, Mar 21, 2019 at 03:47:26PM -0700, Joe Perches wrote:
> On Thu, 2019-03-21 at 12:23 -0700, Sean Christopherson wrote:
> > On Thu, Mar 21, 2019 at 11:43:16AM -0700, Sean Christopherson wrote:
> > > 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
>
> While I still think co-developed-by: is unnecessary and
> almost none of the existing uses of this have this
> sequence of "Co-developed-by: <name/email>" followed directly
> by "Signed-off-by: <same name/email>", here's a possible
> checkpatch addition for it.

Tested-by: Tobin C. Harding <[email protected]>

Catches missing SOB of co-developer.

Hope this helps,
Tobin.