概要
- Mojo言語 がApache 2.0ライセンス(LLVM例外付き)で 完全オープンソース化
- コンパイラやツールチェーンなど、 全てのソースコード がGitHubで公開
- Bazel によるビルド手順と標準ライブラリの利用方法
- 標準ライブラリは貢献受付中、コンパイラ貢献は年内予定
- 今後も コミュニティとの協働 で発展を目指す方針
Mojo言語、完全オープンソース化のお知らせ
- Mojo言語 が Apache 2.0ライセンス(LLVM例外付き) の下で完全オープンソース化
- Mojoコンパイラ、ツール類、ビルドに必要な全てのコード をGitHubのモジュラーリポジトリで公開
- Mojo は最新のコンパイラ・プログラミング言語研究を取り入れた、 次世代汎用プログラミング言語
- GPUやAIアクセラレータ など先端計算資源の活用を重視
- 4年間の開発期間を経て、 1.0(ソース安定版)リリース、そして今回の完全公開に至る
Apache 2.0ライセンスとオープンソース戦略
- Apache 2.0ライセンス は柔軟な利用・配布を可能にする 業界標準
- LLVM例外 により、バイナリ配布の自由度も拡大
- Mojoの採用・応用範囲 を最大化することを目指す
- 小規模な設計チームで 言語の本質を追求 しつつ、 コミュニティの意見 を積極的に取り入れる方針
- まず 標準ライブラリ を公開し、その後 カーネルコードやツール群 を順次公開
- 今回、 コンパイラ本体も公開 し、今後もプロセスのさらなるオープン化を推進
コンパイラの入手とビルド方法
- GitHubのmodularリポジトリ からコードをクローン
git clone https://github.com/modular/modular.gitcd modular
- Bazel によるビルドコマンドでMojoコンパイラをビルド・実行
./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo- Bazelが 依存関係の管理とキャッシュ を自動化
--config=build-mojoで ローカルソースから全てビルド
- 標準ライブラリのテスト も同様に実行可能
./bazelw test --config=build-mojo mojo/stdlib/test/...
- コンパイラ自体の開発を行わない場合 は
--config=prebuilt-mojoで 最新nightlyバイナリ を利用可能- MAXカーネルやモデルのカスタマイズには prebuiltコンパイラが必要
貢献と今後の展望
- 標準ライブラリ は2024年から 外部貢献を受付中
- AI時代のコントリビューション管理 の重要性を認識
- コンパイラやツールチェーンへの貢献 は年内に受付開始予定
- 詳細は今後公式からアナウンス予定
- 質問や成果報告 は公式フォーラムで受付
- Mojoコミュニティ と共に 言語の発展 を目指す姿勢