OSS Infrastructure Initiative

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.

12 allowed with conditions 7 prohibited or banned by default 1 restricted by channel 1 closed to external PRs

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.

AI contribution policies in 21 open-source projects, by stance and disclosure rule
ProjectStanceDisclosureVerifiedSources
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

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:

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.

Use the entry template (opens in a new tab) Browse the catalogue (opens in a new tab)