高通收購滿月 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 核心裡的 Snapdragon 驅動支援長期被社群抱怨。併購完成不到一個月就把編譯器全部釋出,這個節奏比多數人預期的還要快。

程式碼開了,開發流程還沒開

有個細節很容易被忽略:程式碼現在可以閱讀、修改、散布,但外部修補程式暫時還進不來。Modular 在公告裡明白表示,目前還沒準備好接受編譯器與工具的貢獻,目標是今年底前開放。也就是說,現在這一步只是從 source available 轉換成開源授權,社群協作的部分要等下半場。

授權條款的選擇本身就透露出訊息。Apache 2.0 搭配 LLVM 例外條款,是 LLVM 專案自己在用的組合,效果是編譯出來的二進位檔不受執行期函式庫授權條款的牽連,商業閉源產品可以直接拿去散布。對一門瞄準 AI 基礎架構的語言來說,這一點比「有沒有開源」這個標籤更實際——晶片廠與雲端業者願不願意把它嵌進自家工具鏈,第一關看的就是這個。

拿 Lattner 的前一個作品來對照會更清楚。Swift 在 2014 年發布、2015 年 12 月開源,中間隔了一年半,蘋果同樣是先放程式碼,之後才打開治理機制。Rust 走的是另一條路,從一開始就在開源儲存庫裡成長。Mojo 現在的位置介於兩者之間:三年閉源換來語法定案的自由,代價是社群規模始終沒有起來。

目前能跑在哪些平台

Mojo 支援 macOS 與 Linux,Windows 支援仍在開發中。目標硬體涵蓋 CPU、GPU 與各類 AI 加速器,語言設計上明顯借鏡 Rust 的記憶體模型,同時保留與 Python 雙向互通的能力——Mojo 可以呼叫 Python,反過來也行。

這樣的定位放進高通的版圖裡說得通。資料中心與邊緣裝置的運算力越來越異質化,每家加速器廠商各自維護一套軟體堆疊,重複勞動相當驚人。併購完成時,Lattner 公開表示,這次合併會加速 Modular 的目標,也就是為所有廠商的硬體提供統一的 AI 軟體。高通想靠 Dragonfly 之類的產品打入機房市場,缺的正是能讓開發者不必為了換晶片而重寫程式碼的中介層。

更嚴苛的考驗在編譯器貢獻開放之後。一門語言的生死不是看 GitHub 星星數,而是看有多少人願意替它維護第三方函式庫。Mojo 的標準函式庫開放兩年,社群貢獻量並不算大;編譯器這一層的門檻更高,年底那個時間點能招來多少外部維護者,會比這次的授權公告更能說明問題。

參考來源:Modular 官方部落格、高通投資人公告、CocoLoop、Phoronix;已查核授權組合、對價 1920 萬股數字與併購交割時間點。