Top
Best
New

Posted by lumpa 16 hours ago

The Zig project's rationale for their anti-AI contribution policy(simonwillison.net)
561 points | 325 commentspage 6
small_model 6 hours ago|
"We wont take contributions from non hand written assembly code, these C 'high level' language patches are not allowed. Zig is a great project and language but it will die on this hill.
ducdetronquito 6 hours ago|
You paint them wrongly as elitists.

It's a critique of low effort PRs compared to the high effort review they require.

GaryBluto 10 hours ago||
I don't think I've ever heard anything positive about Zig. Every time I've seen the project mentioned is them using bizarre black and white moral judgements to justify stupid decisions.
lukaslalinsky 10 hours ago||
You need to look past this. Zig is an excellent low-level language. Thanks to the comptime features, you can have high-level looking APIs while staying down to the metal. It's not for everyone, obviously, but as a language, it is really good.
Pay08 10 hours ago||
You have to be wilfully blind, then. It gets rather frequently praised on HN (as much as any niche language can be), and they certainly don't make black-and-white moral judgements often.
lukaslalinsky 10 hours ago||
On multiple occasions over the last months, I have been wishing the Zig/ZSF team would use LLMs. I've found many copy&paste errors that simply wouldn't exist if mundane tasks were delegated to a good LLM. It's even in the Zig community, I've seen PRs to some projects I'm interested in boosting how it was all human made, and containing all kinds of trivial logical errors that even the worst LLM would catch.
lccerina 10 hours ago||
If you see them, why don't you help squash them?
lukaslalinsky 10 hours ago||
I did.
grayhatter 9 hours ago||
no cite?
darkstarsys 6 hours ago||
As a heavy AI-assisted open source code creator (and someone with 40+ years of dev experience), this seems wrong-headed to me. I think it is an excellent policy, as they say, to "value contributors over their contributions," but this policy excludes all potential contributors who use the latest tools. It will eventually doom zig to a smaller "artisanal" pool of contributors, rather than welcoming newbies and helping them become better open-source developers.
simonw 4 hours ago||
Presumably Zig are OK with that. For their particular project - a brand new programming language and compiler - a small pool of artisanal developers is likely preferable to a large pool of LLM-assisted developers who don't have as deep an understanding of how everything works.

There are plenty of less stringent projects for people who to get better at open source to contribute to.

faitswulff 6 hours ago||
> It will eventually doom zig to a smaller "artisanal" pool of contributors

“Artisanal” and “Zig” are just about synonymous

jillesvangurp 12 hours ago||
It's a good rationale. But it points the finger at a real bottleneck in open source development: the burden of manually reviewing contributions. And the need to automate that with AI as well. Reviews were already becoming a problem before AI. Lots of projects have been dealing with a large influx of contributions from inexperienced developers from all over the world looking to boost their CVs by increasing their Github statistics. It's the same dynamic that destroyed Stackoverflow. Which, thanks to AI has been largely sidelined now. And now that AI is there, those same inexperienced developers are using that at scale to generate even more garbage contributions.

Doing manual reviews of everything is very labor intensive and not scalable. However, AIs are pretty good at doing code reviews and verifying adherence to guard rails, contributor guidelines, and other rules. It's not perfect, but it's an underused tool. Both by reviewers and contributors. If your contribution obviously doesn't comply with the guidelines, it should be rejected automatically. The word "obviously" here translates into "easy to detect with some AI system".

Projects should be using a lot of scrutiny for contributions by new contributors. And most of that scrutiny should be automated. They should reserve their attention for things that make it past automated checks for contribution quality, contributor reputability, adherence to whatever rules are in place, etc. Reputability is a good way to ensure that contributions from reputable sources get priority. If your reputation is not great, you should expect more scrutiny and a lower priority.

lugu 11 hours ago||
I don't know Zig, but I think that is not the problem here. Not exactly. The real question is: why spending all those efforts to grow and align a pool of contributors if contributions are cheap and correct? Code review is not just about checking if what it says it does, and if it does it according to the guidelines. The review is a touch point to discuss where the project is heading and how to get there. That is the most important part in the long run. As a collective human effort, it needs coordination. Some of it is via the review process (especially for those not part if the core team that draft the roadmap). One could document all those micro decisions with the rational, but it might end up be a wakamole game. IMO, projects which allow AI usage need to spend way more effort in coordination (and quality insurance).
lelanthran 9 hours ago||
> The real question is: why spending all those efforts to grow and align a pool of contributors if contributions are cheap and correct?

Until the contributions are cheap and correct, you need valuable contributors more than you need the contributions.

You point would be valid when we get to a point of contributions all being both correct and cheap. Right now they are only cheap.

f311a 11 hours ago|||
You still have to review everything manually again anyway. It's a compiler for a language, bugs and bad architecture decisions cost a lot. They moved to codeberg, so there are less garbage PRs now. They try to grow a culture where you expected to deliver good code in the PRs so the review takes less time.

It takes like 5 minutes to spot garbage PRs manually. LLM can flood you with a wall of text where only half of the stuff make sense. Also, they can't really spot bad architecture. It's a compiler in an unpopular language, don't forget that.

emj 12 hours ago|||
> [you can] stop accepting imperfect PRs in order to maximize ROI from your work, but that’s not what we do in the Zig project

The real bottle neck when you want to grow is connecting with the right people. An LLM is not helping with that if you want to build a community. When you use LLM to skip the need to understand a problem how are you ever going to get a reputation that I can trust?

The post is not about reputation it about seeing how people respond and work with you in a community.

EDIT: I see that you frame it as a help and a tool and sure it might work, but I feel like it is just another obstacle.

einpoklum 8 hours ago||
> the burden of manually reviewing contributions... [a]nd the need to automate that with AI as well.

I suggest we also automate the distribution and the use of software with AI as well, and then just all go to the beach and sip on some cocktails or something.

Or in other words: Good luck with that.

fluidfortune 3 hours ago|
Well let’s be real for a moment here before we get completely anti-AI.

Without AI, I’m a guy spending years learning C++ in spare time I don’t have to develop software concepts and solutions I want to work on TODAY.

The ZIG project, to me, has a place. Legacy coders right now do need protecting.

It’s not people like me that they need protection from.

It’s not even language models they need protection from.

What they need protection from are the corporate structures who falsely believe that this technology makes them obsolete.

The article talks about “playing the person, not the cards” and that thinking has one fatal flaw: the vibe coder is a person. The vibe coder may have creative agency that the legacy coder does not.

Look, I still cross up French and Spanish words because I took a year of each, C++ syntax, Python syntax, HTML, I understand their structures but I’m liable to start out writing a Python script and wind up with half a web page and a brutal error message in my IDE environment.

Zig’s motivation is correct in many ways I think. I am not really their target audience or their target coder. But I am also not their target enemy. Put the right group of legacy thinkers in my think tank, and the code would get even better.

-The Court Jester of Vibe Code