Back to Devoured - August 19, 2026
DEVOURED
MojošŸ”„ is now open source!

MojošŸ”„ is now open source!

Tech Modular
Modular has open-sourced its Mojo programming language, allowing developers to build and customize the compiler under the Apache 2.0 license.
What: Mojo, designed for high-performance AI and hardware acceleration, is now open source. While the standard library is open for contributions, Modular stated it will begin accepting contributions to the core compiler and tooling later this year.
Why it matters: By opening the stack, Modular is attempting to foster a developer ecosystem around a language that aims to bridge the gap between Python-like syntax and hardware-level performance optimization.
Takeaway: To experiment with the source, clone the repository via 'git clone https://github.com/modular/modular.git' and build the compiler using './bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo'.
Deep dive
  • Language architecture: Mojo is a superset of Python that incorporates ownership and borrow checking similar to Rust for memory safety.
  • Hardware targeting: The language is specifically engineered to target accelerators like GPUs and TPUs, allowing for fine-grained control over memory layouts and kernel execution.
  • Licensing: The Apache 2.0 license with LLVM exceptions ensures compatibility with existing compiler toolchains, critical for widespread adoption in systems programming.
  • Tooling: Integration with Bazel provides a unified build system, though it introduces a significant learning curve compared to standard Python packaging.
Decoder
  • Kernel: A small, optimized piece of code that performs a specific, often heavy, computational task on a GPU or other accelerator.
  • Bazel: An open-source build and test tool similar to Make or Maven, optimized for large, complex codebases and reproducible builds.
Original article

MojošŸ”„ is now open source!

We are happy to announce that the MojošŸ”„ language is now fully open source under the Apache 2.0 license (with LLVM exceptions)! The source code for the Mojo compiler, tooling, and everything else you need to build the language are now available in our modular GitHub repository.

The Mojo language is a bold bet: a novel general purpose programming language that goes further than older ones. Mojo integrates the latest in compiler and programming language research to unlock GPUs, AI accelerators, and other advanced compute. For the last four years, Mojo has been developed with an open community, but a closed compiler. Last week Mojo hit 1.0 (with source stability), and today we’re excited to open source the entire compiler and toolchain.

Apache 2: A permissive license

The Apache 2.0 license is the gold standard for programming languages and compilers, because it provides great flexibility to be used in all sorts of applications. The LLVM extensions to the license further expand those freedoms for building and distributing binaries compiled from Mojo. We want you to be able to adopt and use Mojo in as many applications as you can imagine.

Our open source approach has been deliberate: we’ve found that small and tight-knit design teams (not committees) are the best for finding the ā€œsoulā€ of a language, but that feedback from a broader community is essential to escape an echo chamber. As such, we first open-sourced the Mojo standard library, then released hundreds of thousands of lines of kernel code written in Mojo, tools, and support. We built together with community feedback and public design proposals, and are now open sourcing the compiler. We will continue to open our processes further as Mojo keeps maturing.

How to get and build the compiler

All code for the Mojo language is now available at the main modular GitHub repository. First, clone that repository locally:

git clone https://github.com/modular/modular.git

cd modular

Then, to build the Mojo compiler from source and run it against a Mojo file you can use a single build command:

./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo

At Modular, we use Bazel to manage the complex build processes and caching for Mojo and MAX. This one command will download or build everything needed to build the Mojo compiler and the Mojo standard library. The flag --config=build-mojo tells the build system to compile everything from scratch, using the source code on your local system.

This extends to working with the Mojo standard library, where you can modify the compiler or library code and run the full suite of tests via:

./bazelw test --config=build-mojo mojo/stdlib/test/...

If you aren’t working on the compiler itself, you can use the flag --config=prebuilt-mojo and the build system will download the latest nightly binary distribution of the compiler, saving you some compilation time. Note that a prebuilt Mojo compiler is still necessary today if you are customizing MAX kernels or models.

Contributions

The Mojo standard library has been accepting contributions since 2024, and we’re grateful for everyone that has helped advance the language. One learning (particularly in today’s era of AI coding) is that we need to be deliberate about how we handle contributions. As such, we aren’t ready to take contributions to the compiler and tooling. We aim to accept contributions to the compiler and tooling by the end of this year, and we’ll share more details when we can.

To ask any questions about the Mojo compiler source as you read through it, or to share what you’re working on, please join our forum. Clone the source code and let us know what you’re building with the Mojo language. We’re excited to open Mojo up to the world and see how it grows!

Explore all 56 articles in today's digest

Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi