Deep Stack
by Burak — AI tools, local models, honest costs

Mojo is open source now. Don't mistake it for a feel-good moment.

A mini case study in why 'source-available, no upstreaming' might be the most intentional licensing move in AI infra this year.

Mojo is open source now. Don't mistake it for a feel-good moment.

On Monday the language world quietly changed shape: Mojo, the systems language for AI compute that Modular has been building for four years, went fully open source under Apache 2.0 (with LLVM exceptions). The compiler, the toolchain, the standard library, the whole thing—all in the public GitHub repo, one Bazel command away from building it from scratch. The HN thread hit 280 points fast, and the reactions split into two camps: one celebrating a real milestone, the other already sharpening the knives.

Both camps are right, and neither one is seeing the whole picture. Because buried in the announcement—between the license and the build command—is a licensing decision that says more about where open source is heading than the language itself does. Mojo is now open source in the strictest OSI sense. But it is deliberately not open to upstream contributions. That gap is the story.

What actually happened

Let’s be precise about the timeline, because the sequencing matters. Mojo hit 1.0 last week with source stability—the language public API finally frozen enough that code written today won’t break tomorrow. Now, a week later, the entire compiler and tooling go under Apache 2.0. That order—stability first, openness second—is not an accident. No one open-sources a moving target if they can avoid it, because the messy middle of a language’s life is when the community fund of goodwill gets spent on support tickets instead of forward progress.

The build story is genuinely impressive for a compiler. It’s a single command—“bazelw run —config=build-mojo KGEN:mojo — run hello.mojo”—that compiles both the compiler and the standard library from source. Developers who just want to use it can flip to a prebuilt nightly with —config=prebuilt-mojo. The standard library has accepted external contributions since 2024, which is why the README proudly points at hundreds of thousands of lines of kernel code already written in Mojo by the community.

Here is the part that should give everyone pause: the compiler and tooling are not accepting upstream contributions yet, and won’t until around the end of this year. Let me be explicit about what that means, because one HN commenter summarized the confusion perfectly: “If the complete source is available and distributable under an OSI-approved license, it is absolutely Open Source. Accepting outside contributions is nowhere in the definition of Open Source.” They’re correct. Source-available-plus-a-fork-license is still fully open source. But it is open source with the steering wheel still firmly in one pair of hands.

Why this looks like a power move (and why it isn’t a cheap one)

All the surface clues scream “openwashing”: big permissive license, huge open-source reveal, but no contribution pipeline for the core. It’s the exact shape of a company that wants the goodwill and the ecosystem without surrendering control. But the cynical read collapses the moment you look at who the stewards actually are—and what they’re trying to protect.

First, Modular was just acquired by Qualcomm in a deal that closed at the end of July. Chris Lattner is now Qualcomm’s VP of AI Software and Tooling. That’s not the profile of a founder in acqui-hire sunset mode; it’s a man with a mandate over a whole silicon giant’s software stack. Adding a contribution pipeline to the exact moment a corporate parent takes over would be a gift-wrapped opening for a governance fight the team does not want—3,000 drive-by PRs, every design decision second-guessed by strangers with opinions but no skin in the game.

Second, read their rationale out loud, because it’s quietly the most honest thing in the post: small, tight-knit design teams—not committees—find the “soul” of a language, but a narrow team suffers from an echo chamber. The whole strategy has been a slow ramp of exactly that oil-and-water: give away the stdlib and kernels first to escape the echo chamber and gather feedback, keep the compiler closed until 1.0, then flip the license and finally wire up the governance later. It’s open-sourcing as a measured, staged process rather than a single surrender event.

And third—the part nobody wants to say out loud—there’s the AI-contribution problem. One commenter put it bluntly: a permissive license without an upstream door “helps shield off a bunch of AI-generated contributions.” In an era where half of every GitHub issue queue is plausible-looking slop generated by the very models this toolchain exists to serve, a small team cannot triage the flood. Keeping the merge door closed is not just about control. It’s a survivability decision.

The counterpoints worth taking seriously

The skeptics have real ammunition, and dismissing them is how fanboys get burned. The “acqi-death” worry is not crazy: corporate owners have suffocated beloved projects before, and a proprietary-to-open pivot right after an acquisition could just as easily be pre-departure cleanup as genuine openness. One commenter’s prediction—that Lattner chases another shiny thing within a year and the project quietly subsumes into Qualcomm—is a legitimate scenario, not trolling.

The Windows debate is also sharper than it looks. Mojo has supported macOS and Linux for years, and Windows devs have used it through WSL. Boosting that up to native Windows support—announced at ModCon alongside a Microsoft partnership—is exactly the kind of reach that determines whether Mojo stays a niche HPC/ML darling or becomes something the broader ecosystem must care about. Right now the people who deploy AI training run Linux in containers, and they genuinely don’t care about Windows. Native Windows is about the next million developers, not today’s thousand engineers.

And the language-critique lane is wide open. Julia fans are understandably sore that yet another “faster Python” keeps getting the attention. The Python-syntax-for-math tradeoff is a real one—Mojo chose familiarity over mathematical elegance. Early testers report a brutally CPU-heavy build (⅛c minutes on a Threadripper pinning every core) and GPU-detection rough edges, e.g. not recognizing an RTX Pro 6000 out of the box. These are early-adopter taxes, and they’re the honest cost of being first.

What actually matters here

Strip away the flames and the licensing pedantry, and the through-line is uncomfortable but clear: the moat in AI compute has never really been the silicon. It’s the software stack welded to it—CUDA, ROCm, and every kernel library that makes a GPU actually usable. That’s why the most interesting question in the thread is the Joel Spolsky-strategy one: is Qualcomm commoditizing its complements—giving away the software layer to make Mojo ubiquitous so that their own silicon looks appealing by default, and eroding Nvidia’s software gravity in the process?

The nontrivial part is that it might work. One commenter nailed the mechanism: build a new GPU today and your bring-up cost is double or triple, because you have to reimplement the entire existing software stack. If you plug into MAX (the runtime layer) instead, most of that stack arrives free, and bring-up collapses from months of engineering to weeks. Open-sourcing Mojo is a down payment on that ecosystem strategy—not an act of charity, and not a retreat. It’s Qualcomm buying optionality for every hardware vendor who would love to not depend on CUDA.

The takeaway

Judge Mojo’s openness by what people can actually do with it, not by the number of external commits merged. Right now, anyone can read the entire compiler, fork it, build it on their own machine, and ship a binary under Apache 2.0. That is real and durable value. But understand what it is: a controlled opening, staged by a team that has learned the lesson of the AI contribution flood the hard way.

The honest forecast is a coin flip, and the two failure modes are different. Either Mojo never escapes its excellent niche—a sharp tool for senior engineers who don’t care about Windows and already live in containers—or Qualcomm uses MAX and the now-open Mojo to quietly commoditize the GPU software layer and break CUDA’s grip. Both outcomes are interesting. One of them just changes the entire economics of AI hardware for the next decade.

Go clone the repo and read the compiler. Then decide for yourself which story you’re watching: a nice open-source release, or the opening move in a war for the software layer of the AI era.

Source: Modular’s announcement (“Mojo is now open source”) and the Hacker News discussion.