Andrew Kelley Interview: Why He Built Zig, Banned AI Contributions, and Moved Zig off GitHub
Bruno Couriol ยท rss ยท 2026-09 Reader ๐ฅ๏ธ
AI SlopCode QualityOpen-Source Maintainer BurdenOpen-Source Platform Exodus (Leaving GitHub)Systemic Apprenticeship & Skill TransmissionTrust
Because AI-generated open-source contributions are reliably low-quality and net-negative once maintainer review time is counted, and because code review is really an investment in cultivating future human core contributors rather than a pure quality filter, healthy open-source governance requires categorically banning AI-assisted contributions and preferring infrastructure (Codeberg over GitHub) whose institutional incentives favor long-term stability over corporate growth pressure.
practical ยท mixed โ An InfoQ news article relaying and quoting a JetBrains interview with Zig creator Andrew Kelley. Primarily practical/argumentative โ it justifies two governance decisions (banning AI contributions, migrating off GitHub) โ with an expository, narrative section explaining Zig's technical origin story. The 'author' of the thesis is really Kelley, relayed by journalist Bruno Couriol through selected quotations.
Structure
| Part | Role |
|---|---|
| The AI-contribution ban and its two stated reasons (fixed human review capacity; negative educational/social value of AI contributions, i.e. 'contributor poker') | core argument / conclusion 1 |
| Contrast with Bun's AI-assisted Rust rewrite and Kelley's 'diverging value systems, not language features' framing | counter-example used to sharpen the argument's real target (governance values, not technical merit) |
| The GitHub-to-Codeberg migration and its two stated reasons (persistent CI failures; preference for nonprofit over corporate infrastructure incentives) | core argument / conclusion 2 |
| Corroborating context: other developers reporting GitHub performance decline coinciding with rising AI workloads | external evidence, cited by the article to back conclusion 2 |
| Origin narrative: building Zig after JavaScript, Go, Rust (pre-1.0), and C++ each failed a real-time audio project | background / motivating narrative, establishes Kelley's design philosophy and credibility as a serious language creator |
Key terms
- contributor poker Trust
The bet a maintainer makes when allocating scarce review time: investing it in a contributor likely to grow into a long-term, skilled core team member, as opposed to spending it on a one-off 'drive-by' contributor who will never return. Used by Kelley to argue that AI-assisted contributors are structurally always in the 'drive-by' category, so investing review time in them is a bad bet by definition. - slop / garbage contributions
AI-generated pull requests and patches that are not merely low quality but actively negative-value: they consume maintainer review time, and after a few review rounds reveal the submitter has no real understanding of the change. - laundering (the chat)
The practice of a contributor pasting a maintainer's review feedback into an AI chatbot, then pasting the chatbot's response back to the maintainer as if it were the contributor's own reasoning, in an attempt to disguise AI use โ which Kelley says is nonetheless detectable. - diverging value systems
Kelley's explanation for why Bun rewrote itself from Zig to Rust with heavy AI assistance: not because Rust's language features are technically superior for Bun's purposes, but because Bun and Zig now hold different views on how AI should be used in producing and reviewing code.
Propositions
- explicitAI-assisted contributions to Zig are invariably low-quality and have negative value once maintainer review time is counted, because after review it typically becomes clear the contributor has no real understanding of the change.conf: highsupportsWho cleans up after the vibe-coding party? ยท p5 โ Zig's 'invariably garbage / negative value' assessment of AI contributions is another named-project instance of the 'extractive contributions' dynamic (review cost exceeding contribution value) documented there.
- explicitcorroboratedMaintainer/reviewer time is a fixed resource that does not scale with the volume of code (including AI-generated code) that could be submitted, which is one of the two stated reasons for a categorical AI-contribution ban rather than case-by-case filtering.conf: highsupports โFlood of AI 'garbage' is pushing open-source developers to the limit ยท p1 โ Confirms, from the outside (New Scientist's own reporting and quotes from Kelley directly), the same claim that reviewer time is a fixed resource that doesn't scale with AI-driven submission volume.
- explicitCode review functions as a mentorship investment reserved for contributors who can grow into skilled, long-term core team members ('contributor poker'); AI-assisted contributors are reliably in the 'drive-by' category and are not learning, so investing review time in them is not worthwhile.conf: highextendsWho cleans up after the vibe-coding party? ยท p6 โ Adds the explicit mentorship/apprenticeship rationale ('contributor poker') behind a blanket AI-contribution ban that the tldraw case in that document states as a conclusion without this underlying investment-in-people argument.extendsDeepSeek v4, and the end of the OpenAI/Microsoft AGI clause ยท p16 โ This is the primary-source elaboration (fuller quotes, fuller reasoning) of the same 'contributor poker' argument that appears there in brief, secondhand summary form.
- explicitSome AI-assisted contributors disguise their AI use by pasting maintainer feedback into a chatbot and pasting the reply back as their own reasoning ('laundering'), but maintainers can still detect this.conf: highsupportsDeepSeek v4, and the end of the OpenAI/Microsoft AGI clause ยท p17 โ Kelley's 'we can still tell' laundering anecdote is a concrete illustration of the general claim there that LLM-assisted PRs are detectable in practice.
- explicitcontestedGitHub stopped reliably running Zig's continuous integration ('GitHub simply stopped working for us'), and migrating the repository to Codeberg restored working CI.conf: highcontradictsThe Pulse: AI load breaks GitHub โ why not other vendors? ยท p4 โ Kelley attributes Zig's GitHub CI failures to rising AI workloads, in tension with that piece's argument that GitHub's reliability problems are 'substantially self-inflicted' (tech debt, org debt, Azure migration) rather than primarily AI-load driven.extends โFlood of AI 'garbage' is pushing open-source developers to the limit ยท p2 โ Supplies platform-wide quantitative context (GitHub's 1B-to-14B submission trajectory) for the general AI-volume pressure that the Zig interview attributes its CI/GitHub problems to โ though it does not isolate Zig's specific numbers and so only partially substantiates that doc's open gap about missing quantification.
- explicitNonprofit-run infrastructure (such as Codeberg, a German nonprofit) is a more stable long-term dependency than corporate or startup-run infrastructure, because corporations are structurally driven to chase the next quarter's growth and profitability while nonprofits aim to sustain their existing mission.conf: high
- explicitcontestedBun's rewrite of its codebase from Zig to Rust (heavily AI-assisted) was not fundamentally about Zig's language features being technically inferior to Rust's for Bun's purposes; the real divergence was between the two projects' value systems.conf: highcontradictsHow building software is changing at Anthropic ยท p5 โ That piece frames the AI-agent-assisted Bun-to-Rust rewrite as a capability/technical achievement; Kelley explicitly disputes reading it as a technical or language-merit verdict at all, attributing it instead to diverging project values.
- implicitA project's stance on AI-authored code and contribution culture is treated by Kelley as at least as decisive a factor in a language/tooling choice as raw technical merit โ arguably the deciding factor in the Bun case.conf: medium
- explicitKelley began building Zig because no existing language satisfied the requirements of a native, low-latency digital audio workstation: JavaScript lacked low-level hardware control, Go's stop-the-world garbage collection broke real-time audio, pre-1.0 Rust's borrow-checker friction stalled UI font-rendering work for weeks, and C++ produced persistent, time-consuming memory-corruption bugs.conf: high
- explicitZig deliberately rejects automatic memory management in favor of explicit, manual memory allocators.conf: high
- implicitKelley's willingness to quit his job in 2018 to build an entirely new systems language, rather than work around the shortcomings of existing ones, reflects a belief that foundational language/tooling problems are worth solving at the root rather than patching around indefinitely.conf: medium
- implicitA blanket, categorical AI-contribution ban is treated by Kelley as a legitimate governance choice in itself, not merely a proxy for a code-quality filter โ since even a detectable, disguised AI contribution is rejected on the grounds of the contributor relationship, not solely on code correctness.conf: medium
Arguments
Zig should categorically ban AI-assisted code contributions rather than evaluate them case-by-case.
Explicit premises:
- AI-generated contributions are typically low-quality and, once maintainer review time is counted, net-negative value.
- Maintainer/reviewer time is a fixed resource that does not scale with contribution volume.
- Code review functions as an investment in mentoring future core contributors; AI-assisted contributors are reliably 'drive-by' and do not repay that investment.
- Disguised ('laundered') AI use is detectable by experienced maintainers, so the ban is enforceable in practice.
Implicit premises:
- The project's goal is to grow a sustainable human contributor community and its social capital, not merely to accumulate correct code โ code volume and community health are not the same currency.
- Distinguishing acceptable from unacceptable AI-assisted contributions case-by-case would itself cost more reviewer time than a blanket rule, so a categorical policy is more efficient than a graduated one.
- A contributor's demonstrated learning trajectory, not just the correctness of a given patch, is what code review is meant to select for.
Inferences:
- The ban is fundamentally a social-trust and talent-pipeline governance decision, not primarily a code-quality-detection mechanism โ implying that even an AI-assisted contribution indistinguishable in quality from a human one could still be rejected in principle if it doesn't represent a real human learning to become a contributor.
- Projects that evaluate AI contributions purely on output correctness, rather than on contributor trajectory, will rationally end up with a different (more permissive, disclosure-based) policy than Zig's.
Zig migrated its canonical repository from GitHub to Codeberg.
Explicit premises:
- GitHub's continuous integration became persistently unreliable for Zig ('simply stopped working').
- Codeberg's CI worked reliably once adopted.
- Nonprofit-run infrastructure is a more stable long-term partner than for-profit corporate or startup infrastructure, because nonprofit incentives favor continuity over growth/profit maximization.
Implicit premises:
- Infrastructure reliability and stability matter enough to justify the cost and friction of migrating an established, widely-used open-source project's canonical repository.
- GitHub's for-profit, Microsoft-owned structure and the reliability decline Kelley observed are causally or at least dispositionally linked โ an inference Kelley draws largely from timing/correlation with rising AI-tool load, not from a demonstrated mechanism.
- A nonprofit-hosted forge is expected to remain comparatively insulated from the growth pressures (including AI-driven infrastructure strain) that are affecting GitHub.
Inferences:
- Kelley's stated preference for nonprofit infrastructure extends his skepticism of AI-driven, growth-oriented incentive structures beyond code contributions to the choice of developer platform itself โ a coherent, broader governance stance rather than two unrelated decisions.
- If the causal link to AI workload specifically turns out to be wrong (see gaps), the CI-reliability premise for migrating would still independently justify the move, even without the AI framing.
Narratives
- Kelley recounts trying to build a native digital audio workstation and hitting a dead end with each existing option in turn: JavaScript lacked hardware control, Go's garbage-collection pauses broke real-time audio, pre-1.0 Rust's borrow checker stalled UI font-rendering work for weeks, and C++ produced persistent memory-corruption bugs that ate up debugging time.
โ Shows, rather than abstractly argues, why Zig's specific design choices (manual memory management, low-level control, no GC pauses) were necessary โ grounding the language's design philosophy in a concrete, personally-motivating engineering failure rather than PL theory, and establishing Kelley's credibility as a serious systems-language creator whose later AI-skepticism should be read as engineering judgment, not reflexive technophobia. - The anecdote of a contributor pasting a maintainer's review feedback into an AI chatbot and pasting the chatbot's reply back as if it were their own understanding, which maintainers can nonetheless detect.
โ Illustrates and makes vivid the otherwise-abstract 'garbage / negative-value contributions' proposition, and implicitly argues that trust and authenticity in the contributor relationship โ not just code correctness โ are what the ban protects. - Bun's rewrite of its entire codebase from Zig to Rust in a heavily AI-agent-assisted effort, and Kelley's public reaction to it in his own post, 'My Thoughts on the Bun Rust Rewrite.'
โ Serves as a real-world foil that lets Kelley state his central reframing thesis โ that the Bun/Zig split is about diverging values around AI use, not about Rust being technically better than Zig โ against a concrete, well-publicized counter-example that could otherwise be read as a referendum on Zig's adequacy.
Questions addressed
- โ
Why did Zig ban AI-assisted contributions entirely rather than adopt a graduated review or disclosure policy?
Fixed reviewer time plus the mentorship-investment framing of code review ('contributor poker') make AI-assisted contributors a categorically bad bet, regardless of individual output quality. - โ
Why did Zig migrate its repository off GitHub to Codeberg?
Persistent GitHub CI failures plus a preference for nonprofit-run infrastructure over corporate/startup infrastructure, on stability-of-incentives grounds. - โ
Why was Zig created in the first place?
A concrete, personal project (a native digital audio workstation) exposed hard limitations in JavaScript, Go, Rust (pre-1.0), and C++ that no existing language addressed together. - โ
Does Bun's successful AI-assisted rewrite from Zig to Rust imply Zig lost on technical merits?
Kelley explicitly denies this framing, attributing the split to diverging project value systems rather than language features. - โญ Does a blanket AI-contribution ban actually protect code quality and community trust better than a disclosure-and-accountability policy that still admits AI-assisted contributions from contributors who demonstrably understand their changes?
Gaps
- incompleteThe claim that AI-assisted contributions are 'invariably' negative-value rests entirely on Kelley's characterization from memory โ there is no reported data (rejection rate, review-time delta, contribution counts before/after the policy) quantifying the scale or cost of the problem the ban addresses.
Read next: Quantitative maintainer-burden accounts, e.g. this corpus's coverage of cURL ending its bug-bounty program over AI-slop security reports, for a comparably concrete before/after picture. - incompleteKelley (and the article) attribute GitHub's CI reliability decline to rising AI workloads generally, but this corpus already contains a piece specifically arguing that GitHub's problems are 'substantially self-inflicted' โ technical debt, organizational debt, and a simultaneous datacenter-to-Azure migration โ rather than primarily AI-load driven. The interview doesn't engage with or rule out that competing explanation for its own case.
Read next: Cross-read against the corpus's existing GitHub-reliability piece and any GitHub-published incident postmortems for Zig's specific CI failures. - incompleteThe blanket-ban policy treats all AI-assisted contributions identically regardless of whether the human contributor understands and can defend the change, yet Kelley's own 'laundering' complaint implies maintainers can already detect disguised AI use in practice โ raising the question of why a graduated policy (require and verify genuine understanding, rather than excluding by origin) wouldn't achieve the same quality/trust goals without a categorical exclusion. The interview doesn't address this alternative.
Read next: Compare with other open-source projects' disclosure-and-review policies for AI-assisted contributions, to see whether detection-plus-accountability achieves comparable outcomes to a blanket ban. - uninformedNo discussion of whether Zig's ban risks excluding contributors who use AI only as a minor productivity aid but still deeply understand and own their changes โ the 'AI-assisted' vs. 'AI-generated' distinction that other maintainers wrestle with via disclosure policies rather than blanket exclusion.
Read next: Coverage of other projects' graduated AI-disclosure policies, for comparison with Zig's categorical approach. - incompleteThe article never quantifies what fraction of Zig's actual pull-request volume was AI-related before the ban, so the scale of the problem the policy was designed to solve is asserted, not measured.
Read next: Zig's own GitHub/Codeberg issue-tracker history or maintainer commentary quantifying pre-ban AI-contribution volume.
Related documents
- How building software is changing at Anthropic
- The Pulse: AI load breaks GitHub โ why not other vendors?
- Flood of AI 'garbage' is pushing open-source developers to the limit
- Should You Still Become a Software Engineer in 2026? GitHub VP
- Who cleans up after the vibe-coding party?
- Can an AI-Powered Scribe Curb Physician Burnout?
- DeepSeek v4, and the end of the OpenAI/Microsoft AGI clause
- The Hidden Realities of AI Adoption
- IBM and Red Hat Commit $5 Billion to Redefine the Future of Open Source in the AI Era
- Using AI to write better code more slowly