Modular:Mojo🔥现已开源!

Modular:Mojo🔥现已开源!

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

Mojo🔥语言现已完全开源,采用Apache 2.0许可证(含LLVM例外)。其编译器、工具链及标准库源码已发布在Modular的GitHub仓库中。用户可通过Bazel命令从源码构建编译器或使用预编译版本。目前暂不接受编译器贡献,计划年底开放。此举旨在推动语言发展,吸引社区参与。

🔎

延伸解读

开源许可的细节

Mojo采用Apache 2.0许可证,并包含LLVM例外条款。这意味着用户不仅可以使用和修改编译器,还可以将编译后的二进制文件用于商业用途,而无需公开源代码。这种许可方式为开发者提供了极大的灵活性,有助于Mojo在更多应用场景中落地。

构建方式与当前限制

用户可以通过Bazel命令从源码构建Mojo编译器,也可以使用预编译版本以节省时间。但需要注意的是,目前编译器尚不接受外部贡献,预计年底才会开放。此外,如果用户需要定制MAX内核或模型,仍必须使用预编译的Mojo编译器。

开源策略的考量

Modular团队强调,他们刻意选择了先开源标准库和内核代码,再开源编译器的渐进式策略。他们认为小规模的设计团队更有利于塑造语言的核心特性,而社区反馈则有助于避免闭门造车。这种策略旨在平衡语言设计的专注度与社区参与度。

Q&A

Mojo语言现在是否已完全开源?采用什么许可证?

是的,Mojo语言现已完全开源,采用Apache 2.0许可证(含LLVM例外)。

如何从源码构建Mojo编译器?

首先克隆Modular的GitHub仓库,然后在仓库目录下运行命令:./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo。该命令会下载或构建所有必要组件,并使用本地源码编译Mojo编译器和标准库。

如果不想从源码构建,有没有更快的编译方式?

可以使用--config=prebuilt-mojo标志,构建系统会下载最新的nightly二进制发行版,节省编译时间。但注意,自定义MAX内核或模型时仍需预编译的Mojo编译器。

Mojo编译器目前是否接受社区贡献?

目前暂不接受对编译器和工具链的贡献,但计划在年底开放。标准库自2024年起已接受贡献。

Mojo语言的设计理念是什么?

Mojo是一种新颖的通用编程语言,旨在集成最新的编译器和编程语言研究,以解锁GPU、AI加速器等高级计算能力。其开发策略是先通过小型紧密团队设计语言核心,再借助社区反馈避免回声室效应。

Mojo开源后,用户可以在哪里获取源代码?

所有Mojo语言代码都托管在Modular的GitHub仓库中,用户可以通过git clone https://github.com/modular/modular.git获取。

🏷️

标签

➡️

继续阅读