Contributor Poker and Zig's AI Ban

I think this wouldn’t really solve it because people can just lie.

With the strict no AI policy, those who use it will (hopefully) eventually get that their contributions are not wanted in that shape or form. If you openly allow it for trusted contributors you have the incentive for some people to sneak through with using it(or the AI could just hallucinate that they are already trusted and convince the human of that). And this means that it doesn’t really reduce the amount of PRs and we’re back to square one.

This is a dubious claim.

I would easily concede that there might be a non-zero number of seasoned developers who would be dissuaded from contributing solely because of a no-AI policy, but this seems like a gross over-estimation of that significance, and definitely not based on anything empirical. Experienced developers who use AI responsibly would completely understand the reasoning for the policy, otherwise by-definition they would not be using it responsibly.

Generally speaking, their experience is what ensures that AI isn’t a crutch that they must be able to use in order to contribute.

2 Likes

related: also got picked up by Simon Willison in today’s note: https://simonwillison.net/search/?type=note&year=2026&month=4

3 Likes

The people who remarked on how it’s impossible to know if a contribution comes from an LLM or not have completely missed the point of this policy and are clearly unaware of contributor poker.

I was one of these people, and I noticed others repeat that with suspiciously similar wording to my own.

So I feel the need to clarify, in the very discussion I said that, I made clear I agreed with the AI ban for similar reasons expressed in this post. It was merely some nuance that come to mind and wanted to share, though in hindsight it was not relevant enough to be worth the misunderstandings that followed.

Or it could be a complete coincidence in which case I look quite arrogant assuming it was my words that were repeated…

1 Like

Developers that make responsible use of AI tools can, supposedly, also not use them for a specific project, if they want to.

The policy is a blocker only for those people who are unwilling to work without AI, which is a subset of the people who do use AI.

That being said, it doesn’t matter, as explained in the post, it makes no sense to open an LLM PR when you have non-LLM PRs waiting for you. It’s like in Monty Hall, you should always change the door you chose initially.

Note that at the moment we haven’t agreed on whether we want LLM contributions at all. There are other factors to consider.

One non-technical factor for example is branding: one thing is for people to experience miscompilations because Zig is a v0 project, another is to experience miscompilations and learn that Zig is a vibecoded project. Even if we were to be extremely rigorous with accepting LLM-assisted contributions, users might still (rightfully IMO) conclude that Zig is slop.

And more importantly, as the Go people like to say, “no is temporary, yes is forever” (ofc you can reinstate the ban, but for example the branding hit is essentially permanent).

To be clear, this is just one argument, maybe not even the most important one, in a series of arguments that we haven’t had yet in the core team. The general vibe in the team, as far as I can tell, is that we’re not particularly interested in opening the door to AI contributions for the foreseeable future.

As a personal note, I’ve worked at a company (consultancy) that would bill customers weeks worth of development time to produce a significantly worse output than what LLMs can produce in minutes. In that context not using AI would be bad business, and I get why people are excited about agentic coding. I’ve also seen Mitchell having a good time with it, and I’ve also personally used LLMs occasionally to see what they have to say. That being said I’m not convinced that LLMs are a very good fit for the Zig project, both in terms of goals and process. Unfortunately this is not a discussion one can easily have in public, everybody is trying hard to rebuild an identity / predict the future of software engineering in light of LLMs and so nuance about your specific situation is lost, making the discussion worthless.

15 Likes

I was at an indie dev meetup a while ago where one of the talks was showcasing a prototyping tool for AA-style games. A key part of such a tool is the inclusion of prefab assets, of course. The first question after the talk was if said assets were AI-generated.

The entire room went up in applause when the answer was no.

I wonder if those that try and argue for the use of GenAI in spaces that currently do not allow it understand that the tech has a horrible reputation with non-insignificant amounts of people that they would hopefully call peers. If you truly care about community, why not just respect those wishes until such a time that (hopefully) their very real and justified misgivings about the tech are addressed in a positive way?

7 Likes

Great article, great explanation. I haven’t read a equally convincing article about the downsides of LLM generated contributions (be they of good or bad quality) so far. I really love the Zig(git) community simply for their discussion style and always treating each other with respect during those conversations!

2 Likes

I think there is another aspect to it. I think they have “automation brain”. They can’t understand why someone would not want to use a tool that does stuff for you. “But you are giving up so much X” is often the argument, but it misses the larger picture.
Many of us don’t want to deal with robots. We want to deal with humans.

12 Likes

I haven’t seen a single person here who’s said “you should use AI” or “you should want to use AI.” It would be nice if people stopped propping up strawmen for the sole purpose of smuggling their broader anti-ai stance into a much narrower discussion.

That’s a fair criticism. This was a straw man argument. Both sides seem to be using straw men with abandon.

To be more concrete, the common argument against an anti-ai ban is that “you can’t tell” or “you are isolating people from contributing”. Valid arguments if you only see value as the total number of PRs or total number of unique contributors coming into a repo. Straw men if you value different metrics (like the article states). Fundamentally, we have a value mismatch in the discussion, which only adds to the confusion.

10 Likes

I think this is a great article, and nothing it says is particularly untrue. That being said, I think it suffers from the same issue I’ve seen happen in every other “Should we ban slop contributions?” debate occuring in FOSS communities: It completely focuses the discussion on the technical, to the point of blissfully pretending the everything else doesn’t exist. The technical merits of LLM slop, the technical feasibility of banning it, the technical results allowing it can bring or banning it can prevent, etc etc. This isn’t particularly surprising, this field is famous for trying to forget/ignore all non-technical issues in many other matters (and pretending that it’s totally possible to do that forever) as well. Regardless, I feel the need to scream into the void:

LLMs are actively destroying our planet, putting millions of people out of their jobs, ruining many rural communities and forcing them to ration their water, they are built on the largest mass plagiarism and theft in human history, they fundamentally cannot work without violating consent and privacy at an enormous scale, they actively degrade the cognitive capabilities of people who use them and feed their delusions to the point of leading them to tragedies. They’ve caused mass price rises and shortages on essential computing components, they’ve pushed for evil mass surveilance and military technologies at a scale never seen before, they are the main cause of the enshittification of most modern software… I could go on.

Banning LLMs is tactically the best idea to find great contributors to a FOSS project yes, but it is also just the right thing to do, and more people should say that proudly. It makes me feel disconnected from reality that so many programmers on both sides of the discussion don’t seem to mention these things at all when talking - it doesn’t even seem like they’ve thought of them. I empathize with wanting to just focus on the job at hand and the computer stuff, I really do, but I believe there’s such a thing as too awful to ignore.

Regardless, like I said, this is a great post.

20 Likes

Still not an accurate framing. Nobody is saying “more PRs is better” or “more unique contributors are better.” They’re saying “if a contribution is good and meets the quality bar, why does it matter?”

Loris’ blog post and subsequent discussion has answered that question, at least for me.

1 Like

Does the current code-of-conduct “Strict No LLM / No AI Policy” also apply to core Zig developers? i.e. Is there a commitment that Zig will remain human-made?

btw great article, and I really like the angle of investing in contributors as being the smart and right thing to do. Karma.

1 Like

As things stand yes as far as I’m aware.

3 Likes

It is a basic cost/benefit analysis. They have decided that the potential cost of permitting AI outweigh the potential benefit. They feel that banning AI contributions will have a positive effect on limiting low-effort PRs, and that it is a net benefit over the barrier this restriction may pose to those who are unwilling to contribute without using it, and potentially missing out on their positive contributions. Short of a compelling argument that the amount of positive LLM-assisted code outweighs the oceans of AI-generated garbage we have seen, I don’t see how this point is overcome. The ratio of garbage code flooding the internet has increased exponentially with the growth of LLMs, at a much higher ratio than amount of good code it is responsible for.

i agree there is a lot of talking past each other on this topic from both sides of the issue. The reasoning for the AI-bad is not about whether or not LLM can be used for creating good code, nor that the measure of code’s quality ought stand on its own (LLM or no). It is about limiting the number of bad PRs and the burden it requires for the team to review them. I don’t think anyone denies the benefits that AI has anymore than we can all recognize the glaring problems it is causing, but this a completely different discussion that I am sure will be argued endlessly for many years to come.

Of course people can lie, statistically some will, and some will even get away with it. Most will not and will respect the contribution restrictions. Perjury remains a legal violation despite the fact that people can easily commit it, and almost as often get away with it. Despite this, we still keep it illegal for obvious reasons.

2 Likes

I really liked this breakdown.

It’s funny, we all understand that people and projects have limited resources, so if they say, “hey, we are interested in your idea for a feature or supporting this other platform, but we just don’t have the resources to invest in that right now”, most people understand that. (They might not understand why the maintainers don’t have the same priorities as them, but that’s another problem.)

But most people don’t seem to consider that accepting new contributors into the project itself is also an investment, even if the work is “done”.

I’m sure most of us have experienced this working for a company that tried to hire too many people in too short of a time. The existing team doesn’t have enough time to invest in bringing all these new people up to speed at the same time, and productivity suffers. If you took the same new hires and spread them out over a longer time frame, you’d take much less of a hit AND see ROI on each hire sooner.

2 Likes

Kinda funny that this is phrased as a hypothetical future. There’s already is blanket AI ban. It’s okay.

ONE of the problems with AI in the project is what the post is talking about and trust in general. But that’s not the only one.

But the other thing this isn’t considering is “What does does the Zig team value?” Clearly they value people over AI. If a seasoned dev wants to make their contributions to Zig but doesn’t share that value, then are they going to be someone that the team is really going to benefit from having as a regular, trusted contributor? Or is it going to be more trouble than its worth having someone in your inner circle that doesn’t have the same values?

1 Like

Are you suggesting they interrogate a potential contributor’s stance on AI in general before letting them contribute, even if they plan to abide by the no-AI policy when contributing to zig specifically?

If so, this certainly wouldn’t reduce the burden of curating a trusted group of developers.

This is getting away from the purpose of the AI ban! That is to not waste time on slop contributors. The slop tends to shout from the rooftops, there is no need to interrogate at this stage.

I think it is quite a jump from what they said to go to interrogating contributors! Do you interrogate your peoples values before interacting with them regularly? Or do you interact with them normally and only if they show they are apprehensible do you cut them off?

If they are willing to abide by the no-AI policy, then they are not the target. Someone who is able to be that respectful would not contribute to a project whose values they aren’t able to tolerate.

1 Like

I think you misinterpreted what I was saying.