Mojo passa a ser código aberto sob Apache 2.0, contribuições continuam fechadas
A Modular abriu o código do compilador e das ferramentas do Mojo sob Apache 2.0, uma semana após o Mojo 1.0, mas não aceitará contribuições externas ao compilador até o fim de 2026.
3 min de leitura

Em números
- license, with LLVM exceptions
- Apache 2.0
- version shipped the week before, with source stability
- 1.0
- year the standard library began taking contributions
- 2024
A Modular abriu o código do compilador do Mojo e de suas ferramentas em 18 de agosto sob a licença Apache 2.0 com exceções da LLVM, colocando a última peça fechada da linguagem no GitHub uma semana após o lançamento do Mojo 1.0. O porém para quem espera enviar um patch: a Modular afirma que ainda não aceita contribuições ao compilador nem às ferramentas, e pretende começar "até o fim deste ano".
O que realmente foi aberto e o que não foi
A biblioteca padrão do Mojo está aberta desde 2024, junto com o que o anúncio da Modular descreve como centenas de milhares de linhas de código de kernel escritas em Mojo. O compilador e as ferramentas ao seu redor eram os componentes fechados restantes, e são eles que se moveram esta semana.
| Componente | Situação |
|---|---|
| Biblioteca padrão | Aberta desde 2024, aceita contribuições |
| Código de kernel escrito em Mojo | Já aberto |
| Compilador | Código publicado em 18 de agosto; contribuições ainda não aceitas |
| Ferramentas | Código publicado em 18 de agosto; contribuições ainda não aceitas |
A distinção importa mais do que parece. Publicar o código-fonte sob Apache 2.0 concede os direitos que tornam uma linguagem segura para construir uma empresa sobre ela: uso, modificação, redistribuição e uma concessão explícita de patente. Aceitar contribuições é uma questão de governança separada, e a Modular lhe deu uma data em vez de deixá-la em aberto.
Por que Apache 2.0 especificamente
O anúncio da Modular transforma a escolha da licença em um argumento explícito: "A licença Apache 2.0 é o padrão de ouro para linguagens de programação e compiladores, porque oferece grande flexibilidade para ser usada em todo tipo de aplicação." A exceção da LLVM anexada a ela é o mesmo arranjo que a própria LLVM usa, e existe para impedir que os termos da licença alcancem a saída do compilador - o que é o que a torna utilizável para software proprietário construído com a cadeia de ferramentas.
Essa linhagem não é coincidência. O Mojo foi criado por Chris Lattner, que, como observa a Phoronix, é o arquiteto por trás tanto da LLVM quanto do Swift, e a linguagem se apoia na mesma infraestrutura de compilação.
A questão da Qualcomm
Ambas as fontes observam que o anúncio surge após a aquisição da Modular pela Qualcomm; a Modular agora se descreve como uma empresa Qualcomm. A Phoronix enquadra a abertura do código como inesperada nesse contexto, apontando para o que chama de histórico misto da Qualcomm com o código aberto.
Lido de outra forma, um lançamento sob Apache 2.0 imediatamente após uma aquisição é o sinal mais forte que um projeto de linguagem adquirido pode enviar sobre continuidade - a licença não pode ser revogada para o código já publicado. Se essa continuidade se estende ao roteiro e à janela de contribuição prometida é a parte que ainda falta demonstrar.
O que isso significa para os desenvolvedores
Se você avaliou o Mojo antes e parou no compilador fechado, essa objeção específica agora acabou: você pode ler o compilador, compilá-lo, fazer um fork e distribuir software proprietário sobre ele sem uma questão de licença pairando sobre a cadeia de ferramentas. Essa é a diferença entre uma linguagem com a qual você pode experimentar e uma que você pode justificar em uma avaliação tecnológica.
O que não mudou foi o caminho para contribuir. Abrir uma issue vale a pena; planejar um trabalho que dependa da integração de um patch do compilador, não
- até que a Modular abra essa porta. Ela diz que será até o fim de 2026, então trate qualquer coisa antes disso como um bônus, e não como um plano.
Duas observações práticas da cobertura da Phoronix valem uma verificação em relação ao seu próprio ambiente antes de investir tempo. O suporte a plataformas abrange macOS e Linux, com o Windows ainda em desenvolvimento - se a sua equipe é voltada primeiro para o Windows, a saída é WSL ou um contêiner, não ferramentas nativas. E o Mojo interopera com o Python nos dois sentidos, chamando o Python a partir do Mojo e vice-versa, que é o que torna realista uma adoção incremental: você pode mover um único caminho crítico em vez de reescrever uma base de código para experimentar a linguagem.
O número da versão é o outro sinal a ponderar. O Mojo 1.0 chegou apenas uma semana antes deste lançamento, e a Modular o combina com um compromisso de estabilidade do código-fonte - o ponto em que uma linguagem deixa de se mover sob seus pés entre lançamentos. Para quem vinha esperando o Mojo deixar de ser um experimento antes de dedicar tempo real de engenharia a ele, o rótulo 1.0 somado a um compilador sob Apache 2.0 é a combinação que estava faltando.
Continuação: Mojo 1.1 passa a aceitar contribuições externas ao compilador.
Fontes
Artigos relacionados

Mojo 1.1 passa a aceitar contribuições externas ao compilador
O Mojo 1.1 aceita contribuições externas ao compilador um mês após a liberação sob Apache 2.0, e completa a remoção de fn, alias e @parameter if.

Python 3.15.0 chega com lazy imports e frozendict
O Python 3.15.0 chegou em 9 de outubro com 5.643 commits de 1.012 colaboradores: lazy imports, um frozendict embutido, UTF-8 por padrão e um JIT mais rápido.

Zig 0.17.0 traz um sistema de build dividido e rebuilds rápidos
O Zig 0.17.0 saiu em 2 de outubro com 925 commits de 206 colaboradores: um sistema de build reformulado, builds incrementais no Linux x86_64 e o LLVM 22.1.8.