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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.