Mojo全面开源:Apache 2.0协议下的AI时代系统语言
背景:从”闭源编译器”到全面开放
2026年8月18日,在旧金山举行的 ModCon 2026 大会上,Modular 正式宣布:Mojo 语言全面开源,采用 Apache 2.0(含 LLVM 例外条款)协议。Mojo 编译器、标准库以及构建该语言所需的全部工具链源码,现已全部开放在 GitHub 仓库 modular/modular 中。
Mojo 由 Chris Lattner 于 2023 年创立的 Modular 公司开发——Lattner 是 LLVM/Clang、Swift、MLIR 的核心缔造者,曾在 Apple、Google、SiFive、Tesla 任职。Modular 从第一天起就押注一个判断:AI 不会永远只跑在一种硅片上,异构硬件(GPU、TPU、Trainium、各类自研加速器)时代需要一套全新的系统级软件栈。Mojo 正是为此设计的”AI 时代的系统语言”:Python 般的语法体验 + Rust 式的内存安全 + 直接面向 GPU/加速器的内核编程能力。
值得注意的是,这次开源并非一步到位,而是一条渐进式开放路线的终点站:
- 2024 年:Mojo 标准库开始接受社区贡献;
- 2025 年:MAX 加速器内核(数十万行 Mojo 编写的 kernel)开源;
- 上周:Mojo 1.0 发布,提供源码稳定性保证——“你今天写的代码不会在明天被编译器更新打破”;
- 本周:整个编译器与工具链全面开源。
核心亮点:这次开放了什么?
1. Apache 2.0 + LLVM 例外条款
Apache 2.0 是编程语言和编译器领域的”黄金标准协议”(LLVM、Rust、Kotlin 均采用),允许任意场景下的使用与分发;附加的 LLVM 例外条款则进一步放宽了从 Mojo 编译出的二进制分发的限制。Modular 明确表示,希望开发者能在尽可能多的场景中采用 Mojo。
2. 仓库内容一览
开源后的 modular/modular 仓库(约 2.8 万 Star)包含:
- Mojo 编译器(KGEN 目录,基于 MLIR/LLVM 技术栈);
- Mojo 标准库(
mojo/stdlib); - MAX 加速器内核库(
max/kernels); - MAX 推理服务器(OpenAI 兼容端点)与模型流水线;
- 大量代码示例与文档。
构建方面,仓库采用 Bazel 作为构建系统(根目录可见 MODULE.bazel、bazelw),通过统一的构建命令即可完成编译器与标准库的下载或本地编译——对不熟悉 Mojo 内部结构的开发者来说,这是相当友好的工程化设计。
3. “开源”但暂不收编译器贡献
一个细节值得注意:Modular 目前不接受针对编译器和工具链的外部贡献(标准库、MAX 内核、示例和文档除外),计划在今年年底前开放。Hacker News 上因此出现了”这算 source-available 还是 open source”的争论——按 OSI 开源定义,完整的源码 + Apache 2.0 协议已经满足开源标准,是否接受上游 PR 是另一回事(SQLite 也不接受外部贡献)。不过对社区而言,编译器贡献通道的开放节奏,仍是衡量项目长期健康度的关键指标。
技术解析:Mojo 凭什么值得关注?
Mojo 的设计哲学可以概括为”Python 的语法,Rust 的所有权,Zig 的 comptime“:
- 所有权系统:类似 Rust 的内存管理模型,无需垃圾回收即可获得接近 C++ 的性能;
- comptime 计算:编译期求值能力与 Zig 同源,模板化代码生成不再需要宏魔法;
- GPU/加速器内核编程:通过 MAX 框架,开发者可以用同一套语言同时编写 CPU 端逻辑和 GPU kernel。
一个典型的 Mojo 并行内核示例(基于官方文档风格):
1 | from max import Kernel, launch |
与主要竞争者相比,Mojo 的定位差异一目了然:
| 维度 | Mojo | Julia | Rust | C++/CUDA |
|---|---|---|---|---|
| 语法门槛 | Python 风格,极低 | 数学化,中等 | 陡峭 | 高 |
| 内存模型 | 所有权(类 Rust) | GC + 可选手动 | 所有权 | 手动 |
| GPU 编程 | MAX kernel 原生支持 | CUDA.jl/KernelAbstractions | 需第三方 crate | CUDA 生态最成熟 |
| 启动速度 | 编译为原生二进制,快 | JIT,首次调用慢 | 快 | 快 |
| AI 推理栈 | MAX + Modular Cloud | 无官方方案 | 碎片化 | 各厂商私有栈 |
Julia 以多重派发和数学表达力见长,但启动慢、运行时偏重;Rust 性能强劲但学习曲线陡峭;C++/CUDA 生态最成熟却门槛最高。Mojo 试图用 Python 开发者最熟悉的语法抹平这条鸿沟——对从 NumPy/JAX 迁移过来的算法工程师来说,这是最大的吸引力所在。HN 讨论中也有反对声音:有 Julia 拥趸认为 Python 风格语法对数值计算并不友好(缺少原生矩阵类型和简洁的中缀算子),也有人指出 Mojo 在 Windows 支持落地之前,受众仍会被限制在小众圈层。这场争论本身说明,”AI 时代的系统语言”远未尘埃落定。
影响与未来:Qualcomm 收购 + Windows 支持
ModCon 2026 的另一条重磅消息是 Qualcomm 完成对 Modular 的收购。收购后 Modular Platform 承诺继续支持包括与高通直接竞争的硬件在内的广泛平台——“一个基础只有当所有人都能站在上面时才成立”。同时:
- 原生 Windows 支持正在与微软 Windows 团队合作推进(此前仅支持 macOS/Linux,Windows 用户需借助 WSL);
- Modular Cloud 正式 GA:OpenAI 兼容端点 + 按 token 计费,旗舰客户 MiniMax 在其上以”每分钟数十亿 token”的规模运行 M3 模型(1M 上下文 + 原生多模态 + 稀疏注意力架构);
- 硬件支持扩展到 NVIDIA/AMD GPU、AWS Trainium、Google TPU、Qualcomm Cloud AI 100 Ultra,且新硬件适配的工程投入较传统方式降低 10 倍以上;
- MAX 许可移除了设备使用限制,转为 source-available + 开放联盟计划——HTEC 仅用几名工程师、几个月就自行完成了 Google TPU 的接入。
个人见解
Mojo 全面开源是它从”小众实验语言”走向”行业基础设施”的关键一步。但必须清醒地看到:Python 在 AI 生态中的统治地位短期内不会动摇,Mojo 的主战场更可能是推理优化、kernel 开发和高性能数值计算这类对性能极度敏感的领域,而非通用应用开发。
真正值得长期跟踪的有两点:一是 KGEN/MLIR 编译器栈开源后能否吸引社区深度参与(年底的贡献通道开放是第一个检验节点);二是”一次编写、全硬件运行”的异构计算抽象能否成为事实标准——如果成功,Mojo + MAX 有机会成为异构算力时代的”CUDA 替代层”。对做推理引擎和 kernel 优化的团队来说,现在就是动手试水的最佳时机。
