Live data from Hacker News

The Zig project's rationale for their anti-AI contribution policy

simonwillison.net

211–220 of 496 posts

Re: The Zig project's rationale for their anti-AI contribution policy

#211
post #71

> why should a project maintainer spend time reviewing and discussing that PR as opposed to firing up their own LLM to solve the same problem? perhaps that's what the maintainers should be doing after all. it still takes time and tokens, though; neither is free. I'd personally rather have the maintainers spend the time writing as much docs and specs as possible so the future LLMs have strong guardrails. zig's policy…

Zig strives to avoid numerous pitfalls, and I admire that.

Let's take a look at some of them:

1. Project control – if a LARGE company implements thousands of lines created by LLMs day after day – who is ultimately responsible for the project's progress? "You accept hundreds of PRs, so why not this one?"

And one more thing: will you be able to change the code yourself, or will you be forced to use LLMs? What if one of the "AI companies" implements a strict policy preventing "other tools that XXX" from editing the codebase?

2. Ownership. If most of the code was taken by an external company from their LLM, what about ownership of the code? The authors of Zig, the company, the authors of the original code, stolen by LLMs?

3. Liability. In the near future, a court may rule that LLMs are unethical and should not recombine code without the owners' prior consent. Who is responsible for damages and for removing the "stolen" code? The owners of Zig, the company that creates pull requests, or the authors of LLM programs?

4a. Vision. Creating and maintaining a large code base is very difficult – because without a broad perspective, vision, and the ability to predict and shape the future – code can devolve into an ugly mess of ad hoc fixes. We see this repeatedly when developers conclude, "This is unsustainable; the current code base prevents us from implementing the correct way to do things."

LLM programs cannot meet these requirements.

4b. There's another aspect – programming languages particularly suffer from a lack of vision or discipline. There are many factors that must be planned with appropriate capacity, vision, and rigor: the language itself should be modeled in a way that doesn't prevent correct implementation of behaviors. The standard library must be fast, concise, and stable. The compiler itself must be able to create code quickly and repeatably.

Users hate changes in a language – so if a language changes frequently, it is met with harsh criticism. Users hate incompatibility. Users hate technical debt and forced compatibility. Yes, there are conflicting requirements. The author of Zig understood this perfectly, having already gone through it himself (see, for example, "I/O Redesign").

This balance, in all aspects, is the pillar of human creativity.

To be honest, I'm not a huge fan of Zig because I dislike the tight syntax: too many periods and curly braces, which is why I prefer Odin. But I have a lot of affection and respect for Zig and its authors.

Re: The Zig project's rationale for their anti-AI contribution policy

#213

Earlier quoted context omitted.

I don’t see how it could be that bad (incorrect, specifically), considering bun is probably the most widely-used production use case of zig. But regardless, let’s say it’s a bad PR for the sake of argument - it’s beside the point. It cannot be merged no matter how good it is, due to the strict no-LLM policy.

