본문 바로가기

IT & AI

Bun의 Rust 전환, 언어 논쟁보다 코드 품질 논쟁에 가까워요

728x90

Bun의 Rust 전환, 언어 논쟁보다 코드 품질 논쟁에 가까워요

AI 뉴스 썸네일
AI 뉴스 썸네일

Bun이 Zig로 작성된 큰 코드베이스를 Rust로 옮긴 뒤, 이번에는 Zig 창시자 Andrew Kelley가 공개 반박 글을 냈어요. 겉으로는 Zig와 Rust의 장단점 논쟁처럼 보이지만, 글의 중심은 언어 기능보다 오픈소스 재단과 스타트업 사이의 신뢰, 코드 품질, 장기 운영 방식에 더 가까워요.

728x90

핵심 요약

구분핵심왜 볼 만한가요
개발도구Bun의 Rust 전환을 두고 Zig 쪽에서 공개적으로 다른 해석을 냈어요같은 사건을 기술 선택이 아니라 조직 관계와 코드 품질 문제로 볼 수 있어요
오픈소스ZSF는 Bun이 Zig의 대표 사례처럼 보이는 상황을 부담으로 봤어요유명 프로젝트 하나가 언어 생태계의 평판까지 흔들 수 있어요
AI 코딩Bun의 Rust 이식에는 Claude 기반 작업이 쓰였고, Zig 쪽은 AI 유입에 부담을 느꼈어요AI 코딩이 도구 선택과 커뮤니티 운영까지 건드리는 장면이에요

1. Bun의 Rust 전환을 다른 각도에서 본 반박이에요

Bun 팀은 앞서 Zig로 작성된 Bun 코드를 Rust로 다시 옮겼다고 공개했어요. Bun 글은 메모리 안정성, 버그 감소, 바이너리 크기 개선, Claude를 활용한 대규모 이식 작업을 전면에 세웠어요. Bun은 월 2,200만 회 이상 내려받는 JavaScript 런타임으로 커졌고, 그래서 이번 전환은 단순한 내부 리팩터링보다 큰 사건으로 받아들여졌어요. 3

Andrew Kelley의 반박은 다른 지점에서 시작해요. 그는 이번 전환을 “Zig가 졌고 Rust가 이겼다”는 식으로 보지 않아요. 오히려 ZSF와 Bun/Oven 사이의 관계가 오래전부터 무너져 있었고, Rust 전환은 그 분리가 밖으로 드러난 일에 가깝다고 봐요. GeekNews 요약도 이 대목을 가장 크게 짚었어요. 1

코드 품질을 둘러싼 불신이 컸어요

Kelley가 반복해서 말한 문제는 코드 품질이에요. 그는 ZSF가 사용자 프로젝트의 코드를 읽고 언어 변화가 실제 프로젝트에 미치는 영향을 본다고 설명해요. 그 과정에서 Bun 코드베이스에 해킹성 구현, assertion 남용, 빠른 기능 추가에 비해 늦은 버그 정리와 기술 부채 해소가 쌓였다고 봤어요. 2

이 주장은 꽤 민감해요. Bun 입장에서는 Zig 덕분에 초기 Bun이 가능했고, Rust 전환 글에서도 Zig 프로젝트에 감사를 남겼어요. 반대로 ZSF 쪽에서는 Bun이 Zig의 대표 사용 사례처럼 비치는 상황이 부담이 됐다고 말해요. 유명한 프로젝트가 언어 생태계의 광고판이 될 때, 그 코드가 좋은 예시인지 나쁜 예시인지가 커뮤니티 평판과 바로 연결된다는 뜻이에요.

언어 기능만으로 버그를 설명하기 어렵다는 지적이에요

Bun 글은 Rust의 borrow checker, `Drop`, Miri, LeakSanitizer 같은 도구가 흔한 메모리 실수를 더 일찍 잡아준다고 설명해요. 실제로 Bun이 다루는 JavaScriptCore, 네이티브 포인터, 비동기 콜백, C/C++ 라이브러리 조합은 메모리 오류가 생기기 쉬운 환경이에요. 이 설명 자체는 설득력이 있어요. 3

