Mojo 编译器全面开源:Apache 2.0 下,闭源了四年的"AI 时代系统语言"终于交出编译器
阅读时间: 大约 7 分钟
Mojo 编译器全面开源:闭源了四年的”AI 时代系统语言”终于交出编译器

2026 年 8 月 18 日,Modular 在官方博客宣布:Mojo 语言即日起在 Apache 2.0 许可证(附带 LLVM 例外条款)下完全开源。Mojo 编译器、工具链以及构建该语言所需的一切源码,都已放入 modular GitHub 仓库。这距离 Mojo 1.0(源码稳定版)发布仅一周,也距离 Mojo 首次以”开放社区、闭源编译器”姿态亮相,过去了四年。
一、为什么这次开源是个节点
Mojo 从立项起就是一个”有野心”的赌注:一门新的通用编程语言,目标是把最新的编译器与编程语言研究整合进来,专门释放 GPU、AI 加速器以及其他新型计算硬件的能力。它被设计成与 Python 语法亲和、但具备系统级性能的语言,面向 AI 基础设施与高性能内核。
过去四年,Mojo 的策略一直是”社区开源、编译器闭源”:标准库、工具、以及大量用 Mojo 编写的内核代码陆续开放,但真正决定语言命运的编译器本身始终在 Modular 手里。这次把编译器也交出来,意味着 Mojo 第一次从”一家公司主导的开放项目”变成”任何人都能从源码完整构建、修改与再分发”的语言。
二、开源范围与许可证
官方给出的几个关键点:
- 许可证:Apache 2.0,被称作编程语言与编译器领域的”黄金标准”——宽松、允许商业闭源使用;附带的 LLVM 例外条款进一步放宽了对”用 Mojo 编译产物进行再分发”的限制;
- 仓库:全部代码位于
github.com/modular/modular; - 之前已开放的部分:标准库(2024 年起接受贡献)、数十万行用 Mojo 编写的内核代码、相关工具与文档;
- 本次新开放:编译器本体与配套工具链。
Modular 在文中解释了它的产品哲学:一个语言的”灵魂”最好由小而紧密的设计团队打磨(而非委员会),但要避免回音室又必须听取更广泛社区的反馈。因此它选择了”先 stdlib、再内核、最后编译器”的渐进式开放路径。
三、如何从源码构建
官方给出的流程相当直接:
git clone https://github.com/modular/modular.git
cd modular
./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo几个值得注意的工程细节:
- Modular 使用 Bazel 来管理 Mojo 与 MAX 复杂的构建与缓存;上面这一条命令会下载或编译构建编译器与标准库所需的一切;
--config=build-mojo表示完全用本地源码从零编译;- 如果不打算改编译器本身,可以用
--config=prebuilt-mojo,构建系统会直接下载最新的 nightly 编译器二进制,节省编译时间; - 运行测试:
./bazelw test --config=build-mojo mojo/stdlib/test/...。
需要提醒的是:若你要定制 MAX 内核或模型,目前仍然需要预装一个预编译的 Mojo 编译器。
四、贡献节奏:代码开放 ≠ 立刻接受 PR
这是公告里一个容易被忽略、但对潜在贡献者很关键的点:
标准库自 2024 年起就在接受社区贡献;但目前还不准备接受对编译器与工具链的贡献,目标是在今年年底前开放这部分贡献。
也就是说,仓库虽然公开了,但 Modular 仍希望先由核心团队消化代码、理顺流程,再逐步向外部贡献者开放编译器侧的 PR。官方建议大家在阅读源码、试用阶段到官方论坛交流提问。在当下这个”AI 写代码”的时代,Modular 特别强调需要”有意识地设计贡献流程”,而不是来者不拒。
五、客观评价:优势与边界
优势:
- 许可证友好:Apache 2.0 + LLVM 例外,对商业采用者非常友好,是企业愿意投入的前提;
- 补齐了最后一块黑盒:编译器开源后,整个工具链可被审计、可自托管、可裁剪,对想把 Mojo 嵌入自研栈的团队意义重大;
- 节奏清晰:从 stdlib 到内核再到编译器的渐进开放,降低了一次性暴露不成熟代码的风险。
边界与存疑:
- 编译器贡献尚未开放:现在”能看、能改、能自建”,但还”不能给编译器提 PR”,真正的外部协作要等年底;
- 生态仍早期:Mojo 1.0 刚宣布源码稳定,标准库与第三方库的厚度、与 Python 生态的互操作体验,仍需时间检验;
- 数据多为一家之言:本次公告主要是治理与许可层面的变化,并未附带新的性能基准;Mojo 相对 Python/C++ 的性能优势,仍主要来自此前官方宣传。
六、它适合谁
- 系统级 / AI 基础设施开发者:想在一个语言里同时拿到 Python 级生产力与接近 C/C++ 的性能,且需要直接控制 GPU/加速器内核;
- 语言研究者与编译器工程师:现在可以读到一个现代、面向异构计算设计的编译器完整源码,本身就是很好的学习样本;
- 企业技术决策者:宽松许可证 + 完整开源,意味着 Mojo 可以进入”需要可自托管、可审计”的技术选型清单。
对大多数业务应用开发者而言,现在更现实的姿态是:把它视为一个正在成熟、值得持续观察的系统语言,而非立刻替换现有技术栈。