Hi all,
In February we voted to note AI/LLM tool use in commit footers [1].
I'm fully behind the rule. I'd like to propose one small change to its
wording: name the trailer "Assisted-by:" instead of "Generated-by:".
Since that vote, the ASF generative tooling guidance [2] has been
revised; it now describes itself as reflecting August 2026. The new
text addresses authorship directly. Under ICLA section 5, every
contribution states that it is the contributor's original creation.
ICLA section 7, the route for submitting work that is *not* your own,
needs complete details of the work's source. The guidance notes that
for AI output those details are generally unknowable, so section 7 "is
not a practical route" for contributing AI-generated material. In other
words, the only way AI-assisted work comes into an ASF project is as
the contributor's own work, with real human authorship in it. The
guidance cites the US Copyright Office's position that prompts alone
are generally not enough.
A trailer saying a change was *generated by* a tool describes exactly
the case the guidance says we can't accept. It isn't what we mean
either: our own rule expects qualifying commits to mix generated and
hand-written code, and even the generated parts are prompted, steered,
rewritten and reviewed by the committer.
When I started on this, my intent was to propose we align on
"Co-authored-by:" instead. It's the most common convention, it's what
several AI coding tools add by default, and it does reflect that the
work is shared. Reading the revised guidance changed my mind.
"Co-authored-by:" names the tool as a second author. But the tool
can't make the section 5 statement, and the guidance rules out section
7 as a way to bring in work that isn't the contributor's own. So a
co-author trailer claims authorship that, as far as I can tell, the
ASF framework has no room for. It seems to sit in the same conflict as
"Generated-by:", just from the other side.
"Assisted-by:" avoids both problems. It says what is actually true: a
human author, responsible under section 5, who used a tool.
This fits the guidance's own wording. It recommends marking tool use
with a token in the commit message, giving "Generated-by:" only "for
example", and its stated aim is a machine-parsable record for future
Tooling-Provenance tooling. Any fixed token serves that.
Other projects have settled on the same name. The Linux kernel's
coding-assistants policy uses
Assisted-by: AGENT_NAME:MODEL_VERSION [TOOLS]
[3], and Fedora's AI-assisted contributions policy recommends an
"Assisted-by:" trailer [4]. Using the same name means contributors and
tooling see one convention across projects.
Concretely, I propose:
1. Replace "Generated-by:" with "Assisted-by:" in the voted rule.
Everything else stays as passed: the "substantial portions"
threshold, the committer's duty to check tool output against the
ASF guidance, and the encouragement to mark generated regions in
code.
2. Recommended format, adapted from the kernel's convention [3]:
Assisted-by: <agent>:<model>
naming the agent or tool whose terms govern the output, and the
model version. One line per agent/model that materially
contributed, in the trailer block alongside Change-Id. For example:
Assisted-by: Claude Code:claude-opus-5-5
3. Existing "Generated-by:" footers stay as they are. Tooling that
scans history should accept both.
I considered keeping "Generated-by:" for commits that are entirely
tool-produced, but under the revised guidance a contribution with no
human authorship can't satisfy section 5, and anything that isn't
copyrightable (version bumps, mechanical renames) needs no special
label. One trailer, plus the in-code markers we already encourage,
seems cleaner.
If this seems reasonable, I'll start a [VOTE] after a few days of
discussion.
Thanks,
Michael
[1] https://lists.apache.org/thread/b3wthg3yz0m0p0rzr6j3dd8fgdh4wf6z
[2] https://www.apache.org/legal/generative-tooling.html
[3] https://docs.kernel.org/process/coding-assistants.html
[4]
https://communityblog.fedoraproject.org/council-policy-proposal-policy-on-ai-assisted-contributions/