2026 年 8 月 18 日,Modular 团队正式宣布把 Mojo 编程语言的整套编译器与工具链以 Apache 2.0(带 LLVM 例外条款)协议开源到 GitHub modular/modular 仓库。一周前的 8 月 11 日,Mojo 刚把语言本身稳定到 1.0;一周后的今天,它把”语言能做多少事”的最后一层限制——编译器源码本身——也交了出来。这是 Chris Lattner 团队四年长跑的最后一公里,也意味着 AI 原生编程语言第一次把”造语言”和”用语言”放在对等的可改写位置上。
一、为什么这次开源不一样
很多人误以为 Mojo 早就是开源项目。其实不然。Mojo 标准库自 2024 年 3 月就已经在 Apache 2.0 下开源,几十万分之一的开发者社区、定制化工具链、上百种 MAX 框架内核也都陆陆续续落到开源协议上。但编译器本体一直闭源——这一层是任何想深耕 GPU 内核、AI 加速器调度或者替代 CUDA 工具链的开发者最后绕不过去的墙。
8 月 18 日的公告把这堵墙拆了:
– 完整的 Mojo 编译器源码、工具链、构建系统、测试套件,全部进入 modular/modular 仓库
– 协议采用 Apache 2.0 加 LLVM Exceptions,是 LLVM 系语言里最具扩展性的标准组合
– 仓库用 Bazel 构建系统管理,单条命令 ./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo 就能从源码构建出能跑 Mojo 代码的编译器
– --config=prebuilt-mojo 则保留了一条”懒人通道”:下载预编译好的 Mojo 编译器二进制,节省自构建时间,但仍需编译器源码本身存在本地
Modular 同时宣布,他们目前暂不接受对编译器与工具链的外部贡献(”今天 AI 编码时代需要更严谨的贡献流程”,原文如此),目标是年底前开放。预计年内,外部开发者就能直接改 Mojo 的编译后端并提交 PR。
二、四年时间线与战略意图
Mojo 的四年长跑可以拆成四段:
| 时间 | 节点 |
|---|---|
| 2022 | Modular 成立,Chris Lattner(前 LLVM、Swift 主导者)立项 Mojo |
| 2024 年 3 月 | 标准库 Apache 2.0 开源,开始接受社区贡献 |
| 2026 年 5 月 | 1.0.0 beta 1 + 官网 mojolang.org 上线 |
| 2026 年 8 月 11 日 | Mojo 1.0 正式版发布,承诺 1.x 阶段向后兼容 |
| 2026 年 8 月 18 日 | 编译器与工具链 Apache 2.0 完全开源 |
公告里 Modular 自己把节奏解释为”小而紧密的设计团队比委员会更能找到语言的灵魂,但来自更大社区的反馈是跳出回音壁的关键”——这是 LLVM、Swift、Clang、MLIR 当年都走过的同一条路。
战略意图很清楚:开放编译器等于把”造 Mojo 内核”的能力交给整个 AI 生态。NVIDIA、AMD、Apple Silicon 这三家硬件厂都有动力参与 Mojo 编译器演化,因为 Mojo 是少数能跨硬件写 GPU 内核的现代语言(NVIDIA 的 CUDA、AMD 的 HIP 都还在各自生态里)。Lattner 在 ModCon 2026 直播里直接表态:”两家都是开源生态的有力贡献者,也是强大的合作伙伴,不必担心厂商锁定或对抗的问题。”
三、对 AI 编程生态意味着什么
Mojo 这次开源有三层意义,比单纯一个开源事件更深远:
第一层是技术栈。 Mojo 不是 Python 的替代品,但它是当下少数能把”Python 风格语法 + Rust 风格内存安全 + C/CUDA 级性能 + GPU 内核编写”放在同一门语言里的工具。Oak Ridge 国家实验室 2025 年在 SC25 WACCPD 工作坊上的研究显示,Mojo 写的 GPU 内核在内存受限负载上与 CUDA、HIP 基本打平;在 AMD GPU 上对原子操作与 fast-math 计算密集型负载仍有差距,但这条路径已经被证明可行。编译器开源后,这些差距有了被社区持续打磨的可能。
第二层是 AI 基础设施。 MAX 26.5 与 Mojo 1.0 同步发布,MAX 是 Modular 的 AI 推理框架。新支持的模型包括 GLM-5.2、Nemotron-H(混合 Mamba-2 架构)、Kimi 2.5(Module V3 兼容)——这些是国内大模型阵营的重要新成员,意味着 Mojo 的推理栈对中国开源生态是开放的。
第三层是产业站位。 Mojo 1.0 把 API 拆成 mojo(完整 SDK,含 LSP + 调试器)和 mojo-compiler(纯编译时,更轻)两个分发包,让生产环境部署只装编译器而不必带 IDE 工具链。这种切分思路与 Rust 早期把 rustc 和 cargo 分开的策略一致。编译器开源后,mojo-compiler 这条线可以独立嵌入到更广泛的 CI/CD 流水线里,而不必被 Modular 的整体路线绑架。
四、还有哪些待解的问题
公告本身也坦承了几件事:
– 编译器与工具链暂不接受外部贡献,要到 2026 年底——这意味着短期内外部开发者能读代码、改本地构建,但提交路径仍受控 – Apple Silicon 上的 PyTorch 互操作与 AI 模型执行还在路上 – Windows 端仍只走 WSL,原生 Windows 编译支持尚未公布
但对一个从 2022 年立项、四年走到 1.0 + 全开源的语言来说,剩下这些都属于”再跑几个月”的工程节奏问题,不是方向性问题。
五、为什么这件事对 AI coding 关键
把编译器开源的 AI 编程语言,在当下这个时间点不算常见。PyTorch 的编译器栈(TorchDynamo + AOTAutograd + Inductor)虽然开源,但 Python 生态本身不算”AI 原生语言”;CUDA 是闭源商业生态;Triton 是开源但与 NVIDIA 强绑定。
Mojo 的全开源让它在三个方向上同时具备稀缺性:
– 跨硬件:同一份 Mojo 代码可以同时跑 NVIDIA、AMD、Apple Silicon GPU – AI 原生:语法层内建张量、原生支持 AI 加速器调度 – 可改写:编译器本身能被 fork,能针对新硬件或新模型做定制后端
这三层凑齐后,Mojo 才真正成为 AI 基础设施级别的语言,而不是另一个”看起来不错”的实验性语言。
—
来源
– Mojo is now open source – WorldProgramming.org – Mojo FAQ – mojolang.org – Mojo (programming language) – Wikipedia – Mojo 1.0 Released: Install, GPU Support & vs Python Guide – oflight.co.jp – Mojo 1.0 正式发布:编译器神人手撕 CUDA – 21cto.com
