My Thoughts on the Bun Rust Rewrite - Andrew Kelley

I’ll preface this by stating that based on what I’ve independently observed from Bun’s source code or ideas/sentiments espoused by Jarred and other Bun developers in discussions, my impression has always been that the Bun people see don’t see programming as a craft but merely a means to an end. I’ve never respected that category of programmers, and thus Bun has never been a project that I’ve held in any regard. I largely agree that Bun has not been a good “de-facto” flagship project for Zig because of its questionable craftsmanship and I believe that Zig will probably be better off now that the two have parted ways.

However, I do have to wonder: before Andrew hit “post”, did he ever stop for a moment to ask “will this blog post reflect well on Zig and its leadership and help Zig’s current and future users, or will it have the exact opposite effect?”

I don’t think this post did or will do anyone any good. It comes across as emotionally immature sour grapes, very similar to someone who has just gone through a bad breakup and decided to post “whatever, I always knew that you weren’t the one. I’m actually happy that it’s over!” on Facebook in the world’s least convincingly stoic manner possible.

What I especially take issue with is how it decides to take a public shit on Jarred by airing dirty laundry about his management skills with a claim everyone thinks he sucks behind his back, and label him as “groomed” just because he has a different set of priorities, goals and software development philosophies, only to then act as if stating “I don’t actually have any personal criticisms of Jarred and I’m happy for him” will magically undo any damages that may be caused by the previous sentiment. I don’t care whether or not any particular claim about Jarred is true, the last part of the post is still an enormous weak cop-out. I would have respected the post more if it stuck to its guns by clearly and unambiguously declaring that Jarred is a person that you no longer respect for reasons X, Y and Z, because that would at least demonstrate a bit of a spine.

Of course the even better version of the post would have been to focus on purely technical arguments without attacking anyone’s character. There are more than enough convincing arguments you could use to explain why Bun has always had quality control issues and never been a good ambassador for Zig without even mentioning Jarred or any developer by name.

That said, unlike the last time I expressed similar criticisms, at least this time it on Andrew’s personal blog and not official communication on ziglang.org. I also deeply understand and respect the desire to post whatever you want without filter. But I still think that posting it in its current form was a bad idea. If I personally was in a leadership position for a project/software movement with tens of thousands of users, I would probably try to avoid needlessly fueling resentment for it by getting involved in catty retarded techbro e-drama. The people who truly matter will be able to see and navigate through the bullshit anyway.

36 Likes

True, except that’s a bit undermined because 1) BDFLs get treated differently; and 2) The Zig VP of Community posted the link here, on HN, on Lobsters…

I’ve got no love for Jarred and what little I’ve seen of his programming/project managing practices, but those seemed like the wrong things to focus on, whether or not it was personal.

10 Likes

I don’t necessarily disagree with the point you make that:

But it is still important to acknowledge and discuss the difference in values which are in part responsible for these technical differences. We lose something focusing on the purely technical.

Code does not exist in a vacuum. These values & social factors are the “dark matter” of software engineering, and absolutely affect the technical outcomes.

8 Likes

I don’t agree. It’s quite difficult to articulate the position that Andrew takes (and clearly he may have failed), but it does not “demonstrate a lack of spine” to respect Jarred given the rest of Andrew’s post. If anything, I think the spineful thing is to respect him, as Andrew does.

8 Likes

I find it amazing how sensitive people has become. If a project leader speaking his mind about any subject without fluffy words would truly damage the project and community, Linux would’ve never had any chance. And Andrew wasn’t anywhere near Linus in his prime “F*ck you Nvidia” days…

25 Likes

I’m not at all suggesting that things are sprung out of nothing. It’s obviously very important to understand and explore surrounding contexts that help explain why things are the way they are.

It’s perfectly sensible to argue that the reason Bun has quality issues is because its founder chose to prioritize short-term monetary gains and that they self-selected for the lower rungs of the talent pool by allowing/requiring crunch (you can even incorporate the very scary “capitalism” word in your critique), because those are technical arguments not fueled by emotion. But you don’t need to express this sentiment by making value judgments of someone’s character and effectively declaring that they are poor misguided souls who have been brainwashed by venture capitalists. It’s unnecessarily elitist.

If I told you to your face “you have been groomed by The People I Don’t Like™, all your old friends I’ve talked to behind your back say that they think you’re an unempathetic shit show, and btw, you sucked at writing code even before you started using LLMs to write equally sucky code” but then suddenly got cold feet and haphazardly tacked on “but hey man, I respect you and hold no resentment, I’m happy for you bro” toward the end, I don’t think that you would take any less offense, and neither you nor any single onlooker would believe even for a moment that that last part was genuine. It would have been less underhanded and two-faced and more respectable of me to omit it and actually stand for what I just said.

