Thanks for this, Mike. Things change fast in this area. I had heard some vague rumblings on other lists that more specific guidance was coming from within the ASF in this area, I suppose the updates in August are somehow part of that. I think your interpretation of Section 7 and 5 in the ICLA is right. I also agree Generated-By and Co-Authored-By both miss something, and give credit where it isn't due in many cases. Assisted-By seems more correct. Your proposal on changing the footer to Assisted-by: with the specified format seems great to me. I also agree on point 3. Undoubtedly it will take a while for reviewers to reflexively reject commits without this specific footer, so the tooling needs to be flexible.
On Wed, Sep 23, 2026 at 8:00 AM Michael Blow <[email protected]> wrote: > > 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/
