Mojo passa a ser código aberto sob Apache 2.0, contribuições continuam fechadas
3 min de leitura
Em números
- Apache 2.0
- license, with LLVM exceptions
- 1.0
- version shipped the week before, with source stability
- 2024
- year the standard library began taking contributions

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.