8 Likes

I agree with you, but I don’t think that’s in the text of what Andrew wrote.

That’s how it reads to me, and that’s how I suspect that a significant portion of the people who will read the blog post will interpret it.

6 Likes

You would take offense because you share a value system similar to mine.

Jarred, however, doesn’t value disassociation from Peter Thiel and associates. He doesn’t value empathy. He doesn’t value code craftsmanship. He doesn’t value being a good manager.

I value those things. Those are my tastes.

I recognize that by his own standards, he’s doing quite well. I respect people who are true to themselves.

Anyway your main criticism of me, as usual, is that I didn’t prioritize creating value for Zig community and Zig project as a whole, in my blog post. Clearly, I spent social capital in order to express myself on this one. Fair enough.

To be honest I’m having a hard time understanding why the JetBrains interview was popular and likeable, while this blog post is getting backlash. From my perspective I’m just expressing my thoughts and opinions and getting wildly different reactions. It will be helpful I think to figure out what caused the different reactions here.

35 Likes

I agree, but I do think that it’s also just as clearly an interpretation, and a needlessly inflammatory one at that.

the counter interpretation, which is how i read it, would say “you signed a common yet bad business deal, and no one is surprised that it came due” rather than “you have been groomed”, would say “you’re not good at managing and your employees [who are crucially not the same as ‘your old friends’] hurt for it”, and would say “your coding style shows your enthusiasm, a desire to prove yourself, and a lack of expertise”.

all three of those things apply or have applied to me! would it sting to be told them to my face? probably. would i be grateful, eventually, to be told the truth? absolutely.


well, or maybe i’m steelmanning @andrewrk who doesn’t need it hahahaha


I think (although this is just my read) is that in the JetBrains interview, you’re speaking on camera, so people can get more information about how you feel about what you are saying and how you intend it to land.

In a completely text-based format, people are more likely to be projecting some of what they expect you to feel into how they interpret what they read. My guess is that a lot of people expect a different amount of drama about or around this blog post than they found. Some of what you’re hearing is probably “disorientation”

5 Likes

Hey @andrewrk, please stay true to yourself, you’re fine. <3

14 Likes

I think it’s because you speak in such a manner that conveys more nuance. Thinking if I read your post with the tone and style of speech you had in the interview I think that many would have followed along a lot better. Although, it may also be because you are just taking a stance that is more nuanced than just ‘AI bad’ and actually pointing to things such as the Thiel affiliation which, to be honest, most people haven’t taken the time to fully come to understand.

3 Likes

Thanks for clarification @kristoff ! In his HN reply Jarred linked to github PRs about Fuzzilli starting on April 6. That makes both statements correct – no fuzzing in the timeframe when monthly calls with the Bun team were happening and fuzzing being used since at least April. Again, a word “fabrication” is too strong in this context.

3 Likes

I feel like I am the only one who read the post and felt like you were pointing out how each side just had different values.

8 Likes

I think in concrete terms it means we can agree that the Bun codebase wasn’t really fuzzed all that much before the Rust rewrite, which is not what Jarred’s article would lead you to believe.

The section in Jarred’s post is titled “what we were already doing” and it lists what they claim they were doing to maintain their Zig codebase, which includes:

  • “24/7” fuzzing
  • shipping release safe builds on Windows

I think it’s fair to consider the first claim misleading, as they did not in fact fuzz the Zig codebase all that much before the rewrite.

From my personal perspective, I find the second one also somewhat misleading, it’s a “counterpoint” to my blog post where I say they were irresponsibly shipping release fast builds, which they were, just not on windows apparently.

6 Likes

After carefully reading the article multiple times, the only thing I don’t particularly like was the monthly meeting and the special and tailored supports from Zig to Bun, but I guess Zig and Andrew have already learned the lesson, and will not do that anymore.

In my opinion, Zig should strictly follow their policies, missions, and visions. Like what Andrew said in his current interview, doesn’t matter how much money you donated, doesn’t matter how famous and big commercial company you are, you have the same supports from the community, and you have the same pipelines to contribute to the project.

If they have any programming questions, they should ask via ziggit or IRC. If they want Zig to be better, they should submit bug reports, human written pull requests to the git repo. Even if you are Bill Gates, Elon Musk, Bezos, and you donated 100 millions to Zig, and your codes got segfault? No problem, ask here on ziggit, and we will laugh at you, but we will help you :joy:. Your crappy codes won’t get better because you donated more. Your crappy codes will get better because people here love the language, love computer programming, and love helping people.

