freenode
Databases & Infrastructure

QEMU floats limited AI contributions, ending blanket ban

Paolo Bonzini’s RFC would replace the no-AI rule with disclosure, human-only commit messages, and agent instructions aimed at review burnout.

QEMU is considering a deliberate reversal of its blanket ban on AI-generated code. Maintainer Paolo Bonzini has posted an RFC that would allow limited, disclosed LLM help while keeping cover letters, commit messages, reviewer replies, and issue text strictly human-written.

The old rule forbade any contribution believed to include or derive from AI output. Bonzini argues that absolute prohibition became a stable equilibrium mainly because smaller carve-outs always drew objections, not because it worked well. Tools have improved enough that even routine review can produce suggested fixes or tests, and maintainers already see high-quality series that look AI-assisted. A don’t-ask-don’t-tell stance, he writes, is a red flag; a free-for-all is no better.

The draft shifts the frame from copyright and DCO anxiety toward protecting review time. It draws on the Rust project’s cautious stance and Software Freedom Conservancy guidance that copyleft and careful process remain the practical safeguards. Small LLM-assisted bugfixes (roughly under ten lines) would be allowed with disclosure; larger or heavily assisted work would need a maintainer’s advance agreement to review. Light copy-editing of human prose is fine; AI-authored commit messages and list replies are not.

Alongside the policy text, Bonzini proposes an AGENTS.md that tells coding agents the same rules, on the premise that humans ignore contribution norms more readily than tools do. In his tests, agents flagged the need for pre-arrangement, refused to supply Signed-off-by lines, and labeled draft commit text as unfit for the list. Thin shims for popular agent CLIs are included so those tools load the same instructions.

Early feedback backs the direction while pressing details: whether translation help belongs under human-only text, how hard to require disclosure for boilerplate, and distaste for top-level files named after vendor tools. The series is explicitly not ready to land; it is a large perturbation meant to escape the unanimity trap and see where maintainers actually land.