Subject: Re: [PATCH 0/1] Clarify and expand description of --signoff

From: Junio C Hamano <[email-masked]>
Date: Thu, 15 Oct 2020 19:30:34 -0700

Jeff King <[email-masked]> writes:

> We do already say pretty clearly what signed-off-by means in the
> project:
>
>   $ grep -A14 '\[\[sign-off]]' Documentation/SubmittingPatches 
>   [[sign-off]]
>   === Certify your work by adding your "Signed-off-by: " line
>   
>   To improve tracking of who did what, we've borrowed the
>   "sign-off" procedure from the Linux kernel project on patches
>   that are being emailed around.  Although core Git is a lot
>   smaller project it is a good discipline to follow it.
>   
>   The sign-off is a simple line at the end of the explanation for
>   the patch, which certifies that you wrote it or otherwise have
>   the right to pass it on as an open-source patch.  The rules are
>   pretty simple: if you can certify the below D-C-O:
>   
>   [[dco]]
>   .Developer's Certificate of Origin 1.1
>
> What should we change there? We could perhaps bring up signoffs earlier
> or more prominently. Or tie it in to the git-commit docs by saying
> explicitly: these are _our_ project rules for signoffs.

That is almost good enough, but you can easily see that it was
written back when the world only had choice between "Linux-style
signed-off-by that means Linux-style DCO requirement" and "not
signing off", and we chose to be in the former camp.

I think the most important clarification Bradley's making is that we
no longer live in such a world.  "signed-off-by" means different
things for different projects, and what we use is this one.  That
choice may have been adopted from the Linux project and may have
been identical to what they used back when we adopted it, but that
is of secondary importance (most importantly, if they changed what
it means, that won't directly affect this project).

Perhaps I'd rewrite these two paragraphs like so:

    To improve tracking of who did what, we use the "sign off"
    procedure.  By adding the "Signed-off-by:" line in the trailer
    of your commit, you certify to this project the below D-C-O that
    you have the right to pass your patch on under the same license
    as ours.  Without such a sign-off, we cannot accept your patch:

    [[dco]]
    .Developer's Certificate of Origin 1.1

    ...

and after the DCO text, add this paragraph as a historical reference.

    This procedure originally came from the Linux kernel project, so
    our rule is quite similar to theirs, but what exactly it means
    to sign-off your patch differs from project to project, so it
    may be different from that of the project you are accustomed to.

either before or after the "Random J Developer" example.  I think we
should remove the "you can do this automatically by giving -s" or at
least the word "automatically" from that sentence, while we are at
it.

Thanks.