I am surprised that Zig wasn’t like this before. However I am not surprised that Zig and Bun’s relationship is broken. Considering some Zig members spent a lot of time specifically for the one company, and still no progress to improve the code quality or anything like that, also considering that by the time they have done some monthly meetings, Bun might have already thought that Zig took their donation as a commission and compensation, the relationship has been broken from there for sure.

If you let others think or feel their money is commission and compensation, it’s very likely to create a lot of gaps and suspicions. This happens everywhere, not just in programming or nonprofit sectors.

My only hope in the future for Zig is that if the 100 millions really happen, Andrew and Zig still doing the same like what they are doing now, with only adding maybe a few more permanent engineers, and less further fundraising. Just like what he said in the Jetbrain video.

1 Like

To be clear, my criticism is also in part that Zig leadership (mainly you and Loris) have expressed at multiple points that you/the Zig foundation greatly value arguments that can stand on their own technical merits, and that you recognize that unnecessary inflammatory remarks and drama probably reflect poorly on your project, and yet every now and then there’s a blog post like this, or one of you take the bait and engage in something dumb on HN or Lobsters or social media. This pattern of saying one thing and doing something different makes it a bit difficult to know what to expect of you and when/where to trust you. It would be easier to navigate if you just clearly decided that “no, I don’t actually care if what I post may scare some people away from the project” instead of this wishy-washy “I agree, I will do better next time”.

Similar to what you said about Jarred just now, I also respect people who are true to themselves and I much prefer to engage with people who are abrasive assholes but also completely honest about that that’s who they are, than people who try to uphold a nice facade but then go on to say things that they don’t actually mean, because at least the asshole is predictable and you know what to expect.

I haven’t been fully following the Bun rewrite and acquisition by Anthropic discourse so I could be missing critical details, but I suspect that one of the main factors is that your post is the first to take issue with a specific individual and mention them by name, instead of only discussing the project as an entity itself. From the bits and pieces I’ve seen, the Bun side haven’t criticized your character or expressed anything like “Andrew was groomed by the anti-AI luddite cult”, only that they were disappointed that their LLM-generated compiler “perf improvements” were rejected.

Also, you often employ a bit of an edgy tongue-in-cheek writing style for your longer posts (which is welcome) and because of that, it can be easy to read more negative emotion into what you say than you might have actually intended. Look for example at your older blog post that mentions the V language, it’s a more matter-of-fact account of what happened. It also has a positive spin with the musl donation, so the post itself becomes more about something you think is good than something you think is bad.

14 Likes

The meetings, which mlugg and I attended (not Andrew), were an attempt to help Bun get back on track. It was a big project that not only had a weight marketing-wise, but it was also an employer of some members of the Zig community and helping the company do better would have had a positive effect on the people working on the project.

When we started doing the meetings, Bun was already in a problematic state, especially wrt incremental compilation. The codebase was big, it overused comptime a lot, and people working at Bun had already posted publicly how they were annoyed at Zig being slow:

We did talk about incremental compilation a lot during those meetings and by the end of it Bun was actually on the verge of being able to make use of it by finally getting rid of usingnamespace (to be clear, we did the gentle nudging, but the hard work was done by Bun employees), unfortunately the champions of this effort left the company around that time (or so I’ve been told) and Jarred instead decided to vibecode an unsound patch for the compiler to then go say on the internet that it was not going to be upstreamed because of our policy, and that was kinda the beginning of the end.

I think we got close to doing something good, but unfortunately we couldn’t bring it home, so to speak.

In the end I would say that no, I haven’t learned my lesson. Next time that a big company tries to use Zig and employs community members, I will try to see if there’s anything I can do to prevent a disaster like Bun ended up being. And I will also at the same time keep sharing with people information I have about working conditions at those companies when they ask me :^)

23 Likes

Maybe Andrew should spend his thoughts on those who’re working hard to make Zig a success instead of wasting them on this one dude who wants the language to be Rust? Just saying.

1 Like

Honestly, Jarred’s post reads like “we had problems and didn’t want to solve them or learn how to avoid them” but longer.

I’m happy he has achieved better performance/size/whatever and I recognize that Rust is in fact an awesome language (that I don’t like) with an incredible amount of tooling and resources, but it’s clear from his post that the problem was the way he and his team were writing the code.

I think it’s totally fine to criticize some stuff and appraise some other. Not only I don’t consider this behavior underhanded, but the most genuine it can be, since it demonstrates that you are able to recognize and communicate what you see on both sides of the coin.

You can not get a more constructive criticism than the opinion of someone that is not afraid of you.

Non-verbal communication is tricky on the internet I guess… But you didn’t say anything overly defamatory so things will probably deescalate quite fast.

This sounds like an ad for Claude. The whole thing sounds like an ad for Claude. TheCherno’s last video is an ad for Claude too.

I’m glad that there’s still people that like to solve things by themselves.

4 Likes