Skip to content

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.

  • 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.mojo builds everything from source; --config=prebuilt-mojo downloads 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”].

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.

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/...).

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.