
빌드 시스템을 빌드하는 데 뭐가 필요한가요
C/C++ 프로젝트를 해본 분이라면 CMake와 씨름한 기억이 한 번쯤 있을 텐데요. 오늘 소개할 BUSY는 그 반대편 극단에 있는 프로젝트예요. 오베론(Oberon) 언어 계열 오픈소스 작업으로 알려진 개발자 로쿠스 켈러(Rochus Keller)가 만든 빌드 시스템인데, 핵심 콘셉트가 '정적 타입 언어로 빌드를 기술하고, C++ 컴파일러 하나만 있으면 어디서든 부트스트랩된다'는 거거든요.
먼저 기본부터. 빌드 시스템이 뭐냐면, 소스 코드를 컴파일하고 링크해서 실행 파일로 만드는 과정을 자동화해주는 도구예요. 파일이 수백 개쯤 되면 "뭘 먼저 컴파일하고, 뭐가 바뀌면 뭘 다시 만들어야 하는지"를 사람이 관리할 수 없으니까요. make, CMake, Meson, Bazel이 다 이 일을 하는 도구들이에요.
부트스트랩 문제가 뭐냐면요
그런데 여기 재귀적인 고민이 하나 숨어 있어요. 빌드 시스템 자체는 누가 빌드해주죠? CMake를 쓰려면 CMake 바이너리가 설치돼 있어야 하고, Meson을 쓰려면 파이썬이 필요하고, Bazel은 JVM 생태계에 발을 걸치고 있어요. 새 플랫폼에 소프트웨어를 이식하거나, 신뢰할 수 있는 최소 도구만으로 전체 시스템을 처음부터 쌓아 올리고 싶을 때(보안 감사나 재현 가능 빌드 관점에서 실제로 중요한 요구예요) 이 의존성 사슬이 발목을 잡거든요.
BUSY는 이 지점을 정면으로 겨냥해요. 외부 라이브러리나 스크립트 언어 런타임 없이, 시스템에 있는 C++ 컴파일러로 소스를 한 번 컴파일하면 빌드 도구가 완성되는 구조예요. 다운로드 받고, 컴파일러 한 번 돌리고, 바로 프로젝트 빌드에 들어갈 수 있다는 거죠. 켈러는 실제로 Qt를 경량화한 자신의 LeanQt 프로젝트를 이 도구로 빌드하고 있어서, 장난감 수준이 아니라 실전 규모 코드베이스에서 검증되고 있는 셈이에요.
정적 타입 빌드 스크립트라는 발상
또 하나의 차별점은 빌드 기술 언어가 정적 타입이라는 거예요. CMake를 써본 분은 공감할 텐데, CMake 언어는 모든 게 사실상 문자열이라서 변수 이름에 오타를 내도 조용히 빈 문자열로 처리되고, 에러는 한참 뒤 엉뚱한 곳에서 터지곤 하거든요. BUSY는 빌드 설정의 변수와 속성에 타입이 있어서, 잘못된 조합이나 오타를 빌드를 돌리기 전에 잡아낼 수 있어요. 우리가 자바스크립트에서 타입스크립트로 넘어가면서 얻은 안정감을 빌드 스크립트에도 적용하자는 발상인 거죠. 빌드 스크립트도 결국 코드고, 규모가 커지면 리팩터링과 검증이 필요한 코드라는 관점이에요.
기존 도구들과 비교해보면요
업계 지형에서 보면 각 도구의 포지션이 뚜렷해요. CMake는 사실상 C++ 생태계의 표준이지만 언어 자체가 악명 높고, Meson은 문법이 깔끔한 대신 파이썬 런타임이 필요해요. Bazel은 구글급 모노레포에서 빛나지만 도입 비용이 어마어마하고요. build2나 xmake 같은 도전자들도 각자의 답을 내놓고 있죠. BUSY의 답은 미니멀리즘이에요. 기능 목록으로 승부하는 게 아니라 "의존성 제로, 이해 가능한 크기, 타입 안전성"이라는 세 가지에 집중한 건데, 이건 트레이드오프이기도 해요. 방대한 서드파티 패키지 연동이나 IDE 통합 같은 면에서는 CMake 생태계를 따라갈 수 없거든요.
한국 개발자에게 주는 시사점
솔직히 말하면 회사 프로젝트의 CMake를 당장 BUSY로 갈아탈 일은 없을 거예요. 생태계와 인력 풀이라는 현실이 있으니까요. 대신 두 가지 관점에서 들여다볼 가치가 있어요. 첫째, 의존성 없는 소규모 C/C++ 사이드 프로젝트, 특히 임베디드나 크로스 컴파일 환경에서는 실용적인 선택지가 될 수 있어요. 둘째, 코드베이스가 작아서 빌드 시스템이 내부적으로 어떻게 동작하는지 공부하는 교재로 아주 좋아요. 의존성 그래프 관리, 증분 빌드 판단, 툴체인 추상화 같은 개념을 소스로 직접 확인할 수 있는 기회는 흔치 않거든요.
한줄 정리: BUSY는 '빌드 도구는 무거워야 한다'는 통념에 맞서, 컴파일러 하나로 시작하는 타입 안전한 빌드를 제안하는 프로젝트예요. 여러분은 빌드 스크립트 때문에 고생한 경험, 어떤 게 최악이었나요? 빌드 언어에도 타입이 필요하다는 주장, 어떻게 생각하세요?
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공