Zig is at a crossroads
Chapters8
Explains Bun's fork of Zig, the speed claims, and why the change sparked debate beyond the surface of a simple feature
A sharp take on Bun’s Zig fork controversy, Zig’s development philosophy, and what parallel builds really mean for language design.
Summary
The PrimeTime’s Zig is at a crossroads dives into Bun’s decision to fork Zig and the ensuing debate about speed versus correctness. The creator claims the controversy isn’t about Bun forking Zig per se, but about upstream governance, licensing, and the practicality of rapid feature spins. He highlights Zig’s long, careful road to stability—especially the recent explicit, well-explained gains in incremental or parallel builds—and contrasts that with the flashy, potentially risky performance gains from a fork. He references Zig’s strict no-LlM policy and the community’s frustrations with AI-assisted review processes, then pivots to a larger meditation on the ecosystem: how corporations (Anthropic, MIT-licensed projects) influence open projects, and whether speed should trump reliability. The video eventually includes a postscript update: Zig’s response clarifies that parallel semantic analysis isn’t the path they’ll take, citing LLVM-based backends and a faster incremental backend as the real route to speed, with an emphasis on avoiding regressions. Throughout, The PrimeTime weaves humor, personal opinion, and concrete examples (Async features in Zig, builds dropping from 40 seconds to 0.5 seconds) to argue that thoughtful engineering beats headlines.
Key Takeaways
- Bun’s Zig fork claimed potential 4x faster builds, but Zig upstream rejected the approach due to non-deterministic behavior in parallel semantic analysis.
- Zig’s own work emphasizes a carefully designed backend (including an experimental LLVM-backed path and incremental builds) that can yield real speedups without sacrificing stability.
- Zig’s licensing and governance (MIT license, no LLM policy) shape how forks interact with the core project and influence contributor behavior.
- The discussion highlights tensions between acceleration via forks and the integrity of language tooling, stressing that true speed gains come from robust, thoughtfully engineered changes rather than quick hacks.
- Zig’s team publicly explained why they won’t upstream Bun’s changes, pointing to non-determinism and design problems, and instead pointed to a more stable path to speed improvements.
- The video ends with praise for Zig’s long-term engineering discipline and a call for collaboration and careful experimentation rather than headline-driven forks.
Who Is This For?
Developers and tech enthusiasts who want to understand the real trade-offs in language-tooling forks, governance, and how to evaluate speed versus stability in language ecosystems. Essential viewing for Zig enthusiasts, Bun users, and contributors evaluating forked projects.
Notable Quotes
"We do not currently plan to upstream this as Zig has a strict ban on LL authored contributions."
—Zig’s official stance on integrating LLM-authored changes and forks.
"Parallel semantic analysis has actually been a issue and they've been kind of thinking about it for quite some time now."
—Zig explains the design problems with Bun’s forked approach.
"The rewritten type resolution semantics were designed to avoid these issues."
—Zig’s rationale for their own design strategy over Bun’s fork.
"We can go from 40 second build times down to a half second."
—Zig’s claimed performance gains with their own backend strategy.
Questions This Video Answers
- Why did Bun fork Zig and what went wrong with the parallel semantic analysis idea?
- What are Zig’s competing strategies for faster builds without sacrificing determinism?
- How do MIT licenses affect forks of open-source projects like Zig?
- Can LLVM-backed backends realistically outperform forked approaches in language tooling?
- What is Zig’s stance on AI tools and LLMs in code contributions and issue tracking?
ZigBunZig fork controversyParallel semantic analysisIncremental buildsLLVM backendMIT licenseAI policy in OSSCode review cultureAnthropic
Full Transcript
You know, this is a little bit different of a video at this point. I hope you're ready for a bit of a yapstorm today because we got something that originally I just wasn't going to talk about. You know, I just didn't want to talk about it. I didn't want to take your time. I just I just couldn't do it. But it just has been eating at me and it's just been building in me like some sort of just yap geton that's going to come out and now it's going to come out. So, our story starts right here.
Bun, the beloved JavaScript command line utility that's written in Zigg, very popular programming language, dropped this little tweet that said, "Hey, in Bun's Zigg fork," and you're like, "Well, wait, wait a second. Bun has forked Zigg. Wait, what?" They made a small change that apparently makes debug building up to 4x faster, improving internal development velocity. And then they give this a nice example right here where you can see a bunch of what appears to be parallel builds all going at the exact same time. Now, you're probably thinking, "What the hell? What what's the controversy? Is it because bun for to zigg?
Is that is that what we're talking about?" No, that's that's not it. That's not it at all. For those that don't know, Zigg is actually quite the popular programming language. As you can see right here, Mitchell Hashimoto, writer of Ghosty, yes, Ghosty is also written in Zigg, has some high praises for the language. And the language itself was actually written in uh late 2015 early 2016 with the description of it being my goal is to create a new programming language that is more pragmatic than C. This is like trying to be more evil than the devil himself.
Not my words. Kind of funny. A good way to describe your language. You just wanted a more pragmatic C. Also, that's evil. That's evil to do. All right. So, before we get into the controversy and honestly my five conclusions that I'm going to draw from this, yes, like I said, this is a lot of yapping that's going to happen today. First, the bag. Kamish, you got to listen to me. Oh, no. Not one more comment from you. I'm done rebasing your mistakes. You're on junior CSS duty until further notice. Commish, you can't do this to me.
Keep talking and you'll be doing store procedures for a month now. Get out of here. Take him with you. Fun fact, CSS is actually touring complete. Larry, Gary, Tango, Mary, I'm just pulling your request. It looks good to me. You're clear to ship. Thanks. You're welcome. Next. It's an awfully big PR for an intern. Well, I just bumped some dependencies. It's nothing major. Hey, can I get a quick stamp on this? Yeah, don't worry about it. Quick approval. Oh, not on my watch. I'm on your disc like a peas on slur. Not this again. It's literally just a hex code change.
Just to prove it. Just to prove it. Squish. Perf resisting review. Oh, I know you're the dippler. I've seen vibe coding, but that ain't it. MERGE COP. NO, MERGE COP. I hate merge cop. He always makes reviewing take forever. We have code rabbit. Oh, come on. I wasn't even merging the prod. It was a hex code change. We have code rabbit. We don't need real people reviewing such simple changes. Code rabbit can do it for us. Our engineers time is better spent solving problems for customers. You can try it too at code rabbit.ai. Next week on Merge Cop.
Now my plan to merge a dip so big. You're the dipler and I always knew it. Okay, so what is the actual controversy that's going on here? By the way, I love saying controversy ever since I saw some BR LITTLE SPOT BRUSH say their funny words. They're funny English words and one of them was controversy. Now I just love saying it that way. Anyways, so if you look at the tweet and you go all the way down to the third one, it says this. We do not currently plan to upstream this as Zig has a strict ban on LL authored contributions.
And if you go over and you do check out the code of conduct and the first thing you'll notice is that right away there's an IRC channel. Okay, little strange that there's an IRC channel, a language in the year 2026 is still organizing and strategizing on IRC. It's really a true I mean they are truly trying to be a more pragmatic se absolutely Chad behavior. And if you scroll down, just a hint, you'll see right away strict no LLM and no AI policy, no LLM for issues, no LLMs for poll requests. Now, of course, what does this mean?
I think this is a big point of contention. Does that mean you cannot generate any code by it? Uh, but anyways, or no LLMs for comments on the bug tracker, including translations. English is encouraged, but not required. You are welcome to post your own native language and rely on others to have their own translation tools of choice to interpret your words. By the way, I'm just throwing this out there. That just sounds like a giant pain in the ass. I mean, I mean, LLMs are just generally pretty dang good at at translating. It's just like, "No, you use an LLM, not not me." And of course, this led to exactly what you would expect it to lead to.
Well, screw Zig. They won't last long blocking LLMs. Zig is going to get left behind. Like, what what do we What What is Zig getting left behind even mean? Like where's it? Where's it going to go? It can't get left by. It's a language, people. And of course, some people are actually happy about this, bro. They're competing with C, not JavaScript for sake. Makes me want to learn Zigg more. Anyways, classic Twitter arguments. They're all just so focused on the exact thing that is the problem instead of actually looking at what is the implications of all this.
What is actually going to happen? Because there's actually quite a bit to think about if you have this kind of divergence that's starting to happen because you do have anthropic. They can literally spend infinity tokens using claude mythos, the most dangerous model ever created. It's so dangerous that Daario has decided that you could never even look at it. Like even just looking at it is like looking into the eyes of Medusa. You're going to be turned to stone and immediately start hacking the NSA. Okay, so let me get to effectively my the many points that I have about kind of this weirdness that we're about to see.
The first thing obviously is like I want features faster. Zigg has been in development for 10 years. It's still not at a major version. It's still unstable release after release in the minor versions. Still break a whole bunch of stuff and things change. So yeah, I can see why people would like a little bit more velocity. And I think a lot of people these days when they look at velocity in its most kind of rudimentary sense, they look at an LLM. They're like, "Dude, why would you write code when you could just say it in English, the Lord's programming language?" But I kind of want to push back against that a little bit.
Like even though I think I'd personally benefit seeing Zigg in a more kind of concrete uh stable position, in fact, I would start using Zig again in a more realistic fashion if that was the case. Uh but I I do want to push back a little bit in kind of that line of thinking. If you just even look at one of their latest features, their new Async kind of release of how they're handling async, it's really really well done and it took multiple years to actually get into that position. Now, is it a good thing that they took so much time to get async await effectively in Zigg?
Well, some people could say, hey, they should have been able to do it faster, but the way they did it was done so well that I think it's actually okay that they took that time. There is a bit of beauty in slowing down and not trying to be the first person done, but actually being the person that does it the correct way. A second, I think the big controversy here is that Bun forked a Zigg and did not call it ZG. I I genuinely, if you're going to fork Zigg and you're going to diverge and you do not call it ZG, it is truly a crime against humanity.
We better have Zigg and ZG. Just say I mean that's a more iconic D duo than BBop and Rock Steady. I would be genuinely upset if this does not happen. It really just goes to show that Daario doesn't like humor also apparently. Okay, I expect it. I expect it next time or I'm judging I'm judging anthropic heavily here. Okay, but a more important question is how do you even how do you enforce this in all reality? How do you enforce this? What happen if I'm a contributor and I just start using a little bit of tab autocomplete?
Well, that my friends is an LLM. you know, that right there could be an LLM. And even though I'm hand coding effectively most of it, I could be using an LLM. How do you know that I'm not using an LLM? I mean, I get it that some people out there, they have very magical and mystical prompts that they like to put out there. And it's very obvious when the slop canineer comes in with his slop trebuche just unloading code and being like, "What? What?" Like, "What? Why? Why are you upset? I just added 10,000 lines of code.
This is good. This is good for you. You should love this, brother. Nobody loves this. This This doesn't even work. Okay, this whole thing, virtually none of it actually works or really changes anything. And so, this does kind of lead to an interesting point. If more people were to get in, you know, kind of excited about Zigg. I understand that they're building this like mentality and this is totally okay, right? You're totally okay saying, "Hey, we want to create a culture where you don't use LLMs." I think you should be able to do that. I don't understand why people get so angry at other people for doing it and then they point to a singular bug or a singular feature such as this one right here.
Uh this compile at, you know, this super cool, hey, I'm going to compile everything much much faster. They look at this and they're just like, oh yeah, screw this team. Oh, they're going to die without just like, well, first off, they got here by the decisions they've made, so obviously there must be some level of wisdom in what they've done. Bun has enjoyed what they've been building and doing and so they're like, "Okay, actually no, no, wait a second. This could be kind of neat." And so it's kind of silly to that these people just come out and just rag so hard.
Like you didn't build the language. You don't know what it takes. It took 10 years to get to where they are today through very careful decision-making. I don't know. But we're entering into a weird world where things like this, this little MIT license that's currently on Zigg, maybe these are some of the things that might change at some point. Maybe this becomes less and less of appealing kind of license to have because this kind of behavior by big companies with billions of dollars and infinite tokens are going to try to give you a run for whatever kind of creative stuff that you've done.
And it also just feels really weird because Andrew has spent the last 10 years building this product on a pretty like meager salary. If you look into some of his blog posts over here, you can see right here he says like, "Why am I donating $150 a month or 10% of my income to this library?" And it just feels weird. Like there is just something kind of weird about a big corporation stepping in saying, "Hey, we don't like how you guys do it, so we're going to do it our way." But also, that's MIT license.
Like that's that's why you don't use it if you don't want that to happen because it's fully within the big corporation's right to do that. Like that's the whole point of this license. There's also just something I don't like about anthropic. Okay, I I just haven't liked them. They just seem so adversarial to engineers. They just seem so adversarial to pretty much everybody that's not anthropic. They have their own little internal circle jerk where they're just like, "The AI is absolutely alive. We are absolutely shephering into the future. This is the most dangerous thing ever.
It's probably going to kill everybody. Also, we're going to create and make trillions of dollars because we're the only people that are safe." They're just like the weirdest group of people. And so for some odd reason, when I see them make a fork of an MIT project, it just somehow feels greasier. And I don't really know how to say it because it is MIT at the end of the day, but but at the same time, it just it somehow feels like they're stealing. And I'm not really sure how to express that other than I just don't like it.
It doesn't it doesn't feel good. Something feels wrong about it. And yes, currently it's just a simple single feature kind of fork. So maybe that's all it ever ends up being. And then it's just like, okay, whatever. It was just a simple single fork. Or maybe they continue to keep on doing it and then at some point it has to become a hard fork once you add enough features. I don't know. There's just something that bothers me, but I don't really know why. I can't really put my finger on it. And that's part of the reason why I wasn't going to make this video because I don't really have like a concrete takeaway other than yeah, I don't like it.
I don't really like how Anthropic deals with the public and how they think of software engineers and it just bothers me more that they're forking MIT Goodwill projects. It just bothers me. A lot of questions. Hey, I'm just saying lots of weird questions. We've never really been in this kind of area before and I don't really know what to make of it. If you got an answer for me, you got to let me know. Okay. Also, I know that was just a lot of yapping. Okay. This was a lot of yapping. I just I just felt like I had a bunch of things to say cuz this last year has just been so weird in software development and this kind of problem has started to kind of poke up multiple times now.
I don't even know what to make of it. The name is the sloppen. All right, so it turns out that after I recorded this video that Zigg did actually respond and gave their thoughts which are super compelling and I'm traveling so I'm going to record the end of this video from my hotel bed. Wow. All right, so the response from Zigg is actually really amazing. And so it starts off with AI is entirely besides the point here. The changes in this Zigg fork are not desirable to upstream for several reasons. So it turns out that parallel semantic analysis has actually been uh as an issue and they've been kind of thinking about it for quite some time now and they already have a mostly working version of this exact same thing.
Now this is what they say about it. The rewritten type resolution semantics were designed to avoid these issues. These issues being that if you do parallel semantic analysis, sometimes depending on the order of types, you can actually get errors that should not exist if everything was parsed correctly. But Bun's Zigg fork does not incorporate the changes and has not otherwise solved the design problems, which means their parallelized semantic analysis implementation will exhibit non-deterministic behavior. That's pretty much a non-starter for most serious developers. You don't want your compilation to randomly fail with nonsense error 30% of the time.
And I think we all pretty much agree to that. That would be wild. I'm not even exactly sure. There's no amount of compilation speed up that I would take in which exhibit some sort of nondeterminism. I guess I mean to be fair if I could compile it in a half of a second versus 1 hour, then yeah, obviously I'd rather roll the dice three times to make sure it actually compiles. But okay, besides the point. To put it more simply, we are going to make these change enhancements, but hacking them in for a flashy headline isn't a good outcome for our users.
Instead, we're approaching the problem with the care it deserves, so that when we ultimately ship it, we don't cause regressions. Now, again, this is what I've been talking about with Zigg. This is why Zigg has remained such a good language is that every single time there's a problem, they think about it and they approach it and they take great care to do the right thing every time. It's truly impressive what they have built so far. So, I'm completely not surprised that when you just simply throw something through Claudia and Claudia is just like, "Dude, that's such a good question.
You're so insightful and these ideas you have are brand new. My gosh, you should tweet about it. You should fork Zigg that this kind of stuff ends up happening. And then guess what? It just turns out that perhaps the implementation wasn't correct, at least based on what I'm reading from Zigg. But more importantly, he actually goes in here and kind of disproves the entire point of this, which is I think even more impressive. So instead of just having this parallelized semantic analysis, he's like, "Okay, no, no, no. You're focusing on the wrong problem." Which is like a huge classic.
often when people try to make something faster or better or more well-ritten they think about it from such a like myopic perspective and so in this case it's just like oh well the problem is is that we're just not analyzing everything in parallel that's really where the bottleneck is and then comes in here and says no no no that's not what I'm saying what I'm saying the true bottleneck is is the LLVM now we have an experimental our own kind of custom backend that means we can produce stuff at the same rate 4x faster And we also have incremental builds as well, which means that we can actually produce it orders of magnitude faster.
We can go from 40 second build times down to a half second. And that's completely different than what's going on with just the Zig fork. It is the wellthought through and wellared for good engineering that it takes to build a good product. This is what good products look like. And once again, I'm genuinely impressed with Zik. And I think there's a good takeaway here. I do think you can move super duper ultra lickety split with an LLM. And perhaps this was like a good thing to go spike out and say, "Hey, if we can accomplish incremental or parallel semantic analysis, we should be able to run about 4x faster." And then instead of having this big flashy headline like we can't even commit it back because of LLM policies, instead perhaps they could have worked with the team.
Perhaps they could have done a little bit of digging cuz apparently this is already available on Mac OS and I think Linux. So maybe we could have just looked at it a little bit more instead of just making these gigantic headlines.
More from The PrimeTime
Get daily recaps from
The PrimeTime
AI-powered summaries delivered to your inbox. Save hours every week while staying fully informed.









