高通收下Modular一个月,Mojo编译器开源

8 月 18 日,Modular 把 Mojo 的编译器和工具链源码推上了 GitHub,代码合并进 modular/modular 主仓库,许可证选的是 Apache 2.0 加 LLVM 例外条款。同一批放出的还有数十万行用 Mojo 写的 GPU 内核代码。此前只有标准库是开放的,那部分从 2024 年起就接受外部贡献,而编译器一直锁在公司内部。

时间点掐得很微妙。Mojo 1.0 在 8 月 11 日刚发布,那一版的主要卖点是源码稳定性承诺:语法和类型系统定型,引用失效有了诊断。一周之后编译器开源,等于把”这门语言可以拿来做长期投入”的两块拼图凑齐。

承诺兑现,但兑现的人换了

Mojo 2023 年 5 月首次亮相时,Chris Lattner 给出的路线图里就写着开源,只是没给死期。中间路线还调过一次向:最初的定位是 Python 的超集,靠兼容存量代码换用户;2025 年 8 月官方改口,说 Mojo 未必会长成完整的 Python 超集,长不成也没关系。定位从”更快的 Python”挪到了”专门写 GPU 的系统语言”,迁移路径改成靠 AI 辅助改写而非语法兼容。

把开源这一步走完的,是收购方。高通 6 月 21 日与 Modular 签署最终协议,7 月 29 日完成交割,对价是最多 1920 万股高通普通股,财务条款未披露。Chris Lattner 出任高通技术公司高级 AI 软件与平台执行副总裁,Mojo、MAX、Modular Cloud 三个品牌保留。宣布开源的博客发在 modular.com,拍板的却是圣迭戈。

高通在开源上的历史评价一向复杂,Linux 内核里的骁龙驱动支持长期被社区抱怨。收购完成不到一个月就把编译器全放出来,这个节奏比多数人预期的快。

开源了代码,还没开源开发流程

有个细节容易被跳过:代码可读可改可分发,但外部补丁暂时进不来。Modular 在公告里明说还没准备好接受编译器和工具的贡献,目标是今年年底前开放。也就是说现在这一步是 source available 到 open source 的许可证转换,社区协作的部分要等下半场。

许可证的选择本身传递了信息。Apache 2.0 附带 LLVM 例外,是 LLVM 项目自己在用的组合,效果是编译出来的二进制不受运行时库的许可证传染,商业闭源产品可以直接分发。对一门瞄准 AI 基础设施的语言来说,这一条比开不开源更实际——芯片厂商和云厂商愿不愿意把它嵌进自家工具链,第一关看的就是这个。

拿 Lattner 的前作对照更清楚。Swift 2014 年发布、2015 年 12 月开源,中间隔了一年半,苹果同样是先放代码再放治理。Rust 走的是另一条路,从一开始就在开源仓库里长。Mojo 现在的位置在两者之间:三年闭源换来了语法定型的自由度,代价是社区规模始终没起来。

目前能跑在哪

支持 macOS 和 Linux,Windows 支持还在做。目标硬件覆盖 CPU、GPU 和各类 AI 加速器,语言设计上明显借鉴了 Rust 的内存模型,同时保留与 Python 双向互调的能力——Mojo 里可以调 Python,反过来也行。

这套定位放进高通的版图里说得通。数据中心和边缘设备的算力越来越异构,每家加速器厂商各自维护一套软件栈,重复劳动惊人。Lattner 在收购完成时公开表示,这次合并会加速 Modular 的目标,为所有厂商的硬件提供统一的 AI 软件。高通要拿 Dragonfly 一类产品去啃机房市场,缺的恰恰是能让开发者不为换芯片重写代码的中间层。

更硬的考验在编译器贡献开放之后。一门语言的生死不看仓库星标,看的是有多少人愿意为它维护第三方库。Mojo 的标准库开放两年,社区贡献量并不算大;编译器这一层门槛更高,年底那个节点能招来多少外部维护者,比这次的许可证公告更能说明问题。

参考来源:Modular 官方博客、高通投资者公告、CocoLoop、Phoronix;核验许可证组合、股份对价 1920 万股口径与收购交割节点。