본문 바로가기

IT & AI

Mojo 컴파일러 공개, 이제 언어 전체를 소스에서 빌드해요

728x90

Mojo 컴파일러 공개, 이제 언어 전체를 소스에서 빌드해요

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

Modular가 Mojo 컴파일러와 언어 툴체인의 소스 코드를 공개했어요. 표준 라이브러리와 커널 코드에 이어 컴파일러까지 Apache 2.0 라이선스와 LLVM 예외 조항 아래에 들어왔어요. 개발자는 저장소를 복제한 뒤 Bazel로 컴파일러를 직접 빌드하고 테스트할 수 있어요. 1

핵심 요약

구분핵심왜 볼 만한가요
공개 범위Mojo 컴파일러와 도구, 표준 라이브러리를 한 저장소에서 확인할 수 있어요언어 구현과 빌드 과정을 소스 수준에서 살펴볼 수 있어요
라이선스Apache 2.0에 LLVM 예외 조항을 적용했어요Mojo로 만든 바이너리를 여러 형태의 제품에 배포하기 쉬워요
빌드`--config=build-mojo`로 로컬 소스를 사용해 컴파일러를 빌드해요컴파일러 수정과 표준 라이브러리 테스트를 직접 반복할 수 있어요
남은 제한컴파일러와 도구의 외부 기여는 아직 받지 않아요소스 공개와 기여 절차 개방은 따로 봐야 해요

1. Mojo는 컴파일러까지 공개했어요

Mojo는 GPU와 AI 가속기 같은 컴퓨팅 자원을 다루도록 설계된 범용 프로그래밍 언어예요. Python과 가까운 문법을 지향하면서도 시스템 수준의 성능과 하드웨어 제어를 함께 다루려는 언어로 알려졌어요. Modular는 지난 4년 동안 언어를 개발하며 표준 라이브러리와 Mojo로 작성한 커널 코드를 먼저 공개했어요. Mojo 1.0으로 소스 호환성 기준을 세운 뒤, 2026년 8월 18일 컴파일러와 전체 툴체인의 소스도 공개했어요. 2

공개 저장소에는 컴파일러와 도구, 표준 라이브러리 빌드에 필요한 코드가 들어 있어요. 라이선스는 Apache 2.0이고 LLVM 예외 조항도 포함해요. 이 예외 조항은 컴파일된 결과물을 배포할 때 라이선스 적용 범위를 더 분명하게 다루는 데 쓰여요. 실제 제품 도입을 검토하는 팀이라면 저장소의 라이선스 원문과 제품에 포함할 구성 요소를 함께 확인하는 편이 안전해요. 3

Bazel 명령으로 로컬 빌드를 시작해요

저장소를 복제한 뒤 `./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo`를 실행하면 로컬 소스를 사용해 컴파일러와 표준 라이브러리를 빌드해요. 컴파일러나 라이브러리를 고친 뒤에는 `./bazelw test --config=build-mojo mojo/stdlib/test/...`로 표준 라이브러리 테스트를 실행할 수 있어요. 빌드 의존성과 캐시는 Bazel이 관리해요. 2

컴파일러 개발이 목적이 아니라면 `--config=prebuilt-mojo`를 선택할 수 있어요. 이 구성은 최신 nightly 컴파일러 바이너리를 내려받아 빌드 시간을 줄여요. 다만 MAX 커널이나 모델을 맞춤화하는 작업에는 현재도 사전 빌드된 Mojo 컴파일러가 필요해요. Mojo 주변의 모든 작업이 소스 빌드만으로 끝나는 상태는 아니에요.

728x90

소스는 열렸지만 기여 창구는 아직 좁아요

Mojo 표준 라이브러리는 2024년부터 외부 기여를 받고 있어요. 컴파일러와 도구는 소스를 읽고 빌드할 수 있지만, 외부 코드 기여는 아직 받지 않아요. Modular는 2026년 말까지 컴파일러와 도구의 기여 절차를 열겠다는 목표를 밝혔어요. 소스 공개 시점과 커뮤니티가 변경 사항을 제출할 수 있는 시점 사이에 간격이 있는 셈이에요. 2

이 구분은 언어를 평가할 때 꽤 실용적이에요. 지금도 구현을 검토하고 빌드 문제를 재현하거나 내부 실험용 포크를 만들 수 있어요. 반면 수정 사항을 공식 저장소에 반영하려면 기여 정책이 공개될 때까지 기다려야 해요. 회사가 밝힌 일정은 목표이므로 실제 기여 조건과 리뷰 방식은 후속 안내를 확인해야 해요.

왜 중요한가요

컴파일러 소스 공개로 개발자는 Mojo의 문법과 성능 주장만 보는 단계에서 벗어날 수 있어요. 코드 생성 과정과 하드웨어 지원 방식, 표준 라이브러리와 컴파일러의 연결 구조를 직접 확인할 수 있어요. 특정 GPU나 AI 가속기에서 문제가 생겼을 때 구현을 따라가며 원인을 좁힐 길도 열렸어요. 언어 도입을 검토하는 팀에는 장기 유지보수 가능성을 판단할 자료가 늘어난 셈이에요. 3

그래도 저장소 공개만으로 생태계의 성숙도가 보장되지는 않아요. 빌드 재현성, 플랫폼별 지원 범위, 디버깅 도구, 패키지 생태계는 실제 프로젝트에서 따로 확인해야 해요. MAX 맞춤화에 사전 빌드 컴파일러가 필요한 제한과 아직 닫혀 있는 컴파일러 기여 절차도 남아 있어요. 작은 성능 실험과 빌드 검증부터 시작하면 현재 공개 범위를 정확히 파악할 수 있어요. 2

참고 자료

  1. Mojo 전체 컴파일러와 툴체인 오픈소스 공개 — GeekNews
  2. Mojo is now open source — Modular 공식 블로그
  3. modular/modular — GitHub 공식 저장소
728x90