Skip to main content
株式会社オブライト
Software Development2026-08-216 min read

Mojo Is Now Open Source: Apache 2.0 License & Build (2026)

On Aug 18, 2026, Modular open sourced the Mojo compiler, toolchain, stdlib under Apache 2.0 with LLVM exceptions: scope, build steps, open contributions.


On August 18, 2026, at ModCon 2026 in San Francisco, Modular announced that Mojo is now fully open source. The Mojo compiler, its toolchain, the standard library, and the broader Modular software stack were released under Apache 2.0 with LLVM exceptions, a permissive license. The announcement came just days after Mojo reached 1.0, a source-stability milestone, on August 12, 2026. For background on 1.0 itself, see Mojo 1.0とは?インストール・GPU対応・Pythonとの違い before diving into this release.

What Was Actually Released

The code lives at github.com/modular/modular and includes several hundred thousand lines of Mojo-written kernel code — much of what Modular had previously kept internal, including GPU compute kernels used in production. The release breaks down into three parts: the Mojo compiler itself along with its surrounding toolchain, the Mojo-based standard library, and the wider Modular software stack, which includes MAX, Modular's inference and serving stack. Rather than open sourcing just a library layer, Modular released the language implementation itself alongside the production code that runs on top of it.

What Apache 2.0 With LLVM Exceptions Means

Apache 2.0 is a permissive license widely used across open source projects, allowing broad commercial use, modification, and redistribution. Modular paired it with the "LLVM exceptions" addendum, the same clause used by the LLVM project itself. In general terms, this exception addresses a specific friction point: when a compiler's generated runtime library is linked into another program, the standard Apache 2.0 attribution requirements (such as bundling a NOTICE file) would otherwise extend to that linking step. The LLVM exception keeps that obligation from reaching that far, which reduces the licensing overhead for teams shipping products that embed the compiler or its runtime. Since the Mojo compiler is built on LLVM/MLIR infrastructure, adopting the same license exception used by that ecosystem is a natural fit.

Building From Source

The build uses a Bazel wrapper script, ./bazelw. After cloning the repository, you can run a Mojo file directly with a command like this.

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

To run the standard library's test suite, use this instead.

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

Since a full build from source can be time-consuming, a prebuilt option is also available using nightly binaries via --config=prebuilt-mojo. This is the faster path if you just want to try the compiler without a full local build.

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

What You Still Can't Do

Having the source public does not mean anyone can immediately send a pull request against the compiler. Standard library contributions have been accepted since 2024, but external contributions to the compiler itself and its toolchain are not yet accepted as of this announcement. Modular says it plans to open contributions to the compiler and tools sometime within 2026, without committing to a specific date. Separately, customizing MAX's kernels and models still requires a prebuilt Mojo compiler at this point — the workflow hasn't fully shifted to a self-build-only setup. Being able to read and build the source is a different stage from being able to participate in the development process.

The Qualcomm Acquisition Context

This full open-sourcing move comes shortly after Qualcomm completed its roughly $3.9 billion acquisition of Modular at the end of July 2026. Neither Modular nor Qualcomm has publicly stated a causal link between the acquisition and this open source push. Some observers speculate that resources or strategic shifts following the acquisition may have accelerated the open source strategy, but that remains external speculation rather than a stated fact. What can be said with confidence is only the timing: roughly three weeks after the acquisition closed, previously closed compiler and kernel code became public.

How Mojo Compares to Other Languages

Language/ProjectLicenseExternal compiler contributionsPrimary use
MojoApache 2.0 with LLVM exceptionsStdlib accepted; compiler contributions planned within 2026AI/GPU kernels, Python-compatible high-performance code
RustDual MIT / Apache 2.0Accepted, via a public RFC governance processSystems programming, WebAssembly
SwiftApache 2.0 with Runtime Library ExceptionAccepted, via Swift Evolution public governanceApple app development, server-side
JuliaMIT LicenseAccepted, community-driven on GitHubScientific and numerical computing

As the table shows, Rust, Swift, and Julia already have fully public compiler and runtime source alongside established, public governance processes for accepting outside pull requests. Mojo's standard library has reached a similar stage, but governance for the compiler itself is still being built out. On licensing, Mojo sits close to Swift, and both share LLVM as an underlying foundation.

What Practitioners Should Do Now

- Engineers who want to understand Mojo's language design or GPU kernel implementations should read the source now — the hundreds of thousands of lines of production kernel code are a useful reference for GPU programming and compiler implementation alike
- Teams considering embedding the Mojo compiler or runtime into their own products should have legal or IP counsel review the Apache 2.0 with LLVM exceptions terms before committing
- If you want to submit a pull request to the compiler itself, you'll need to wait for the contribution process to open, expected sometime in 2026; for now, only standard library contributions are accepted
- Customizing MAX kernels or models still requires the prebuilt Mojo compiler, so existing deployment workflows don't need to change yet
- Teams that already run a stable GPU/AI stack on another language, with no clear case yet for switching to Mojo, can reasonably wait for compiler governance to mature later in 2026

Can I use Mojo commercially for free?

Yes. Apache 2.0 with LLVM exceptions is a permissive license that broadly allows commercial use, modification, and redistribution. Depending on how you embed it into your product, it's still worth having legal counsel review the specific terms.

Can I submit a pull request to the Mojo compiler right now?

Not yet, as of August 2026. External contributions to the compiler and toolchain are not accepted. Standard library contributions have been accepted since 2024. Modular plans to open compiler contributions sometime within 2026, without a specific committed date.

Can I try Mojo without building from source?

Yes. Passing --config=prebuilt-mojo to ./bazelw lets you use nightly prebuilt binaries, which is faster if you just want to try things out without a full local build.

Do I need to build from source to customize MAX kernels or models?

No, not currently — a prebuilt Mojo compiler is sufficient for that today. Whether workflows shift to a self-build-only setup depends on future development.

Why did this open sourcing happen now?

Qualcomm's roughly $3.9 billion acquisition of Modular closed at the end of July 2026, and this announcement followed at ModCon 2026 on August 18, 2026. There is no official statement linking the two events causally, and any connection some observers draw remains speculative.

Related free tools (no sign-up, instant results)

Feel free to contact us

Contact Us