> I don’t see how it could be that bad (incorrect, specifically), considering bun is probably the most widely-used production use case of zig. That may be the case, but the bun project only needs zig to correctly compile bun. The zig project needs to be able to correctly compile all existing and possible zig programs. I haven't reviewed things, but it's possible and even likely (at least based on my own experience wi…

Do you think they skipped the main zig test suite or something? Only tested bun compilation? That seems unlikely to me

Re: The Zig project's rationale for their anti-AI contribution policy

#214
post #160

Earlier quoted context omitted.

> The argument assumes that unassisted PR authorship is what builds trustworthy contributors, and that LLM assistance prevents that growth. No, I don't think that was the argument. As I understood it, unassisted contributions have higher chances to grow a trusted contributor. Not 100% vs 0% chances, but statistically higher. So, given limited resources, it makes sense to prefer unassisted over assisted contributions.

I don't believe that even the weakened version of the argument works -- it is based on an assumption, not fact. Why would a contributor that uses AI assistance have fewer chances to be trusted? I'm not talking about AI slop, but a contributor that takes time to understand a problem, find a solution, and discuss pros/cons alternatives. Using LLM assistance, of course.

Because you are at the whims of the bot they are at least partially dependent on.

Re: The Zig project's rationale for their anti-AI contribution policy

#215
post #40

Earlier quoted context omitted.

An LLM most definitely cannot spit out robust tests or thorough documentation. It can spit out some tests or some documentation, but they will not cover the user perspective or edge cases unless those are already documented somewhere. That's verified by both experience and just thinking about it for two seconds. The sanding down you refer to is what generates those tests and documentation.

> but they will not cover the user perspective or edge cases unless those are already documented somewhere Are you suggesting that LLM's can't test for people who use screen readers? Keyboard only users? Slow network requests? You're acting like the issues an app faces are so bespoke to the actual app itself (and have absolutely no relation to existing problems in this space) that an LLM couldn't possibly cover it. A…

>Are you suggesting that LLM's can't test for people who use screen readers? Keyboard only users? Slow network requests?

I don't think it's feasible to fully simulate the full depth of actual usage, given that (especially in the case of screen readers and the like) there's a great deal of combinatorial depth and context to the problem. Which screen readers, on which operating systems, and which users thereof?

Re: The Zig project's rationale for their anti-AI contribution policy

#216
This seems like a sensible long-term strategy, much better one than entering into token-fueled AI arms race against slop. It's not even clear what's the end goal of such race would be for an open source project. Open source software was traditionally about growing knowledgeable communities and giving users ability to examine and modify software they use. LLMs quite obviously blow that up on several levels. For starters, if you hate dealing with code and prefer prompts, it's unlikely that you will be generating code that's enjoyable to work with for people who do read it directly.

Re: The Zig project's rationale for their anti-AI contribution policy

#217

Earlier quoted context omitted.

> I don’t see how it could be that bad (incorrect, specifically), considering bun is probably the most widely-used production use case of zig. That may be the case, but the bun project only needs zig to correctly compile bun. The zig project needs to be able to correctly compile all existing and possible zig programs. I haven't reviewed things, but it's possible and even likely (at least based on my own experience wi…

Do you think they skipped the main zig test suite or something? Only tested bun compilation? That seems unlikely to me

They didn't take into account the long-run impacts of the changes on future development, etc.

I recommend reading the explanation given by one of the Zig devs, as it's a very clear and solid one.

Re: The Zig project's rationale for their anti-AI contribution policy

#218

Earlier quoted context omitted.

> What’s the point in debating the PR quality? Because the pro-group are whining that the policy is preventing the merge, when in actual fact even if the policy did not exist, the PR is crap anyway.

I don’t see how it could be that bad (incorrect, specifically), considering bun is probably the most widely-used production use case of zig. But regardless, let’s say it’s a bad PR for the sake of argument - it’s beside the point. It cannot be merged no matter how good it is, due to the strict no-LLM policy.

> I don’t see how it could be that bad (incorrect, specifically), considering bun is probably the most widely-used production use case of zig.

The PR is probably fine for bun’s purposes. That doesn’t make it a good PR for Zig’s purposes, and could very well paint Zig into a weird corner.

> It cannot be merged no matter how good it is, due to the strict no-LLM policy.

This is about meta-discourse. Of course it’s against the policy. That’s the point of discussing the PR: to get Zig to change the policy, or at least provide an exception in this case. Or to argue the opposite.

Re: The Zig project's rationale for their anti-AI contribution policy

#219
post #107

Earlier quoted context omitted.

> OTOH why bother to polish the PR if it won't get accepted anyway? As the Zig maintainer so patiently explained, no amount of "polish" can fix the PR because it is misaligned to the correctness that they require. IOW, that PR is so far off the reservation, unless it is completely rewritten, it won't be accepted.

it could have been rewritten, rewriting PRs is cheap today, but that isn't the question. the question is, would it have been accepted had it met all the quality and engineering standards and full disclosure that it was 90%+ LLM generated?

No amount of rewriting will help you if you, fundamentally, wrote the wrong thing, as is the case here.

Re: The Zig project's rationale for their anti-AI contribution policy

#220
post #199

Earlier quoted context omitted.

So - in that way - LLM will be Your mentor, it will shape Your way of thinking according to algorithms and datasets stuffed into by corporate creators. Do You really want it? There is also a second face of that: people are lazy. They wouldn't develop their own skills but rather they would off-load tasks to LLM-s, so their communicative abilities will be fade away. That's looks like a strong dystopia for me.

> LLM will be Your mentor, it will shape Your way of thinking according to algorithms and datasets stuffed into by corporate creators. How is this mutually exclusive with teaching better than most humans? Part of these "corporate" datasets include deep knowledge of the world's best literature and philosophy, for instance. Why can't it be both? > Do You really want it? If I'm in a hurry, don't know where to start, or…

> teaching better than most humans

Ah, so now we get to the "ed tech" question. What is teaching? Is there a human element to it, and if so, what is it? Or is it something completely inhuman? Or do we need to clarify what meaning of "teaching" we're talking about before we have a discussion?

Post reply on HN