Przejście Bun z Zig na Rust byłoby dużą historią open source nawet bez AI. Bun to poważne narzędzie dla JavaScript i TypeScript: runtime, package manager, bundler, test runner i API zgodne z Node.

Migracja open-source runtime prowadzona przez testy i CI

Spór urósł dlatego, że sposób migracji był nietypowy. Jarred Sumner napisał 8 lipca, że Bun został przejęty przez Anthropic w grudniu 2025, zespół pracuje teraz w Anthropic, a pre-release Claude Fable 5 pomagał w dużej części portu na Rust. Dzień później Andrew Kelley, twórca Zig, odpowiedział ostrym tekstem. Dwa wątki na Hacker News zmieniły rewrite w debatę o językach, agentach AI, testach, pieniądzach i relacjach w open source.

Prosta wersja brzmi: Rust pokonał Zig. To za mało. Ważniejsze pytanie brzmi: czy duży projekt infrastrukturalny może dziś zrobić migrację, którą kiedyś uznano by za prawie zakazaną, jeśli ma mocne testy, feedback kompilatora, CI, human review i dużo agent capacity?

Co się zmieniło

Bun zaczynał jako projekt w Zig. Sumner pisze wprost, że Zig umożliwił wczesny Bun. Potem zakres urósł: transpiler, minifier, bundler, npm-compatible package manager, test runner podobny do Jest, module resolution, HTTP/WebSocket client i Node APIs.

Ten zakres dał wartość, ale też trudne błędy. Post Bun wymienia problemy w node:zlib, node:http2, UDP sockets, Buffer, TLS, fs.watch, CSS parser i JavaScriptCore. Wiele z nich to memory lifetime bugs: use-after-free, double-free, leaks i pominięty cleanup.

Argument nie brzmi: Zig jest zły. Jest węższy: Bun działa na trudnej granicy JavaScriptCore GC, native resources, FFI, async callbacks i manual memory management. W takim miejscu przeniesienie większej części ownership do kompilatora ma sens.

Rust nie czyni FFI bezpiecznym. Nie usuwa unsafe. Nie dowodzi, że testy obejmują wszystko. Ale może zamienić część lifetime bugs w compile-time work.

Skala była nietypowa

PR oven-sh/bun#30412 pokazuje konkret: tysiące commits, ponad dwa tysiące zmienionych plików i około milion additions. GitHub pokazuje teraz Rust jako główny język repozytorium.

To nie weekendowy refactor. To migracja codebase.

To nie był też zwykły ręczny rewrite. Sumner opisuje agent workflows, próbne przebiegi, compiler errors, test failures, adversarial review i poprawianie procesu, gdy agenty robiły złe rzeczy. Simon Willison nazwał to detailed case study in agentic engineering. Kluczowy element: TypeScript test suite Bun mogła działać jako conformance suite niezależna od języka implementacji.

To najważniejsza lekcja. Agentom nie ufano dlatego, że są mądre. Były użyteczne, bo istniał zewnętrzny oracle: kompilacja, testy, porównanie zachowania, powtórka.

Co to znaczy dla maintainers

AI zmieniło ekonomię rewrite, nie odpowiedzialność. Ludzie projektowali migrację, czytali wyniki, poprawiali proces, decydowali o merge i ponoszą konsekwencje. Agenty zamieniły compiler errors i failed tests w równoległą kolejkę pracy.

To nie czyni million-line rewrites bezpiecznymi. Sprawia, że dla kilku dobrze przygotowanych projektów stają się możliwe do rozważenia.

Kopiować warto przygotowanie, nie rozmiar diffu: behavior tests, szybkie CI, performance baselines, fuzzing, małe próbne migracje, review procesu generującego kod i jasną ludzką odpowiedzialność.

Zła lekcja brzmi: agenty mogą przepisać wszystko. Bez mocnych testów powstanie tylko większy bałagan szybciej.

Ograniczenia zostają

Rust redukuje część błędów, ale Bun nadal ma trudne granice: JavaScriptCore, native libraries, FFI, unsafe i runtime pełen callbacks. Issue PathString::slice i Miri pokazuje, że Rust-port dalej potrzebuje undefined-behavior checks i CI discipline.

Testy też mają granice. Duża conformance suite jest cenna, ale nie dowodzi wszystkich edge cases runtime zgodnego z Node.

Użytkownicy powinni sprawdzić release channel. Rust-port jest opisywany jako używany w Claude Code od v2.1.181, ale to nie znaczy, że każdy stable user Bun działa już na tej implementacji.

Lekcja open source

Bun nie dowodzi, że Rust wygrał z Zig. Nie dowodzi też, że AI może bezpiecznie przepisać dowolny projekt. Pokazuje nową kategorię wydarzenia open source: publiczną migrację infrastruktury wspieraną przez agentów, z testami i realnymi użytkownikami.

Duże rewrites nadal są niebezpieczne. Zmienia się ich koszt. Projekty z conformance suites, zdyscyplinowanym CI i human review mogą próbować migracji kiedyś odrzucanych od razu. Bez tych podstaw powstanie tylko szybszy chaos.