The Bun Rust Rewrite: A Conflict of Engineering Philosophies
The Bun Rust Rewrite: A Conflict of Engineering Philosophies
The Zig Software Foundation Views Bun's Rust Rewrite as a Relief
The Zig Software Foundation (ZSF) has expressed strong approval of Bun's decision to rewrite its codebase in Rust, viewing the move as a necessary separation between the Zig project and Bun's engineering practices. According to ZSF, the transition removes a "net liability" where Bun served as a high-profile but poor example of how to write Zig code.
Fundamental Disagreements on Code Quality and Engineering
ZSF contends that Bun's development was characterized by "irresponsible software engineering practices," which they argue invited criticism regarding memory safety—a frequent point of contention for Zig.
Technical Critiques of the Bun Codebase
ZSF highlighted several specific technical failures in the original Zig implementation:
- Technical Debt: The codebase was described as "hacks on top of hacks" with a reckless pace of feature delivery that ignored bug elimination and reflection.
- Assertion Abuse: ZSF pointed to the abuse of assertions as a primary indicator of poor quality.
- Comptime Misuse: ZSF claims they warned the Bun team for years about the abuse of
comptimeandinlineusage, which impacted compile times and binary size. - LTO Misunderstandings: ZSF disputes Bun's claims that performance gains in the Rust rewrite were due to Link Time Optimization (LTO), noting that Zig has supported LTO throughout Bun's existence.
The "Engineering Resources" Debate
ZSF argues that bugs are eliminated by dedicating sufficient engineering resources to the task, rather than relying solely on language features. They cite TigerBeetle as an example of a project that maintains high quality in Zig through rigorous effort and a healthy relationship with ZSF.
Management and Cultural Friction
Beyond technical concerns, ZSF describes a breakdown in the professional relationship between the Zig project and Bun's leadership.
Leadership and Work Culture
ZSF characterizes Bun's founder, Jarred Sumner, as having "beginner energy"—a trait they view as positive for a student but problematic for a manager. The post cites reports of poor communication, unrealistic expectations, and low empathy within the company, quoting a public statement from Sumner that "Oven is going to be a grind" and that those valuing work-life balance might not be a good fit.
The Impact of VC Funding and Acquisition
ZSF suggests that the transition from an open-source mindset to a venture-backed startup shifted Bun's priorities toward a "startup's exit strategy" and productivity fantasies, which eventually culminated in the acquisition by Anthropic. ZSF notes that the relationship effectively ended when donations to the Zig Software Foundation stopped and scheduled meetings were ignored following the acquisition.
Community Response and Counterpoints
The announcement of ZSF's perspective sparked significant debate within the developer community, with reactions split between those who found the honesty refreshing and those who found the tone unprofessional.
Defense of Bun's Practices
Jarred Sumner responded to claims that Bun did not use fuzzing, providing several pull requests as evidence of Fuzzilli integration and bug fixes derived from fuzzing the Zig code.
Criticisms of ZSF's Tone
Many community members argued that the public critique of Jarred Sumner was an "ad hominem" attack and unprofessional for the leader of a serious programming language project. Critics suggested that the focus on "responsible engineering practices" as a substitute for built-in memory safety is a weak sales pitch for Zig, arguing that requiring developers to "work harder" for the same safety results provided by Rust is an unattractive proposition.
Perspectives on AI and Rust
Some observers noted that the rise of LLMs has made Rust more tractable by assisting with the borrow checker, potentially eroding one of Zig's primary advantages (simplicity) while Rust retains its safety guarantees.