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:
bash git clone https://github.com/modular/modular.git cd modular Copy
Then, to build the Mojo compiler from source and run it against a Mojo file you can use a single build command:
bash ./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo Copy
... continue reading