BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Andrew Kelley Interview: Why He Built Zig, Banned AI Contributions, and Moved Zig off GitHub

Andrew Kelley Interview: Why He Built Zig, Banned AI Contributions, and Moved Zig off GitHub

Listen to this article -  0:00

In an interview with JetBrains, Zig creator Andrew Kelley expanded on the project’s formal ban on AI contributions and the motivation behind its migration from GitHub to Codeberg. Kelley asserted that automated code submissions eventually decrease the quality of the codebase while weakening the social constructs between open-source participants. Persistent GitHub failures and a perceived misalignment of incentives led to migrating the codebase to Codeberg.

Kelley mentioned two factors in the decision of the Zig project to categorically refuse AI contributions: fixed human resources that do not scale in line with code volume growth, and the negative impact on the quality of the produced software:

The first reason is just that those kinds of contributions are invariably garbage. […] Not only that, they have negative value […] When we get these slop contributions, they take our review time and then after a few reviews, we realize they have no clue what they’re doing. They’re just pasting what we say back to the chat and then laundering the chat back to pretend that they’re not using chat, but we can still tell. And at some point we realize this is never going to be good quality because they have no idea what they’re doing. And so now we wasted everybody’s time.

Equally importantly, Kelley stressed Zig’s core educational mission. Kelley envisions code review as a mentorship investment reserved for actual engineers who can later grow into core contributors:

The idea of contributor poker [Editor’s note: betting limited review time on contributors likely to grow and stay vs. drive-by contributors] is that we have limited time. So we want to notice: okay, who can we invest our time in to help them become better programmers, better contributors for the project? And who is maybe a drive-by contributor? And so people who are using AI, they’re always in the second category. It’s not worth it to invest in them. They’re not learning anything. They’re not going to join the core team later.

Zig’s principled approach contrasts with the approach of Bun, which recently rewrote its entire codebase from Zig to Rust with the support of numerous AI agents porting the code, verifying it, and proposing fixes. In a rather critical reaction titled “My Thoughts on the Bun Rust Rewrite,” Kelley affirms:

The main issue here had nothing to do with the language features of Zig vs Rust, and everything to do with the diverging value systems of the two projects.

Kelley further explains that the project moved its GitHub repository to the German nonprofit Codeberg, driven by persistent CI failures on GitHub Actions. Kelley also emphasized a better alignment of incentives with nonprofits, which tend to favor stability over breakneck-pace growth and monetization:

“GitHub simply stopped working for us. We would not have results for our continuous integration runs anymore. It just would stop working. So we moved to Codeberg and now our continuous integration server works again… Codeberg is also a German nonprofit and personally I find using nonprofits to be a more stable business than startups or corporations, because these corporations are always chasing the next thing and trying to make the next quarter more profitable. Nonprofits are just trying to keep doing what they’re doing, and that stability is what I want.”

Some developers concurred with the perceived decrease in GitHub performance coinciding with an exponential increase in AI workloads.

Kelley recalled in the interview conceiving Zig when trying to build a native digital audio workstation. JavaScript lacked low-level hardware control; Go introduced stop-the-world garbage collection pauses that compromised real-time audio playback requirements; Rust at that time (before 1.0 release) imposed borrow-checker friction that derailed UI font rendering for weeks; and C++ produced persistent memory corruption bugs that consumed extensive debugging time.

The Zig language rejects automatic memory management, favoring explicit memory allocators instead. Andrew Kelley quit his job in 2018 to build Zig. Zig powers Ghostty, the low-latency financial database TigerBeetle, and Uber’s cross-compilation infrastructure.

Developers are encouraged to review the entire JetBrains interview for additional details on the presented viewpoints together with more topics not covered in this article.

About the Author

Rate this Article

Adoption
Style

BT