honestly i loved the handmade vibe of bun in the beginning but now it seems like the project is going in the wrong direction.
possible improvements the zig community could make by forking bun:
show recognition to the vendored libraries, get what is there working well, instead of constantly adding new things
reverse the damage done by clankers
better ffi and packaging support for zig code (inbuilt compilation)
benefits to the zig community: scriptability, testing, rapid prototyping
bun could be the glue that leads to wider adoption of zig code inside of web applications. If there was better support to compile and package zig code with bun, people could selectively replace part of their typescript code with zig.
I would consider this just a not well thought-out question, but the interest in tweeting about this thread from a brand new account forces me to consider the case where the main interest is just to enjoy seeing reactions rather than to actually exchange opinions.
To answer the titular question: no, weâre not interested at all, thank you very much.
It was never zigs flagship product (that would be the compiler itself) and was never the biggest project written in zig (pretty sure that would be tigerbeetle).
What benefit would there be to keeping bun in zig?
Zig is already being adopted more and more, bun is a minor exception to that.
And there is no reason you need a scripting language implemented with zig, even if you want one there are better languages than js/ts already implemented in zig (search this forum for some!).
Interoperability with js/ts was never a goal of zig.
If youâre moved to build a javascript runtime, then do it! But Iâd argue that that is such a large project / commitment that forking something as far along as Bun, Deno, Node, etc doesnât make sense. Theyâve made so many foundational choices, and so many tradeoffs. For something like a runtime + stdlib, youâll feel hamstrung by their decisions.
Assuming the goal is actual adoption, youâll be living with your baby and itâs codebase for years. Make it your own with your vision and eventually your communityâs vision! Let the other projects do what they will and bring your own thing into the world.
The one great feature of Deno is that it can directly import from remote locations without requiring scaffolding files likes package.json, e.g. you can do things like:
import { copy } from 'jsr:@std/fs@^1';
Thatâs really nice for standalone cross-platform âshell-scriptsâ (for which I used Python before).
Also itâs just a single executable (the macOS homebrew install is 9 files, but that includes shell completions, readme, license, âŚ)
IMHO Deno is overall an actually better Node, just a shame that the core vision has been watered down by the need to be âsuccessfulâ (node/npm compatibility, âenterprise featuresâ etcâŚ).
If the goal is to show that Zig is powerful and to get Zig recognition, I think a better proposition would be going for a space that is relatively unoccupied, or does not have major competition going on. This is essentially what made Bun shine initially, it comes from a place which only really had Node, it improved on the state of Node at the time. That drove improvements in both Node and Zig, but also Deno. A âZig community forkâ would only get 1 day worth of HackerNews attention, which Iâm not sure if it is a positive for the fork or Zig, and when it inevitably dies down due to niche scope and project oversaturation in the field, it will no doubt be used as a âhey look! this language sucks so bad that they couldnât maintain this fork!â by the same group it got attention from in the first place.
Ultimately, the Zig community (and programmers in general) should write software for fields that interest them, that solve projects that interest them, and if they do a good job, itâs good for Zig too!
Porting of my posix-based project to 0.16.0 was based on vendored bun usockets.
So I âlearnedâ bunâs internals, at least low-levels
Bun used Zig as âbest Câ (and now it uses Rust as âbest Zigâ)
One important issue related to Bun, that we need to remember and take upon consideration in the future - itâs impossible to implement bun network IO model using new Io.
Regarding fork - bun itself is not framework, itâs specific application dedicated to one use case
I donât see any reason for fork - just migration to 0.16.0 will be real challenge
Who is this pitching to specifically? The zig community isnât a co-ordinated group, itâs just people who like zig. If someone feels the idea of a bun fork is appealing Iâm sure theyâll give it a go, but that doesnât guarantee community buy-in.