クアルコムがMojoコンパイラをオープンソース化

8月18日、ModularはMojoのコンパイラとツールチェーンのソースコードをGitHubに公開し、modular/modularのメインリポジトリに統合した。ライセンスはApache 2.0にLLVM例外条項を加えたものを選んだ。同時に、Mojoで書かれた数十万行規模のGPUカーネルコードも公開された。これまで公開されていたのは標準ライブラリのみで、2024年から外部からの貢献を受け付けていたが、コンパイラは社内に閉じたままだった。

タイミングは絶妙だ。Mojo 1.0は8月11日にリリースされたばかりで、その目玉はソースコードレベルの安定性の約束だった。文法と型システムが確定し、無効化された参照には診断が付くようになった。その1週間後にコンパイラがオープンソース化されたことで、「この言語は長期投資に値する」というメッセージの最後のピースが揃った形だ。

果たされた約束、しかし果たしたのは別人

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カーネルにおけるスナップドラゴン向けドライバのサポートは、長年コミュニティから不満の声が上がっている。買収完了から1カ月足らずでコンパイラを全面公開したのは、多くの予想より速いペースだ。

コードは公開されたが、開発プロセスはまだ

見落とされがちな点がある。コードは閲覧・改変・再配布ができるようになったが、外部からのパッチはまだ受け付けていない。Modularは公式発表の中で、コンパイラとツール群への貢献をまだ受け入れる準備ができていないと明言しており、目標は年内の開放としている。つまり今回のステップはsource availableからオープンソースへのライセンス転換にすぎず、コミュニティとの協業は後半戦として残されている。

ライセンスの選択そのものがメッセージを伝えている。Apache 2.0にLLVM例外を組み合わせる構成は、LLVMプロジェクト自身が採用しているものと同じで、コンパイルされたバイナリがランタイムライブラリのライセンスに縛られない効果を持つ。つまり商用のクローズドソース製品でもそのまま配布できる。AIインフラを狙う言語にとって、これはオープンソースか否かという看板よりも実務的な意味を持つ。半導体メーカーやクラウド事業者が自社のツールチェーンに組み込みたいと思うかどうかは、まずこの一点にかかっている。

Lattner氏の前作と比較するとわかりやすい。Swiftは2014年に発表され、2015年12月にオープンソース化された。その間隔は1年半ほどで、Appleも同様にまずコードを公開し、その後でガバナンスを開いた。一方Rustは最初からオープンなリポジトリの中で育てられてきた。Mojoは今、その両者の中間に位置している。3年間クローズドを保ったことで文法を固める自由を得た代わりに、コミュニティの規模はこれまでずっと立ち上がらないままだった。

現時点で動く環境

MojoはmacOSとLinuxに対応しており、Windows対応はまだ開発中だ。対象ハードウェアはCPU、GPU、各種AIアクセラレータに及ぶ。言語設計にはRustのメモリモデルの影響が色濃く見られる一方、Pythonとの双方向の相互運用性も維持されている。MojoからPythonを呼び出すことも、その逆も可能だ。

この位置づけはクアルコムの事業戦略にうまく収まる。データセンターやエッジデバイスにおける計算資源はますます異種混在化が進んでおり、アクセラレータのベンダーごとに独自のソフトウェアスタックを維持する重複作業が目立つようになっている。買収完了時、Lattner氏は公の場で、今回の統合によってModularの目標、つまりあらゆるベンダーのハードウェア向けに統一されたAIソフトウェアを提供するという方向性が加速すると述べた。クアルコムがDragonflyのような製品でデータセンター市場に切り込もうとする中、まさに必要としているのが、チップを乗り換えるたびに開発者がコードを書き直さずに済むようなミドルウェア層だった。

本当の試練は、コンパイラへの貢献が開放された後にやってくる。ある言語の生死を決めるのはGitHubのスター数ではなく、どれだけ多くの人がサードパーティ製ライブラリを維持し続けてくれるかだ。Mojoの標準ライブラリは2年間公開されてきたが、コミュニティからの貢献量はそれほど多くない。コンパイラはさらにハードルが高い層にある。年内という節目までにどれだけの外部メンテナーが集まるかは、今回のライセンス発表そのものよりも多くを物語ることになるだろう。

参考資料:Modular公式ブログ、クアルコムの投資家向け発表、CocoLoop、Phoronix。ライセンスの組み合わせ、対価1920万株という数字、買収完了の時期を確認済み。