freenode
AnalysisKernel & Low-Level

Who owns the patch when the model wrote it?

Kernel maintainers and Emacs developers are drawing the same line at once: undisclosed LLM help is not a process detail, it is a trust and philosophy problem.

Two free-software communities hit the same wall in the same week. On linux-kernel, a memory-management series meant to stop wasted async compaction on every transparent huge page fault was NAKed on sight, not only for technical doubt but because a maintainer’s detection script flagged it as machine-assisted output without the required disclosure. On emacs-devel, a NonGNU ELPA proposal for hermes, an Emacs front end to an LLM agent, reopened the older fight over what GNU may recommend, while list traffic itself filled with replies that readers called slop. The shared question is no longer whether language models can draft code or mail. It is who is accountable for the result, and whether projects will enforce that accountability before LLM tooling becomes invisible infrastructure.

The kernel thread makes the enforcement concrete. Qiliang Yuan proposed splitting compaction deferral state by migration mode so a failed async direct compaction would stop rescanning a fragmented node on every subsequent THP fault, especially when long-term RDMA pins leave free pages that cannot migrate. The cover letter reported sharp drops in direct compaction count and time spent compacting on a deliberately fragmented two-node setup, with some huge pages simply landing on the other node instead. Lorenzo Stoakes of ARM answered with a flat rejection: "NAK. This series is buggy, and has triggered my AI detection script." He pointed to established kernel process documents on coding assistants and generated content, insisting on an Assisted-by tag such as "Assisted-by: LLM" and on the harder rule that submitters "must fully understand and take responsibility for every patch." The policy language he invoked is unambiguous: if tools generate a contribution automatically, expect extra scrutiny; if you cannot defend the result, do not send it; maintainers may reject without detailed review.

Stoakes did not stop at the tag. He tied the suspicion to volume and breadth. The contributor’s first mail was recent; since then complicated series had appeared across mm, block, bpf, filesystems, and more. A prior address was noted as having "bore the hallmarks of AI slop." Newcomers to mm, he wrote, are expected to start smaller and build both technical and process understanding. Liam R. Howlett seconded the NAK without ceremony. The technical claim about async-versus-sync deferral state was left secondary to the process claim: ownership of the change was not demonstrated to the maintainers’ satisfaction.

Yuan pushed back on the inference chain. "I did not use an LLM to generate the patch code, but I used GLM to help run test data," he wrote, offering to add Assisted-by for that testing help and affirming, "I understand and take full responsibility for every patch I send." He treated automated bug findings as ordinary for complex mm work rather than proof of generation, and he did not ask the NAK to be withdrawn automatically. The exchange left the series dead on arrival while the disclosure norm hardened in public: assistance that touches the contribution path is expected to be labeled, and high output across subsystems without a track record reads as a risk signal, whether or not every line was model-written.

Emacs faced a parallel legitimacy test with different doctrine. Thanos Apollo submitted hermes, an EWOC dashboard and chat UI that talks asynchronously to Hermes Agent, with streaming Markdown, approval prompts, session controls, and browsers for tasks, cron, MCP servers, and subagents. The package is free; the agent is free. Richard Stallman objected that documentation paths around Hermes led users toward nonfree programs and payment flows, concluding, "We must not guide/lead users to install the Hermes app, so we must not guide/lead them to install hermes.el." Jean Louis pressed the GNU coding standards angle on SaaSS: even a free client can, in effect, recommend a stack whose default path is a catalog of networked model providers. Eli Zaretskii separated issues carefully, asking where exactly "pricing models" appeared, stressing that hermes.el and the agent need not ship nonfree links, and repeatedly telling the thread to stop conflating dependency philosophy with other disputes so the list could finish one decision.

The Emacs fight was never only about one package’s license blurb. Stallman described fragmentary answers that forced maintainers into "a daunting task of study and cross-correlation" to learn what including the package would actually reference. Jacob S. Gordon, declining to re-litigate the freedom questions, still drew a line at automated list behavior: "I feel like a line was crossed in the latest LLM-automated exchange, and that our community would be worse off if that were normalized." His signature asked correspondents not to send "messages composed with LLMs." Bot-shaped traffic and incomplete disclosure became social facts on the list, not just packaging footnotes.

Read together, the through-line is ownership under automation. The kernel side is operationalizing disclosure and rejectability: Assisted-by tags, explicit responsibility, and permission to drop series that look generated or undefended. The Emacs side is testing whether hosting a free front end to LLM agents is compatible with long-standing rules against steering users into nonfree platforms or SaaSS, while also resisting a culture in which machines answer humans on the development list. Both communities treat "the model helped" as something that changes the review contract. Neither is debating abstract capability; both are deciding what counts as a human contribution they are willing to merge, package, or even discuss.

Technically the stakes differ. Compaction deferral indexed by sync versus async mode is ordinary mm engineering with measurable fault latency effects on fragmented NUMA nodes. An Emacs agent UI is ordinary integration work until its recommended runtime path collides with GNU’s software-freedom criteria. The policy stakes align. Maintainers want a named human who can explain every semantic choice, accept blame for bugs, and not drown scarce review time in high-rate, multi-subsystem output. Contributors want clarity on how much assistance must be labeled when models already draft tests, commit messages, and boilerplate, and when detection scripts can false-positive on dense or unfamiliar style.

Where it stands is unsettled on purpose. Yuan’s series remains NAKed pending trust and disclosure, not a finished technical verdict. hermes sits in a contested NonGNU discussion while RMS, Zaretskii, and others still have to settle how far "recommending" reaches when the free agent’s configuration UI surfaces commercial model providers. Assisted-by conventions are cited as policy on the kernel side; Emacs has no equivalent tag culture and is arguing first principles instead. Unresolved is the practical boundary every project will face next: how much LLM involvement is ordinary tooling, how much must be declared, who detects silent use, and whether philosophy documents written for a pre-model era can be enforced at the speed of automated patch mail without simply closing the gate to newcomers who sound like the tools they used.