AI contribution policies compared: 21 open-source projects
What each project’s own policy says about AI-assisted contributions: its stance, what disclosure it asks for, and when it was last checked. Every row links to the project’s policy and to the catalogue entry that quotes it word for word.
How to read this table
Each summary is a short paraphrase; the catalogue entry holds the verbatim excerpt and the detail a one-line summary loses. Policies change, so every row carries the date it was verified against the project’s own source. Check the source before relying on a row. The grouping into four kinds of stance follows the catalogue’s stance codes.
All 21 sources were checked for changes on 25 September 2026. Asahi Linux, Bevy, Mesa and Rust had changed their policies since their catalogue entries were captured, and the Fedora row now cites Fedora’s adopted policy rather than the earlier proposal; those five rows describe the current policies and are dated accordingly, and their catalogue entries carry a dated update note.
| Project | Stance | Disclosure | Verified | Sources |
|---|---|---|---|---|
| AetherSDR | Allowed with conditions Allowed; the project strongly encourages AI coding tools |
No disclosure requirement stated for code | Policy for AetherSDR (opens in a new tab) Entry for AetherSDR (opens in a new tab) |
|
| Asahi Linux | Prohibited or banned by default Broadly forbidden for material contributions, on legal grounds (clean-room reverse engineering) and ethical ones; graduated enforcement, up to a ban for concealed use |
Not applicable | Policy for Asahi Linux (opens in a new tab) Entry for Asahi Linux (opens in a new tab) |
|
| Bevy | Allowed with conditions Careful, human-driven AI use tolerated in some code areas (revised 11 Aug 2026); no AI-generated media, prose, communication or commit authorship |
Required for any AI use, with context on how it was used | Policy for Bevy (opens in a new tab) Entry for Bevy (opens in a new tab) |
|
| curl | Allowed with conditions Allowed, with verification and quality expectations; stricter rules for security reports |
Required: the use of AI must be revealed | Policy for curl (opens in a new tab) Entry for curl (opens in a new tab) |
|
| Fedora | Allowed with conditions Allowed; the contributor is always the author and fully accountable; AI must not be the sole judge of a contribution or of a person’s standing |
Required when a significant part is taken from a tool unchanged; Assisted-by: trailer recommended; grammar and clarity help needs none |
Policy for Fedora (opens in a new tab) Entry for Fedora (opens in a new tab) |
|
| FreeBSD | Restricted by channel Restricted by channel rather than banned: unreviewed AI-generated changes are routed away |
No AI-specific rule; the DCO Signed-off-by: applies |
Policy for FreeBSD (opens in a new tab) Entry for FreeBSD (opens in a new tab) |
|
| Gentoo | Prohibited or banned by default Prohibited by Council vote (14 Apr 2024), with a revisit clause |
Not applicable | Policy for Gentoo (opens in a new tab) Entry for Gentoo (opens in a new tab) |
|
| Ghostty | Allowed with conditions Allowed, with mandatory disclosure and understanding |
Required for all AI use, naming the tool and extent | Policy for Ghostty (opens in a new tab) Entry for Ghostty (opens in a new tab) |
|
| Godot | Allowed with conditions Autonomous agents allowed, with a prescribed disclosure format |
Required: 🤖 title prefix plus an “AI disclosure” block | Policy for Godot (opens in a new tab) Entry for Godot (opens in a new tab) |
|
| Home Assistant | Allowed with conditions Allowed with a human in the loop; autonomous agents prohibited |
AI-derived text in conversations must be quoted and disclosed | Policy for Home Assistant (opens in a new tab) Entry for Home Assistant (opens in a new tab) |
|
| Kubernetes | Allowed with conditions Allowed, with author accountability; AI-generated commit messages are not |
Required: a plain statement in the PR description | Policy for Kubernetes (opens in a new tab) Entry for Kubernetes (opens in a new tab) |
|
| llama.cpp | Allowed with conditions Allowed since 22 Jul 2026 (previously banned); not for PR descriptions, commits or reviewer communication |
Required: a yes/no disclosure line in the PR template | Policy for llama.cpp (opens in a new tab) Entry for llama.cpp (opens in a new tab) |
|
| LLVM | Allowed with conditions Allowed with a human in the loop; agents acting without approval are banned |
Required for substantial tool-generated content; Assisted-by: trailer suggested |
Policy for LLVM (opens in a new tab) Entry for LLVM (opens in a new tab) |
|
| Mesa | Allowed with conditions Allowed; the submitter carries full responsibility; autonomous agents prohibited; since 2 Sep 2026, no AI-generated code comments, commit messages or GitLab comments |
Required via Assisted-by: or Generated-by: trailers |
Policy for Mesa (opens in a new tab) Entry for Mesa (opens in a new tab) |
|
| NetBSD | Prohibited or banned by default Prohibited by default: LLM output is “presumed to be tainted code” |
Exception only with prior written approval from core | Policy for NetBSD (opens in a new tab) Entry for NetBSD (opens in a new tab) |
|
| OpenStreetMap | Allowed with conditions Allowed, subject to human review, testing and understanding |
None requested | Policy for OpenStreetMap (opens in a new tab) Entry for OpenStreetMap (opens in a new tab) |
|
| QEMU | Prohibited or banned by default Prohibited in contributions; permitted for research and debugging if output is not included |
Not applicable; the DCO is the attestation | Policy for QEMU (opens in a new tab) Entry for QEMU (opens in a new tab) |
|
| Rust | Prohibited or banned by default Creating with an LLM is not allowed by default (“not to create”); pre-arranged, well-reviewed LLM-created changes allowed with disclosure; adopted by six rust-lang repositories |
Required for all “allowed with caveats” uses; LLM-created PRs carry an llm-assisted label |
Policy for Rust (opens in a new tab) Entry for Rust (opens in a new tab) |
|
| Servo | Prohibited or banned by default Prohibited in code, docs, PRs, issues and comments; explicitly revisitable |
Not applicable | Policy for Servo (opens in a new tab) Entry for Servo (opens in a new tab) |
|
| tldraw | Closed to external PRs External pull requests closed entirely, AI or not; issues and discussions stay open |
Not applicable | Policy for tldraw (opens in a new tab) Entry for tldraw (opens in a new tab) |
|
| Zig | Prohibited or banned by default Prohibited, including LLM-generated prose |
Not applicable | Policy for Zig (opens in a new tab) Entry for Zig (opens in a new tab) |
Summaries paraphrase each project’s published policy for comparison; the project’s own document is authoritative. Project names identify the projects only; no affiliation or endorsement is implied.
Spot an error? Open an issue (opens in a new tab) or email ecogetaway@gmail.com (opens your email application). Corrections are made promptly and logged publicly in the repository.
What the comparison shows
- Disclosure is the common ground among permissive policies, but the mechanisms don’t match: commit trailers (Fedora, LLVM, Mesa), a PR-description statement (Kubernetes), a PR-template line (llama.cpp), a title prefix (Godot), or nothing at all (OpenStreetMap, AetherSDR).
- Autonomous agents are treated separately from AI-assisted people in several policies: Home Assistant, LLVM and Mesa prohibit them, while Godot writes rules addressed to them.
- Bans rest on different grounds: copyright and provenance (QEMU, NetBSD), legal risk to clean-room reverse engineering (Asahi Linux), or quality and review burden.
Four of these policies also say how contributors may use machine translation: what they say, quoted and compared.
The formats differ from project to project, and no tool can read them, which is why the initiative proposes a machine-readable ai-contribution-policy.yml that CI and contributor tools can read.
Related research
Academic studies of AI contribution policies in open source, for readers who want wider samples and different methods:
- AI Policy, Disclosure, and Human in the Loop: How Are Contribution Guidelines Adapting to GenAI? (opens in a new tab) (arXiv, May 2026; accepted to ICSME 2026)
- Regulating the Machine Contributor: Governance and Policy Alignment in Open Source (opens in a new tab) (arXiv, June 2026)
- “We Permit the Use of AI, but […]”: The Landscape of AI Policies in Popular Open Source Projects (opens in a new tab) (arXiv, September 2026)
- You can contribute if you… An Empirical Framework of AI Contribution Policies in OSS (opens in a new tab) (arXiv, September 2026)
This catalogue differs mainly in method: each entry is quoted from the project’s adopted text, dated, and re-checked weekly for changes.
Missing a project?
Adding a catalogue entry is a single-file pull request of about fifteen minutes, from a template. Entries must quote the project’s own policy and record the date it was checked.