칩을 갈아끼울 언어: Qualcomm이 Mojo 컴파일러를 연 이유
Modular은 8월 18일 ModCon에서 Mojo 컴파일러와 툴체인을 Apache 2.0(LLVM 예외)으로 공개했다. Qualcomm이 7월 말 인수를 마친 지 세 주, 1.0 소스 안정성 발표 일주일 만의 개방이며 컴파일러 외부 PR은 올해 말까지 닫혀 있다.
핵심 요약 (TL;DR)

8월 18일 샌프란시스코 ModCon에서 Modular는 Mojo 언어를 “완전히 오픈소스”라고 선언했다. 공식 블로그의 문장은 짧다. 컴파일러와 툴체인, 언어를 빌드하는 데 필요한 소스가 GitHub 저장소 modular/modular에 Apache 2.0(LLVM 예외)으로 올라갔다. 일주일 전인 11일, Mojo는 1.0에 도달하며 소스 안정성을 걸었다. 그 다음 주가 컴파일러의 차례였다. 같은 날 키노트는 Modular Cloud 일반 제공, AWS Trainium·Google TPU·Qualcomm Cloud AI 100·Dragonfly 지원, MAX 라이선스의 기기 사용 제한 해제를 한 묶음으로 올렸다.
개방의 배경은 칩이다. Qualcomm은 7월 29일 Modular 인수 완료를 발표했고, 공동창업자 Chris Lattner를 고급 AI 소프트웨어·플랫폼 담당 부사장으로 앉혔다. 같은 분기 10-Q는 거래 규모를 종가 기준 약 31억 달러, 주로 보통주 1,800만 주로 적었다. 언어는 열리고, 주인은 칩 회사다. 동시에 Modular는 “Qualcomm Technologies의 플랫폼과 직접 경쟁하는 하드웨어”도 계속 지원·최적화하겠다고 썼다. 코드는 읽을 수 있다. 컴파일러와 툴체인의 외부 기여는 “올해 말”까지 받지 않겠다고 못 박았다.
배경 및 맥락
Mojo는 2022년 Lattner와 Tim Davis가 세운 Modular의 시스템 언어다. Lattner는 LLVM과 Clang, Apple의 Swift, Google의 MLIR을 만든 이력으로 알려져 있고, Davis는 TensorFlow·TPU·온디바이스 머신러닝 쪽에서 만났다. RuntimeWire가 정리한 창업 동기는 단순하다. CPU·GPU·커스텀 가속기의 소프트웨어 스택이 갈라져 있었고, AI 인프라는 그 위에 공통층이 필요했다. 문법은 파이썬에 가깝고, 목표는 커널과 가속기를 한 언어로 만지는 것이다. 공식 표현은 “파이썬 수준의 사용성, 시스템 수준의 제어”다.
공개는 한 번에 오지 않았다. 표준 라이브러리는 2024년 3월 Apache 2.0(LLVM 예외)으로 열렸고, 2025년에는 MAX GPU·CPU 커널이 뒤따랐다. 회사는 2025년 5월 기준 커널 코드가 45만 줄이 넘는다고 적었다. 컴파일러만 닫혀 있었다. 8월 11일 1.0이 시맨틱 버저닝과 6주 릴리스 주기를 걸었고, Linuxiac는 그 릴리스에 소스 안정성, 파이썬 스타일 람다, LSP 개선, 메모리 안전 검사를 적었다. 18일의 문장은 그 위의 마지막 자물쇠다. “지난 4년, Mojo는 열린 커뮤니티와 닫힌 컴파일러로 개발됐다.”
그 사이 소유권이 바뀌었다. Qualcomm은 6월 24일 인수를 발표하고 7월 29일 완료를 알렸다. 보도자료는 Mojo, MAX, Modular Cloud 브랜드를 유지하고 투자를 늘리겠다고 했다. Lattner의 말은 규모다. “Qualcomm에 합류하면 Modular의 소프트웨어 혁신을 더 넓은 AI·컴퓨팅 플랫폼 포트폴리오에 가져갈 수 있다.” 인수 직전 Modular는 2025년 9월 24일 2억 5,000만 달러 라운드를 발표했고, 밸류에이션 16억 달러, 누적 조달 3억 8,000만 달러라고 밝혔다. 리드 투자자는 U.S. Innovative Technology Fund였다. 칩 회사가 컴파일러 회사를 산 이유는 ServeTheHome이 한 줄로 적었다. NVIDIA에는 CUDA만이 아니라 그 위의 전체 스택이 있다.
주요 내용 분석
열린 컴파일러, 닫힌 기여 창
라이선스는 LLVM이 쓰는 그 템플릿이다. Apache 2.0은 복제·수정·배포·상업적 이용과 특허 허여를 주고, LLVM 예외는 컴파일된 바이너리에 라이선스 문구를 일일이 실을 의무를 덜어 준다. Modular은 이를 “프로그래밍 언어와 컴파일러의 골드 스탠더드”라고 불렀다. 클론 경로도 공개 문서에 있다. git clone https://github.com/modular/modular.git 다음, Bazel 래퍼로 ./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo. --config=build-mojo는 로컬 소스로 컴파일러를 빌드하고, --config=prebuilt-mojo는 나이트리 바이너리를 받는다.
같은 글의 다음 문단이 경계를 긋는다. “특히 오늘날 AI 코딩 시대에, 기여를 다루는 방식은 신중해야 한다. 그래서 우리는 아직 컴파일러와 툴체인 기여를 받을 준비가 되지 않았다. 올해 말까지 받기를 목표로 한다.” 표준 라이브러리는 2024년부터 외부 PR을 받아 왔다. 언어의 영혼은 작은 설계팀이 찾고, 에코 챔버를 깨는 피드백은 커뮤니티에서 온다는 것이 회사의 공식 서사다. 검사와 포크는 열리고, 업스트림 컴파일러의 키는 아직 Modular에 있다.
상업 층의 경계는 더 분명하다. 공식 안내문은 MAX 커널이나 모델을 커스터마이즈할 때 지금도 프리빌드 Mojo 컴파일러가 필요하다고 적었다. MAX는 Mojo의 Apache 2.0 범위 밖이다. ModCon에서 Modular는 MAX 라이선스에서 기기 사용 제한을 걷어냈고, 소스를 열어 동맹 프로그램을 만들겠다고 했다. 최종 범위는 발표문에 없다. 언어는 퍼미시브하고, 서빙 스택은 별도 계약이다.
칩 회사가 연 중립 스택
키노트의 다른 절반은 실리콘 목록이다. Modular Cloud는 이미 NVIDIA·AMD GPU에서 프로덕션 워크로드를 서빙한다고 했고, 이날 Trainium, TPU, Qualcomm Cloud AI 100 Ultra, Dragonfly를 “같은 모델링 API, 같은 서빙 워크플로, 같은 언어”로 붙인다고 발표했다. 새 하드웨어를 올리는 공학 비용이 “10배 이상” 줄었다고 회사는 썼다. 독립 벤치마크는 없다. 사례로 든 것은 HTEC다. 엔지니어 소수와 몇 달로 Google TPU 지원을 올렸고, Modular는 지원 역할이었다고 했다.
Qualcomm 쪽 첫 증명은 Cloud AI 100이다. 엔지니어링 블로그는 이를 스택에 들어간 첫 ASIC(NPU)라고 불렀다. 행렬곱 커널이 돈 뒤 “몇 주 안에” GPT-2가 end-to-end로 돌았고, Gemma 4 커널 작업 시작부터 라이브 서빙 엔드포인트까지는 6개월이 안 걸렸다고 했다. 같은 글은 GPT-2 첫 실행이 Qualcomm 쪽 PyTorch 베이스라인보다 약 1.6배 느렸고, 대략 3주의 최적화 끝에 6.7배에 도달했다고 적었다. Gemma 4 31B는 fp16 가중치만 약 60GB라 32GB SoC 하나에는 안 들어가, 카드 안 4개 디바이스에 텐서 병렬(TP=4)로 올렸다. 숫자는 모두 회사 블로그의 것이다.
클라우드도 같은 키노트에 실렸다. Modular Cloud는 console.modular.com에서 일반 제공이고, 공유 엔드포인트는 OpenAI 호환·토큰 과금, 전용 배포는 Modular 또는 고객 인프라의 예약 인스턴스다. 플래그십 고객으로 올린 MiniMax는 M3를 전용 배포에서 돌리며 “분당 수십억 토큰”을 서빙한다고 했다. 1M 토큰 컨텍스트와 MiniMax Sparse Attention 커널을 스택 안에 넣었다고 적혀 있다. RuntimeWire는 이 처리량 수치가 회사 제공이며 독립 검증은 없다고 달아 두었다. 언어를 연 이유와 서빙을 판 이유는 한 문장에 붙어 있다.
| 층 | 8월 18일에 바뀐 것 | 라이선스 | 외부 기여 |
|---|---|---|---|
| Mojo 컴파일러·툴체인 | 소스 공개, 로컬 Bazel 빌드 | Apache 2.0 + LLVM 예외 | 올해 말까지 동결. 회사 목표 |
| Mojo 표준 라이브러리 | 변동 없음. 2024년 3월부터 공개 | 동일 | 받음 |
| MAX 커널·파이프라인 소스 | 기기 사용 제한 해제, 소스 접근 확대 예고 | 저장소 안 코드와 프리빌드는 별개 | 커널 쪽은 받음. 프리빌드 컴파일러 의존은 남음 |
| MAX 프리빌드·서빙 | 동맹 프로그램 추진 | Modular Community License | 해당 없음 |
| Modular Cloud | 일반 제공. MiniMax M3 전용 배포 | 상용 | 해당 없음 |
표의 왼쪽은 읽을 수 있는 코드다. 오른쪽은 누가 머지하는가다. Qualcomm 엔지니어링 인용문은 이 구조를 하드웨어 언어로 번역한다. “Modular 소프트웨어 스택의 설계상 이식성 덕분에 Qualcomm Technologies의 NPU 기반 AI 가속기와 빠르게 붙일 수 있고, 개발자가 모델을 다시 쓰지 않아도 된다.” Modular 쪽 화답은 같다. “새 하드웨어가 나타나도 개발자가 처음부터 다시 시작하지 않도록 스택을 이식 가능하게 만들었다.”
윈도우와 파이썬 사이의 거리
Mojo는 수년째 macOS와 Linux를 네이티브로 지원했고, 윈도우는 WSL이었다. ModCon은 네이티브 윈도우를 Microsoft 윈도우 팀과 만들고 있다고 했다. Windows Platform + Developer CVP Logan Iyer의 코멘트는 보도자료 톤이다. “수백만 개발자가 매일 윈도우에서 빌드한다. 그들이 고른 플랫폼에서 필요한 도구에 접근하도록 돕겠다.” 일정 숫자는 없다. “오고 있다”가 발표의 전부다.
파이썬과의 관계도 헤드라인보다 좁다. 공식 홈은 Mojo에서 NumPy·Matplotlib를 부르는 경로를 보여 주고, 반대 방향의 C 호환 바인딩도 있다. 그러나 1.0 로드맵은 Mojo가 파이썬의 완전한 상위집합이 “될 수도, 안 될 수도” 있다고 적는다. 소스 호환은 아니고, 클래스·상속·비타입 변수는 아직 시작하지 않은 3단계에 있다. 핫 커널을 Mojo로 쓰고 나머지 학습·서빙을 파이썬에 두는 쪽이, 스크립트를 통째로 옮기는 쪽보다 문서와 맞다.
실사용자 반응
출시 직후 논점은 스타 수가 아니라 어디까지가 열려 있는가였다. 이 글을 확인하는 시점에 GitHub modular/modular 스타는 2만 7,372개다. Linuxiac는 컴파일러가 마지막 큰 닫힌 조각이었다고 적고, 같은 호흡으로 외부 컴파일러 PR이 아직 닫혀 있다고 달았다.
- GPU 경로: r/ProgrammingLanguages의 u/benreynwar는 “GPU로 컴파일하려면 아직 오픈소스 아닌 것이 많아 보인다”고 썼다. 회사 문장과 맞닿는다. MAX 커널·모델 커스터마이즈에는 프리빌드 컴파일러가 필요하다고 공식 글이 이미 적었다. CPU 로컬 빌드와 GPU 서빙 경로는 같은 ‘열림’이 아니다.
- 거버넌스: r/programming의 u/Fidodo는 “오픈소스가 커뮤니티 통치를 뜻하지는 않는다. 무엇을 머지할지는 여전히 메인테이너가 정한다”고 했다. Modular의 “작은 설계팀” 문장과 같은 축이다. 라이선스는 퍼미시브하고, 컴파일러 로드맵은 회사에 남아 있다.
- 하드웨어 캠프: ServeTheHome은 AMD의 Anush가 ModCon 무대에 선 사실을 무게로 읽었다. Qualcomm이 산 스택에 GPU 매출이 있는 경쟁사가 같이 서는 장면이다. 같은 기사는 비전을 Docker나 KVM에 비교했다. 공통 프레임이 있으면 새 하드웨어의 소프트웨어 비용이 작아진다는 주장이다. 실행 여부는 앞으로의 백엔드 목록이 증명한다.
Windows 네이티브와 MAX 동맹 프로그램, 컴파일러 PR 해제는 날짜가 없는 약속이다. 커뮤니티가 받는 것은 지금 클론할 수 있는 컴파일러와, 올해 말까지 닫힌 기여 창이다.
의미와 시사점
이번 공개가 중요한 이유는 Mojo가 파이썬을 대체해서가 아니다. CUDA가 아닌 공통 소프트웨어 층을, 칩을 파는 회사가 자기 자산으로 삼았다는 점 때문이다. Qualcomm의 10-Q는 Modular를 “하드웨어 아키텍처를 가로질러 AI를 효율적으로 돌리게 하는 열린 AI 네이티브 소프트웨어 플랫폼”으로 적었다. 같은 문서가 거래 가액을 약 31억 달러로 박아 두었다. 소프트웨어가 어느 칩에 워크로드가 앉을지를 정한다면, 그 층의 주인은 가속기 로드맵을 고를 수 있다.
오픈소스 실무자에게는 세 가지가 동시에 열린다. 첫째, Apache 2.0 컴파일러는 바이너리 릴리스를 기다리지 않고 언어 구현을 검사하고 포크할 수 있게 한다. 둘째, 컴파일러 PR 동결은 코드가 공개되어도 언어의 영혼이 위원회 것이 아님을 뜻한다. 표준 라이브러리는 받아 왔고, 컴파일러는 연말 목표다. 셋째, MAX와 Cloud는 다른 계약이다. 커널을 읽고 고치는 일과, 프로덕션 서빙을 그 스택에 올리는 일을 같은 개방으로 읽으면 설계를 오해한다.
중립성의 시험도 같다. Modular는 경쟁 실리콘을 계속 지원하겠다고 키노트에서 반복했다. Trainium과 TPU와 Dragonfly를 한 목록에 올린 것은 그 약속의 전시였다. RuntimeWire가 적은 대로, 신뢰는 거버넌스와 라이벌 하드웨어에 대한 계속된 투자에 달려 있다. 포크는 법적 안전망이다. 업스트림이 Qualcomm 하드웨어만 빠르게 따라가면, 열린 컴파일러는 이식성의 증거가 아니라 포트의 원본이 된다.
마치며
Modular는 새 모델을 내놓지 않았다. 닫혀 있던 컴파일러를 열었다. 1.0, Apache 2.0, 올해 말까지 컴파일러 PR 동결. 세 숫자가 한 문장을 만든다. 검사는 가능하고, 사용은 자유로우며, 방향은 회사가 쥔다. 회사의 다음 문장은 Cloud와 Dragonfly와 동맹 프로그램이다. 그 전에 확인할 것은 단가다. 에이전트 시대에 로컬에 남겨야 할 것이 가중치인지, 세션인지, 가속기를 고르는 언어인지를 ModCon은 언어 쪽으로 찍었다. 칩은 갈아끼우면 된다. 그 위에 남는 컴파일러가 제품이다.
이 글은 AI가 작성하여 자동 발행된 콘텐츠입니다.