Kelley의 반론은 “그렇다고 버그 감소를 언어 기능 하나로만 설명할 수 있느냐”에 가까워요. 그는 버그를 줄이는 핵심이 엔지니어링 시간을 들여 찾고 없애는 일이라고 봐요. 테스트, fuzzing, 코드 리뷰, 기술 부채 정리는 언어와 별개로 계속 필요한 작업이에요. Rust로 옮겼다는 사실만으로 좋은 엔지니어링 문화가 생기는 건 아니라는 지적이에요. 2

오픈소스 후원 관계도 흔들렸어요

초기 Bun은 Zig 프로젝트에 우호적이었어요. Bun은 성능 성과에서 Zig를 언급했고, ZSF에 연 6만 달러 규모의 기부도 했어요. Kelley 역시 그 돈이 Zig 기여자 보상에 쓰였고, 기부 자체에는 감사한다고 밝혔어요. 2

하지만 Anthropic 인수 뒤 관계는 사실상 끝났다고 봐요. Kelley는 기부가 조용히 중단됐고, 정기 미팅도 이어지지 않았다고 썼어요. 한두 후원자에게 크게 기대는 오픈소스 프로젝트라면 이런 변화가 꽤 현실적인 위험이에요. 후원은 기술적 공감대만으로 유지되지 않아요. 회사의 소유 구조, 제품 방향, 내부 우선순위가 바뀌면 조용히 사라질 수 있어요.

AI 회사 인수도 커뮤니티 부담으로 이어졌어요

Bun은 Anthropic에 인수됐고, Rust 이식 과정에는 Claude가 많이 쓰였어요. Bun 글은 여러 Claude 인스턴스를 병렬로 돌리고, 구현 담당과 리뷰 담당을 나눴다고 설명해요. 대규모 코드 이식에서 AI 도구가 실무적으로 어떻게 쓰일 수 있는지 보여준 사례예요. 3

Zig 쪽 반응은 훨씬 복잡해요. Kelley는 Claude, Bun, Zig가 간접적으로 연결되면서 Zig 커뮤니티에 AI 출력물을 붙여 넣는 기여 시도와 부담이 늘었다고 봐요. 이 대목은 단순히 AI 찬반 문제가 아니에요. 도구가 유명해질수록 커뮤니티가 감당해야 하는 문의, 기여, 평판 관리 비용도 함께 늘어난다는 이야기예요.

왜 중요한가요

이번 논쟁은 “Rust가 더 안전한가, Zig가 더 빠른가”만으로는 읽기 어려워요. 개발도구 선택에는 언어 기능뿐 아니라 팀 운영 방식, 코드 리뷰 문화, 테스트 투자, 후원 관계, 커뮤니티 평판이 같이 붙어 있어요. Bun처럼 큰 프로젝트가 움직이면 그 배경까지 같이 봐야 해요. 2

AI 코딩 도구가 들어오면서 이 문제는 더 넓어졌어요. Claude가 대규모 이식을 빠르게 도왔다는 점은 분명 흥미로워요. 동시에 누가 결과를 검토하는지, 기존 기술 부채를 어떻게 정리하는지, 오픈소스 커뮤니티가 늘어난 관심을 어떻게 감당하는지가 더 중요해졌어요. 3

개발자 입장에서는 한 가지 질문이 남아요. 언어를 바꾸면 일부 버그는 줄일 수 있어요. 하지만 팀이 버그를 다루는 습관까지 바뀌지 않으면 같은 문제가 다른 형태로 돌아올 수 있어요. 이번 Bun 논쟁은 그 차이를 꽤 선명하게 보여줘요. 1

참고 자료

  1. Bun의 Rust 재작성에 대한 제 생각 — GeekNews
  2. My Thoughts on the Bun Rust Rewrite — Andrew Kelley
  3. Rewriting Bun in Rust — Bun Blog
  4. Zig Software Foundation 2025 Financials — Zig Software Foundation
728x90