整理 | 屠敏
出品 | CSDN(ID:CSDNnews)
曾经因为一句“”火遍开发者社区的 Mojo 语言,如今终于走到了一个真正值得关注的节点。
8 月 18 日,Swift 之父、编译器大神 Chris Lattner 和 Google 前员工 Tim Davis 共同创立的 Modular 公司正式宣布,Mojo 整门语言正式全面开源。
这一次不再只是开放标准库或者部分代码,而是连此前一直没有公开的 Mojo 编译器、工具链以及构建语言所需的完整代码,全部以 Apache 2.0(附 LLVM 例外条款)许可证放出。
一切都可以在 Modular GitHub 主仓库中获取:https://github.com/modular/modular
![]()
而就在一周前,Mojo 刚刚发布 1.0 正式版,开始进入源代码稳定阶段。也就是说,困扰 Mojo 社区多年的两个问题——“什么时候成熟?”以及“什么时候真正开源?”,几乎在同一时间有了答案。
更值得注意的是,就在今年 7 月,Qualcomm 已经完成了对 Modular 的收购。Modular 当时明确表示,Mojo、MAX 和 Modular Cloud 都将继续作为产品和品牌发展,同时坚持开放、异构的生态方向。
![]()
这一次,Mojo 编译器也开源了
Mojo 从一开始就不是一门普通的编程语言。
它的目标,是让开发者能够使用一套语言和编译器,同时面向 CPU、GPU、AI 加速器等不同硬件进行高性能编程。Modular 希望借助现代编译器和编程语言技术,把过去需要大量底层代码和硬件适配工作的事情变得更加简单。
但过去四年里,Mojo 一直处于一种比较特殊的状态:社区是开放的,语言开发也是公开进行的,但编译器本身并没有开源。
这也是为什么这次开源的意义远不只是“又多了一个 GitHub 仓库”。
事实上,Mojo 的开源已经持续了很长时间。
2024 年 3 月,Mojo 标准库核心模块开始以 Apache 2.0 许可证开源,并开放社区贡献。此后,Modular 又陆续开放了大量 Mojo kernel、工具以及其他代码。
到了 2025 年,Modular 进一步简化 MAX 和 Mojo 的许可证,希望降低开发者使用 Mojo 的门槛。随后不久,Modular 还陆续开源了超过 45 万行生产级 Mojo kernel 和 serving 代码,让开发者能够直接看到 Mojo 如何用于 CPU、GPU 等高性能计算场景。
到了今年,Mojo 终于进入最后阶段。
5 月,Mojo 1.0 进入 Beta;8 月 11 日,Mojo 1.0 正式发布,Modular 希望以此建立一个更加稳定的语言版本。对于已经稳定的 API,1.x 系列将更加注重兼容性,不再像早期那样频繁改变语言本身。
紧接着,8 月 18 日,编译器和工具链正式开源。
Modular 表示,目前 Mojo 的全部代码都已经进入主 modular GitHub 仓库。开发者不仅可以阅读源码,还可以直接在本地构建 Mojo 编译器。
许可证方面,Mojo 采用 Apache 2.0,并加入 LLVM 例外条款。Modular 认为,这种组合能够给语言和编译器项目提供较大的使用自由度,也方便开发者构建和分发由 Mojo 编译出来的二进制文件。
换句话说,这次真正补上的,是 Mojo 此前一直缺失的最后一块拼图:编译器。
![]()
Mojo 早已不只是“Python++”
其实最早让众人了解 Mojo 的原因,是因为它看起来很像 Python。
2023 年首次公开时,Modular 曾把 Mojo 称为“Python++”:保留接近 Python 的语法和开发体验,同时加入静态类型、内存管理、SIMD、编译期元编程等能力,让开发者能够进一步向底层硬件和性能优化靠近。
随后,官方晒出“Mojo 比 Python 快 9 万倍”的说法又让它彻底出圈。
![]()
不过,这个数字来自特定的性能测试,并不能理解成“Mojo 在所有任务上都比 Python 快 9 万倍”。
更重要的是,Python 在 AI 和科学计算领域本身就不是简单靠解释器运行到底。大量真正消耗计算资源的代码,本来就由 NumPy、PyTorch 等底层 C/C++、CUDA 等实现完成。
所以,Mojo 真正想解决的问题,从来不是简单地“让 Python 变快”。
经过四年发展,Mojo 的定位也已经发生了变化。
它如今更多被放在 Modular 的 MAX AI 平台中,用来编写高性能 kernel,并连接 CPU、GPU 以及其他 AI 加速器。
Modular 现在对 Mojo 的定位,也已经从早期强调 Python 兼容性,逐渐转向面向 AI 时代的系统级编程语言。
这意味着,今天再看 Mojo,真正值得关注的问题已经不是“它能不能成为更快的 Python”,而是:能不能用一门语言,把 AI 应用从上层代码一路连接到底层硬件,同时尽可能减少针对不同芯片重复改写代码的工作。
这也是 Mojo 和 Python 的关系越来越值得重新理解的原因。
Python 生态依然可以存在,开发者也可以继续调用 Python 代码和库;但如果想真正利用 Mojo 的性能优势,往往还是需要使用 Mojo 自身的类型、内存和编译能力重新实现性能关键部分。
也就是说,Mojo 并不会让现有 Python 程序仅仅因为换了一个文件后缀,就突然快上几万倍。
![]()
编译器开源了,但社区贡献还要再等等
不过,全面开源并不意味着 Mojo 从今天开始就完全交给社区。这恰恰是此次公告中另一个值得注意的地方。
事实上,Mojo 标准库从 2024 年开始就已经接受社区贡献,并在过去两年积累了大量来自开发者社区的反馈和代码。
但对于编译器和工具链,Modular 目前仍然采取相对谨慎的态度。
Modular 表示,尤其是在 AI 编程快速发展的背景下,如何处理社区贡献需要更加谨慎。因此,现阶段还不会接受针对 Mojo 编译器和工具链的外部贡献。
按照目前的计划,Modular 希望在 2026 年底之前开放编译器和工具链的社区贡献机制,届时将公布更多具体细节。
换句话说,这次开源已经允许开发者查看、构建和研究 Mojo 编译器源码,但如果想直接向上游提交编译器和工具链代码,目前还需要再等一段时间。
对于已经开始研究 Mojo 的开发者,Modular 目前则鼓励通过官方论坛讨论编译器源码、分享项目以及交流使用经验。
![]()
现在就可以自己编译 Mojo
随着编译器开源,开发者现在可以直接从 Modular 的主 GitHub 仓库获取 Mojo 的完整源码。
对此,官方也直接给出了上手的教程。首先将代码仓库克隆到本地:
cd modular随后,可以通过一条 Bazel 命令从源码构建 Mojo 编译器,并直接运行 Mojo 文件:
./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojoModular 内部使用 Bazel 管理 Mojo 和 MAX 的复杂构建流程及缓存。上述 --config=build-mojo 参数会要求构建系统从头开始编译相关组件,并使用本地系统中的源代码。
开发者也可以直接修改 Mojo 编译器或标准库代码,然后运行完整的测试套件:
./bazelw test --config=build-mojo mojo/stdlib/test/...如果并不需要参与编译器本身的开发,则可以使用 --config=prebuilt-mojo 参数,由构建系统直接下载最新的 nightly 版本编译器二进制文件,从而减少本地编译所需的时间。
不过,目前如果需要定制 MAX kernel 或模型,仍然需要使用预构建的 Mojo 编译器。
![]()
这一次,开发者的态度明显变了
如果把时间拉回 Mojo 刚发布的时候,它在开发者社区的评价其实相当两极。
尤其是“比 Python 快 9 万倍”的说法,当时引发了大量 benchmark 争议。有人质疑测试条件,也有人认为直接拿 Mojo 和纯 Python 比较,很容易让读者对实际性能产生误解。
但四年过去,讨论的重点已经发生了变化。
这一次,Hacker News 上不少开发者讨论的已经不再是“9 万倍到底是不是真的”,而是 Mojo 现在到底能不能真正用起来。
有人直接表示,过去一直没有尝试 Mojo,其中一个重要原因就是编译器没有开源;现在源码终于公开,自己终于愿意认真试一试。
![]()
社区也开始讨论 Mojo 能否进一步补齐自己的生态。例如,已经有 NuMojo 等项目尝试提供类似 NumPy 的数值计算能力,并进一步探索 GPU 执行。
当然,质疑并没有消失。
有人认为 Windows 支持仍然不足,会影响 Mojo 的普及。也有人指出,Julia 已经在高性能计算、科学计算和数据科学领域发展多年,Mojo 并不是没有竞争对手。
![]()
这其实也是 Mojo 接下来真正需要面对的问题:
开源解决的是“为什么我不敢用”,但并没有自动回答“为什么我一定要用 Mojo”。
而这,可能比把编译器放到 GitHub 上更加重要。
![]()
四年之后,Mojo 终于到了真正的分水岭
从 2023 年公开,到 2024 年开放标准库,再到 2025 年开放大量 kernel 和工具,最后到如今把编译器和工具链全部交出来,Mojo 花了四年时间完成了一次关键转变。
它已经不再只是一个“看起来很像 Python、但跑得更快”的实验性语言。
如今的 Mojo,正在尝试成为 Modular AI 软件栈中连接高层 AI 应用和底层异构硬件的一层基础设施。
而全面开源之后,Mojo 也终于要面对一个更加现实的问题:当编译器已经摆到开发者面前,当源码不再是门槛,它究竟能不能凭借自己的性能、硬件适配能力和开发体验,真正吸引开发者建立生态?
这一次,答案已经不再掌握在 Modular 一家公司手里。
代码已经开源,接下来真正决定 Mojo 能走多远的,可能就是开发者会拿它做什么。
参考:
https://www.modular.com/blog/mojo-open-source
https://news.ycombinator.com/item?id=49348079
最后,说一件事
2026 奇点智能技术大会与C++及系统软件技术大会 终于要和大家见面了。
11 月 20-21 日·北京,奇点智能研究院联合 CSDN,把两场技术大会放在了同一个时空里:
奇点智能技术大会(始于 2016)——聊大模型、AI Native、企业级 AI 落地、多模态与世界模型;
C++ 及系统软件技术大会(始于 2005)——聊现代 C++ 演进、AI 算力与推理优化、高性能低时延系统。
为什么要放在一起?因为我们越来越相信——上层 AI 应用的爆发,离不开底层系统软件的支撑;而底层技术的演进方向,也正在被 AI 重新定义。
这次大会汇聚 70+ 位技术专家、18 个主题、1000+ 同行到场。
如果你也在这些方向上做研究、做产品、做工程,别错过。
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.