Mojo🔥 is now open source!
Modular has released the full Mojo language toolchain — compiler, tooling, and standard library — under Apache 2.0 with LLVM exceptions. Mojo was designed as a general-purpose language targeting GPUs, AI accelerators, and other advanced compute; the standard library and kernel code (hundreds of thousands of lines) were already open, and last week Mojo hit 1.0 with source stability. The compiler is built with Bazel and can be built from source or run against a prebuilt nightly. Contributions to the compiler and tooling are not yet accepted (planned by end of 2026); standard-library contributions have been open since 2024. Post arrives amid the Modular ↔ Qualcomm acquisition context and the wiki’s ongoing CUDA-DSL-retirement debate.
Key claims
Section titled “Key claims”- The full Mojo compiler, tooling, and standard library are now Apache-2.0 + LLVM-exception at github.com/modular/modular [§“Apache 2: A permissive license”].
- Mojo’s design goal is a general-purpose language that integrates modern compiler and PL research to unlock GPUs, AI accelerators, and other advanced compute — not a Python DSL restricted to ML kernels [§intro].
- Sequencing of the open-source rollout: standard library open first (2024), then hundreds of thousands of lines of kernel code, then tooling, and now the compiler itself; Mojo 1.0 (with source stability) shipped one week before this compiler open-sourcing [§intro, §“Apache 2”].
- Build system is Bazel:
./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojobuilds everything from source;--config=prebuilt-mojodownloads the latest nightly binary distribution to skip compilation [§“How to get and build the compiler”]. - Contribution policy is asymmetric: standard-library contributions have been accepted since 2024; compiler-and-tooling contributions are not yet accepted, with a plan to open them by end of 2026 [§“Contributions”].
- A prebuilt Mojo compiler is still required if customizing MAX kernels or models — MAX is not on the same open-source timeline [§“How to get and build the compiler”].
Method
Section titled “Method”Not applicable — this is a release announcement, not a research artifact. The “method” is the four-year deliberate cadence: open standard library → open kernel code → open tooling → open compiler, with a small closed design team retained for the “soul of the language” decisions and the community used as an echo-chamber check via public design proposals.
Results
Section titled “Results”Not applicable — no benchmarks or comparisons in the post. The
concrete deliverables are: (a) the compiler source at
github.com/modular/modular, (b) a Bazel-driven build flow that handles
either from-source or prebuilt-nightly workflows, and (c) test
targets covering the standard library
(./bazelw test --config=build-mojo mojo/stdlib/test/...).
Why it’s interesting
Section titled “Why it’s interesting”The release sits at the exact intersection of two threads the wiki has been tracking. On the DSL side, Retire the Abstractions — CUDA DSLs Heading Toward Retirement argues that CUDA DSLs (including ThunderKittens) are on the retirement list because coding agents now do the cognitive-offloading job that C++ template abstractions used to do; the counter-position is FlashAttention-4: Algorithm and Kernel Pipelining Co-Design for Asymmetric Hardware Scaling and Gram Newton-Schulz: A Fast, Hardware-Aware Newton-Schulz Algorithm for Muon, where the Dao-AILab stack is converging on CuTeDSL-in-Python as the new lingua franca — the IO-Aware Kernel Design concept page’s “Compile-time as the bottleneck” open question. Mojo enters this argument as a third alternative: not a Python-embedded DSL and not a C++ template library, but a standalone systems language with its own compiler, now with a permissive license and a stable 1.0. Whether that positioning survives the “agents write kernels directly” pressure that Hazy Research is describing is exactly the open question at issue. On the open-release side, this fits the infrastructure-tier release pattern the Open foundation-model releases concept already tracks via Quadrants — high-performance multi-platform compiler for physics simulation (a Python-to-GPU compiler, forked from Taichi) and Genesis World — Simulation platform for general-purpose robotics & embodied AI learning — a programming-language toolchain shipping under Apache 2.0 with a staged contribution policy is a new datapoint for that pattern.
See also
Section titled “See also”- IO-Aware Kernel Design — Mojo is a candidate substrate for the “which language do you write GPU kernels in” question this concept currently frames as CuTeDSL-in-Python vs C++ templates vs LLM-agent-written kernels
- Open foundation-model releases — this concept tracks infrastructure-tier open releases (Kaolin, Genesis World, Quadrants); Mojo is a compiler + standard-library instance of the same pattern
- Retire the Abstractions — CUDA DSLs Heading Toward Retirement — the manifesto arguing CUDA DSLs are on the retirement list; Mojo’s open-sourcing is the counter-move (a non-DSL systems language, now permissively licensed) against exactly that thesis
- FlashAttention-4: Algorithm and Kernel Pipelining Co-Design for Asymmetric Hardware Scaling — the strongest existing endorsement of CuTeDSL-in-Python for GPU-kernel work; Mojo is the alternative language substrate
- Quadrants — high-performance multi-platform compiler for physics simulation — the closest existing release on the wiki, a Python-to-multi-GPU compiler forked from Taichi and shipped Apache 2.0 alongside the Genesis stack