Pular para o conteúdo

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.

Por Tech AI Wire Team

3 min de leitura

XLinkedIn
The Mojo flame logo printed on a white card with a red open padlock in front of it

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.

ComponenteSituação
Biblioteca padrãoAberta desde 2024, aceita contribuições
Código de kernel escrito em MojoJá aberto
CompiladorCódigo publicado em 18 de agosto; contribuições ainda não aceitas
FerramentasCó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

  1. Mojo is now open source! - Modular
  2. Modular's Mojo Language Now Open-Source Following Qualcomm Acquisition - Phoronix

Artigos relacionados