From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
"Richard Henderson" <richard.henderson@linaro.org>,
"Alexander Graf" <agraf@csgraf.de>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Phil Mathieu-Daudé" <philmd@linaro.org>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Thomas Huth" <thuth@redhat.com>, "Kevin Wolf" <kwolf@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>
Subject: Re: [PATCH 1/2] docs: introduce dedicated page about code provenance / sign-off
Date: Thu, 23 Nov 2023 17:12:07 +0000 [thread overview]
Message-ID: <ZV-H507VjDKouaX_@redhat.com> (raw)
In-Reply-To: <CAFEAcA_1EkO3PnaYruMLWAaPHNLrrMXwuMohTi5gKLwa0P=Ljw@mail.gmail.com>
On Thu, Nov 23, 2023 at 01:01:00PM +0000, Peter Maydell wrote:
> On Thu, 23 Nov 2023 at 11:40, Daniel P. Berrangé <berrange@redhat.com> wrote:
> >
> > Currently we have a short paragraph saying that patches must include
> > a Signed-off-by line, and merely link to the kernel documentation.
> > The linked kernel docs have alot of content beyond the part about
>
> "a lot"
>
> > sign-off an thus is misleading/distracting to QEMU contributors.
>
> "and thus are"
>
> >
> > This introduces a dedicated 'code-provenance' page in QEMU talking
> > about why we require sign-off, explaining the other tags we commonly
> > use, and what to do in some edge cases.
>
> Good idea; I've felt for a while now that it was a little awkward
> to have to point people at that big kernel doc page.
>
>
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > ---
> > docs/devel/code-provenance.rst | 197 ++++++++++++++++++++++++++++++
> > docs/devel/index-process.rst | 1 +
> > docs/devel/submitting-a-patch.rst | 18 +--
> > 3 files changed, 201 insertions(+), 15 deletions(-)
> > create mode 100644 docs/devel/code-provenance.rst
> >
> > diff --git a/docs/devel/code-provenance.rst b/docs/devel/code-provenance.rst
> > new file mode 100644
> > index 0000000000..b4591a2dec
> > --- /dev/null
> > +++ b/docs/devel/code-provenance.rst
> > @@ -0,0 +1,197 @@
> > +.. _code-provenance:
> > +
> > +Code provenance
> > +===============
> > +
> > +Certifying patch submissions
> > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +
> > +The QEMU community **mandates** all contributors to certify provenance
> > +of patch submissions they make to the project. To put it another way,
> > +contributors must indicate that they are legally permitted to contribute
> > +to the project.
> > +
> > +Certification is achieved with a low overhead by adding a single line
> > +to the bottom of every git commit::
> > +
> > + Signed-off-by: YOUR NAME <YOUR@EMAIL>
> > +
> > +This existence of this line asserts that the author of the patch is
> > +contributing in accordance with the `Developer's Certificate of
> > +Origin <https://developercertifcate.org>`__:
> > +
> > +.. _dco:
> > +
> > +::
> > + 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.
> > +
> > +It is generally expected that the name and email addresses used in one
> > +of the ``Signed-off-by`` lines, matches that of the git commit ``Author``
> > +field. If the person sending the mail is also one of the patch authors,
> > +it is further expected that the mail ``From:`` line name & address match
> > +one of the ``Signed-off-by`` lines.
>
> Is it? Patches sent via the sr.ht service won't do that, and I'm
> pretty sure we've had a few contributors in the past who send
> patches from different addresses to avoid problems with their
> corporate mail server mangling patches. I think this would be
> better softened to something like a recommendation ("Generally
> you should use the same email addresses ... ").
Yes, I forgot about sr.ht being wierd in this respect, so I'll
take your suggestion.
> > +
> > + * **``Reviewed-by``**: when a QEMU community member reviews a patch
> > + on the mailing list, if they consider the patch acceptable, they
> > + should send an email reply containing a ``Reviewed-by`` tag.
> > +
> > + NB: a subsystem maintainer sending a pull request would replace
> > + their own ``Reviewed-by`` with another ``Signed-off-by``
>
> I agree with Philippe here -- you add signed-off-by, you don't
> replace reviewed-by.
Yep, will change that.
>
> > +
> > + * **``Acked-by``**: when a QEMU subsystem maintainer approves a patch
> > + that touches their subsystem, but intends to allow a different
> > + maintainer to queue it and send a pull request, they would send
> > + a mail containing a ``Acked-by`` tag.
>
> I would personally also say "Acked-by does not imply a full code
> review of the patch; if the subsystem maintainer has done a full
> review, they should use the Reviewed-by tag instead."
>
> But I know that there are some differences of opinion on exactly
> what Acked-by: means...
I'll incorporate something along those lines with a little fuzzyness
to give flexibility.
> > +
> > + * **``Tested-by``**: when a QEMU community member has functionally
> > + tested the behaviour of the patch in some manner, they should
> > + send an email reply conmtaning a ``Tested-by`` tag.
> > +
> > + * **``Reported-by``**: when a QEMU community member reports a problem
> > + via the mailing list, or some other informal channel that is not
> > + the issue tracker, it is good practice to credit them by including
> > + a ``Reported-by`` tag on any patch fixing the issue. When the
> > + problem is reported via the GitLab issue tracker, however, it is
> > + sufficient to just include a link to the issue.
>
> Maybe we should add a bit of encouraging text here along the lines of:
>
> Reviewing and testing is something anybody can do -- if you've
> reviewed the code or tested it, feel free to send an email with
> your tag to say you've done that, or to ask questions if there's
> part of the patch you don't understand.
>
> ? Or perhaps that would be better elsewhere; IDK.
I'll put a little bit in here but want to keep it relatively
concise, since we have other docs about more general contribution
practices.
> > +If the abandoned patch already had a ``Signed-off-by`` from the original
> > +author this **must** be preserved. The new contributor **must** then add
> > +their own ``Signed-off-by`` after the original one if they made any
> > +further changes to it. It is common to include a comment just prior to
> > +the new ``Signed-off-by`` indicating what extra changes were made. For
> > +example::
> > +
> > + Signed-off-by: Some Person <some.person@example.com>
> > + [Rebased and added support for 'foo']
> > + Signed-off-by: New Person <new.person@example.com>
>
> You might want to use two different email domains in this example;
> an abandoned project picked up by somebody from the same company
> (assuming the usual copyright-belongs-to-company) is a bit different
> from an abandoned project picked up by an entirely unrelated person.
Yes good idea.
> I think in this case it's also worth stating the general principles:
>
> ===begin===
> The general principles with picking up abandoned work are:
> * we should continue to credit the first author for their work
> * we should track the provenance of the code
> * we should also acknowledge the efforts of the person picking
> up the work
> * the commit messages should indicate who is responsible for
> what parts of the final patch
>
> In complicated cases or if in doubt, you can always ask on the
> mailing list for advice.
>
> If the new work you'd need to do to resubmit the patches is
> significant, it's worth dropping the original author a
> friendly email to let them know, in case you might be
> duplicating something the original author is still working on.
> ===endit===
>
> perhaps ?
I'll incorporate somethnig along these lines.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2023-11-23 17:12 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-23 11:40 [PATCH 0/2] docs: define policy forbidding use of "AI" / LLM code generators Daniel P. Berrangé
2023-11-23 11:40 ` [PATCH 1/2] docs: introduce dedicated page about code provenance / sign-off Daniel P. Berrangé
2023-11-23 11:58 ` Philippe Mathieu-Daudé
2023-11-23 17:08 ` Daniel P. Berrangé
2023-11-23 23:56 ` Michael S. Tsirkin
2023-11-23 13:01 ` Peter Maydell
2023-11-23 17:12 ` Daniel P. Berrangé [this message]
2023-11-23 13:16 ` Kevin Wolf
2023-11-23 17:12 ` Daniel P. Berrangé
2023-11-23 14:25 ` Michael S. Tsirkin
2023-11-23 17:16 ` Daniel P. Berrangé
2023-11-23 17:33 ` Michael S. Tsirkin
2023-11-24 11:11 ` Philippe Mathieu-Daudé
2023-11-24 11:27 ` Michael S. Tsirkin
2023-11-24 9:49 ` Kevin Wolf
2023-11-23 15:13 ` Stefan Hajnoczi
2024-01-27 14:36 ` Zhao Liu
2024-01-29 9:31 ` Daniel P. Berrangé
2024-01-29 9:35 ` Samuel Tardieu
2024-01-29 10:41 ` Peter Maydell
2024-01-29 11:00 ` Daniel P. Berrangé
2023-11-23 11:40 ` [PATCH 2/2] docs: define policy forbidding use of "AI" / LLM code generators Daniel P. Berrangé
2023-11-23 12:57 ` Alex Bennée
2023-11-23 17:37 ` Michal Suchánek
2023-11-23 23:27 ` Michael S. Tsirkin
2023-11-23 17:46 ` Daniel P. Berrangé
2023-11-23 23:53 ` Michael S. Tsirkin
2023-11-24 10:17 ` Kevin Wolf
2023-11-24 10:33 ` Alex Bennée
2023-11-24 10:42 ` Michael S. Tsirkin
2023-11-24 10:43 ` Peter Maydell
2023-11-24 11:02 ` Michael S. Tsirkin
2023-11-24 11:37 ` Daniel P. Berrangé
2023-11-24 11:39 ` Michael S. Tsirkin
2023-11-24 11:40 ` Michael S. Tsirkin
2023-11-23 13:20 ` Kevin Wolf
2023-11-23 14:35 ` Michael S. Tsirkin
2023-11-23 14:56 ` Manos Pitsidianakis
2023-11-23 15:13 ` Michael S. Tsirkin
2023-11-23 15:29 ` Philippe Mathieu-Daudé
2023-11-23 17:06 ` Michael S. Tsirkin
2023-11-23 17:29 ` Michal Suchánek
2023-11-23 18:05 ` Michael S. Tsirkin
2023-11-23 15:32 ` Alex Bennée
2023-11-23 18:02 ` Daniel P. Berrangé
2023-11-23 18:10 ` Peter Maydell
2023-11-24 10:25 ` Kevin Wolf
2023-11-24 10:37 ` Michael S. Tsirkin
2023-11-24 10:42 ` Manos Pitsidianakis
2023-11-23 17:58 ` Daniel P. Berrangé
2023-11-23 22:39 ` Michael S. Tsirkin
2023-11-24 9:06 ` Daniel P. Berrangé
2023-11-24 9:27 ` Michael S. Tsirkin
2023-11-24 10:21 ` Alex Bennée
2023-11-24 10:30 ` Michael S. Tsirkin
2023-11-24 11:41 ` Daniel P. Berrangé
2023-11-23 15:22 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZV-H507VjDKouaX_@redhat.com \
--to=berrange@redhat.com \
--cc=agraf@csgraf.de \
--cc=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=stefanha@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).