From: Paolo Bonzini <pbonzini@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
"Markus Armbruster" <armbru@redhat.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>
Subject: Re: [RFC PATCH 4/4] docs/code-provenance: make the exception process feasible
Date: Mon, 22 Sep 2025 17:10:24 +0200 [thread overview]
Message-ID: <ffaf300c-4f41-4741-899d-f0fc148ab2a2@redhat.com> (raw)
In-Reply-To: <aNFXJtQu9gFkIwLg@redhat.com>
On 9/22/25 16:03, Daniel P. Berrangé wrote:
> Whether we have our AI policy or not, contributors are still required
> to abide by the terms of the DCO, which requires them to understand
> the legal situation of any contribution.
>
> Our policy is effectively saying that most use of AI is such that we
> don't think it is possible for contributions to claim DCO compliance.
>
> If we think there are situations where it might be credible for a
> contributor to claim DCO compliance, we can try to find a way to
> describe that situation, without having to explicitly state our
> legal interpretation of the "copyrightable vs non-copyrightable"
> boundary.
Right. I am sure that a lawyer would find some overlap between my
definition of "where the creativity lies" and the law's definition of
"copyrightability", but that's not where I am coming from and I am not
even pretending to be dispensing legal advice.
The point is more that the tool shouldn't have any bearing on DCO
compliance if the same contributor can reasonably make the same change
with different tools or with just an editor. And we have dozens of
mechanical changes contributed every year, written either by hand or
with a wide variety of tools.
I have no QEMU example at hand, but let's look at a commit like
https://github.com/bonzini/meson/commit/09765594d. Something like this
could be plausibly created with AI. What I care about is:
* to what degree can I automate what I could do by hand. An AI tool
moves the break-even point more towards automation. I would not bring
up Coccinelle for a 10 line change, in fact I looked by hand at every
occurrence of ".cfg" and relied on mypy to check if I missed something.
Maybe an experienced AI user would have reached to AI as the first step?[1]
* keeping people honest. Between the two cases of "they don't tell and
I don't realize it is AI-generated" and "they split the commit clearly
into AI-generated and human-generated parts", an exception makes the
latter more likely to happen.
> That said there is still a questionmark over complexity. Getting
> to the end point may be a trival & mundane exercise in some cases,
> while requiring considerable intellectual thought in other cases.
> The latter is perhaps especially true if wanting simple, easily
> bisected series of small steps rather than a big bang conversion.
We encourage anyway people to isolate the mundane parts, therefore they
could use AI for them if they see fit. Independent of whether the
contributor has worked on QEMU before, the more complex parts are also
signed-off on (and we'd much more likely spot signs of AI usage when
reviewing them) and that makes me more willing to trust their good faith.
Paolo
[1] I tried "I want to track the PackageConfiguration object per machine
in mesonbuild/cargo/interpreter.py. Make PackageState.cfg a PerMachine
object. Initialize PackageState.cfg when the PackageState is created.
The old pkg.cfg becomes pkg.cfg[MachineChoice.HOST]" and it did pretty
much the same changes in a bit more than 2 minutes. Including the time
to write the prompt it's almost certainly more than it took me to do it
by hand, but this time I was doing something else in the meanwhile. :)
next prev parent reply other threads:[~2025-09-22 15:11 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-22 11:32 [RFC PATCH 0/4] docs/code-provenance: make AI policy clearer and more practical Paolo Bonzini
2025-09-22 11:32 ` [RFC PATCH 1/4] docs/code-provenance: clarify scope very early Paolo Bonzini
2025-09-22 11:34 ` Daniel P. Berrangé
2025-09-22 12:52 ` Alex Bennée
2025-09-22 11:32 ` [RFC PATCH 2/4] docs/code-provenance: make the exception process more prominent Paolo Bonzini
2025-09-22 13:24 ` Daniel P. Berrangé
2025-09-22 13:56 ` Paolo Bonzini
2025-09-22 14:51 ` Daniel P. Berrangé
2025-09-22 11:32 ` [RFC PATCH 3/4] docs/code-provenance: clarify the scope of AI exceptions Paolo Bonzini
2025-09-22 13:02 ` Alex Bennée
2025-09-22 13:38 ` Daniel P. Berrangé
2025-09-22 11:32 ` [RFC PATCH 4/4] docs/code-provenance: make the exception process feasible Paolo Bonzini
2025-09-22 11:46 ` Peter Maydell
2025-09-22 12:06 ` Paolo Bonzini
2025-09-22 13:04 ` Daniel P. Berrangé
2025-09-22 13:26 ` Peter Maydell
2025-09-22 14:03 ` Daniel P. Berrangé
2025-09-22 15:10 ` Paolo Bonzini [this message]
2025-09-22 16:36 ` Daniel P. Berrangé
2025-09-22 16:55 ` Paolo Bonzini
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=ffaf300c-4f41-4741-899d-f0fc148ab2a2@redhat.com \
--to=pbonzini@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@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).