Mojo 6 min read

Mojo Finally Went Open Source. The Timing Tells You Everything.

Chris Lattner spent three years telling developers Mojo would eventually be open source. It finally is. It also happens to be the first major move after Qualcomm swallowed Modular whole — and that order of events explains more than the announcement blog post does.

One caveat before we start: the community signal here is unusually thin. There’s no meaningful Reddit thread from the past month, and the discussion volume is nothing like what a language launch usually generates. So treat this less as a snapshot of developer sentiment and more as an attempt to read what three years of accumulated context means now that the last piece finally dropped.

A promise that took three years to keep

Mojo landed in May 2023 with one of the strongest founder résumés in systems software. Lattner built LLVM. Then Swift. Then MLIR at Google. In compiler circles that’s roughly the equivalent of showing up with three platinum records.

The pitch was clean: Python’s syntax, C’s speed. Write in the language AI developers already use, but drop into GPU kernel territory without switching languages. That’s the two-language problem — you prototype in Python, then rewrite the hot path in CUDA C++ — and Mojo promised to kill it.

Then came the waiting. Modular kept saying open source was coming. The core compiler stayed shut. Parts of the standard library went Apache-licensed in 2024, which helped, but the thing everyone actually wanted stayed locked. Every Hacker News thread about Mojo picked up the same reply: nice language, call us when we can see the source.

So this is the promise finally being kept. The interesting part is when.

Chip companies don’t sell compilers

Qualcomm announced the Modular acquisition in the second half of 2025. Open source followed shortly after. That sequence is the story.

For an independent Modular, Mojo was revenue. The company had to sell MAX, its commercial inference platform, and keeping the compiler closed was a perfectly rational business decision. Then the ownership changed and the math inverted. Qualcomm does not make money selling compilers. Qualcomm makes money selling silicon.

For a chip company, a compiler isn’t a product. It’s bait. It’s the thing that gets developers writing code that happens to run beautifully on your hardware. Under that logic, a closed compiler is actively counterproductive — it suppresses adoption of the toolchain you want everyone standardizing on. What Qualcomm wants isn’t Mojo license revenue. It’s a world where Mojo code runs great on Snapdragon and the Cloud AI100 accelerator line.

So the honest framing isn’t we finally kept our promise. It’s keeping the promise finally became the profitable move. That sounds cynical, but it’s the most well-worn pattern in open source. Google opened Android for the same reason. Meta opened PyTorch and Llama for the same reason. Better to own the board than rent a seat on someone else’s.

What the CUDA moat is actually made of

Now the real question. Does any of this bother Nvidia?

People consistently misdiagnose CUDA’s strength. They assume it wins because it’s fast. It isn’t the speed. The moat is eighteen years of accumulated sediment stacked on top of the language: cuDNN, cuBLAS, NCCL, TensorRT. Hundreds of thousands of Stack Overflow answers. The near-certainty that when a paper drops, the reference implementation is CUDA. And the quietest advantage of all — when something breaks at 2am, somebody on your team has already debugged this exact class of problem.

Letting developers write GPU kernels in Python syntax doesn’t dissolve any of that. It has to be rebuilt. And the rebuild has to prove it’s as fast and as stable as what it replaces. That’s not a language design problem. That’s a headcount-and-calendar problem, and Nvidia has an eighteen-year head start on it.

But Mojo isn’t really aiming there. The target isn’t displacing CUDA on Nvidia GPUs. It’s making non-Nvidia silicon genuinely usable. That’s a different fight, and a winnable one. AMD’s ROCm has been about-to-be-good-enough for several years running. Meanwhile every non-Nvidia player — Qualcomm, AMD, Intel, and a dozen AI chip startups — has been building its own private toolchain. That fragmentation is Nvidia’s single most valuable asset, and nobody put it there on purpose.

The MLIR foundation matters here. MLIR is an intermediate representation designed specifically to lower code onto many different hardware targets. Lattner built it at Google, and Mojo has been sitting on top of it since day one. In theory, the same Mojo source compiles down to an Nvidia GPU, a Qualcomm NPU, and an AMD GPU. In theory.

The three questions developers actually ask

Elegance doesn’t drive adoption. Developers evaluating a new language ask much drier questions.

How well does it plug into Python? Mojo describes itself as aiming to be a Python superset, but it still can’t ingest arbitrary Python code as-is. There’s interop for calling Python modules, which is useful — but that’s structurally the same thing as calling NumPy from Python. It’s not the same as your existing codebase just compiling. The gap between if you know Python you can use this today and the actual state of things is still real.

Who maintains it now? Qualcomm. That’s reassuring and unnerving in equal measure. Funding is no longer a question. Priorities are. We have all watched a big acquirer take on a beloved developer tool and quietly let it drift into maintenance limbo two roadmap cycles later.

Is the license actually open? This is the one that decides everything. Apache 2.0 or similar means AMD and Intel can build backends for their own chips. A source-available license — you can read it, competitors can’t ship it — means they can’t. If Qualcomm has written terms that privilege its own silicon, Mojo doesn’t become an alternative to CUDA. It becomes Qualcomm’s CUDA, which is the same trap with a different logo.

That third question is the only one worth watching closely.

The signals to watch

It’s far too early to call this. But there are three concrete things that should resolve within six months.

Does a hardware vendor other than Qualcomm start contributing backend code? Do kernels for major open-weight models start getting ported to Mojo? Does the Python compatibility roadmap acquire actual dates? Movement on any one of those means something real is happening. Silence on all three means the three-year wait ended in a developer-acquisition campaign with a nice announcement.

My read: the CUDA moat is not going to wobble because of this. Moats are built out of habits and people, not source code, and neither of those changes on an announcement date. What did change is that companies trying to escape Nvidia now have one more option on the table. How serious an option depends entirely on whether Qualcomm builds this for its own chips or genuinely builds it for everyone.

So which is it for you — drop Mojo into a new project now, or wait until Python compatibility actually ships?

Mojo Modular Qualcomm CUDA AI Infrastructure Programming Languages

Comments

    Loading comments...