Copyleft fraco

Mozilla Public License 2.0

Copyleft por arquivo: basta divulgar os arquivos MPL modificados, e o restante do código pode ter qualquer licença. Também pode ser combinada com a GPL.

SPDXMPL-2.0

Permissões, condições e limitações em resumo

Permissões

  • Uso comercialO original e as obras derivadas podem ser usados para fins comerciais.
  • ModificaçãoO código pode ser modificado.
  • DistribuiçãoO código pode ser distribuído.
  • Uso de patentesOs contribuidores concedem expressamente direitos de uso de patentes.
  • Uso privadoO código pode ser usado e modificado internamente, sem publicação.

Condições

  • Divulgar o código-fonteAo distribuir, é preciso fornecer o código-fonte.
  • Aviso de copyright e licençaAo distribuir, é preciso incluir uma cópia da licença e o aviso de direitos autorais.
  • Mesma licença (por arquivo)Modificações em arquivos existentes devem ser distribuídas sob a mesma licença.

Limitações

  • Limitação de responsabilidadeDeclara expressamente que não há responsabilidade por danos.
  • Uso de marcasDeclara expressamente que não concede direitos de marca.
  • Sem garantiaDeclara expressamente que não oferece nenhuma garantia.

Classificação de permissões, condições e limitações: dados do choosealicense.com (GitHub, licença MIT).

Que licença é esta

A MPL 2.0 foi publicada pela Mozilla Foundation em janeiro de 2012. É usada por produtos da Mozilla, como Firefox e Thunderbird, e se caracteriza por definir o alcance do copyleft por arquivo. Os arquivos sob MPL (e as partes modificadas desses arquivos) devem ter o código-fonte divulgado sob a MPL, mas arquivos novos e separados podem ter outra licença, e o 'Larger Work' (seção 3.3) que combina código MPL pode ser distribuído como um todo nas condições que você quiser. Também há concessão explícita de patentes e cláusula que a encerra em caso de litígio de patentes.

O que cumprir ao distribuir

Secondary License e compatibilidade com a GPL

A seção 1.12 da MPL-2.0 define a GPL-2.0, a LGPL-2.1, a AGPL-3.0 e suas versões posteriores como 'Secondary License'. Pela seção 3.3, um Larger Work que combina código MPL com código sob licença GNU pode ser distribuído sob a licença GNU. Mas, se o autor original tiver colocado no arquivo o aviso do Exhibit B ('Incompatible With Secondary Licenses'), essa compatibilidade não se aplica. A MPL-1.1 não tinha esse mecanismo e era incompatível com a GPL; isso foi corrigido na 2.0.

Equívocos comuns

Como aplicar

Coloque o texto em LICENSE e, de preferência, o aviso do Exhibit A ('This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0…') no topo de cada arquivo-fonte. Se for difícil colocá-lo no arquivo, pode ser em um lugar onde o destinatário provavelmente procuraria, como o arquivo LICENSE do diretório correspondente. O identificador SPDX é MPL-2.0 (com Exhibit B, MPL-2.0-no-copyleft-exception).

Quando faz sentido

É um bom meio-termo quando você quer receber de volta as melhorias da biblioteca ou do motor em si, sem restringir a licença dos produtos que o usam. As condições são mais simples que as da LGPL e não há o problema da vinculação estática. Houve também o caso em que a HashiCorp trocou a licença do Terraform de MPL-2.0 para BUSL em 2023, e a comunidade fez o fork da versão MPL-2.0 como OpenTofu.

Posso colocar código MPL-2.0 em outro projeto?

Avaliação geral para quando você pega código publicado sob esta licença e o distribui combinado com um projeto sob as licenças abaixo. Ver outras combinações no verificador de compatibilidade →

Projeto de destinoResultadoObservação
Software proprietário (comercial) Permitido com condiçõesOs arquivos MPL mantêm a MPL-2.0 arquivo por arquivo, e é preciso fornecer o código-fonte desses arquivos. O restante do código pode ficar sob outra licença.
MIT Permitido com condiçõesOs arquivos MPL mantêm a MPL-2.0 arquivo por arquivo, e é preciso fornecer o código-fonte desses arquivos. O restante do código pode ficar sob outra licença.
Apache-2.0 Permitido com condiçõesOs arquivos MPL mantêm a MPL-2.0 arquivo por arquivo, e é preciso fornecer o código-fonte desses arquivos. O restante do código pode ficar sob outra licença.
LGPL-2.1 Permitido com condiçõesA MPL-2.0 reconhece a GPL-2.0 ou posterior, a LGPL-2.1 ou posterior e a AGPL-3.0 ou posterior como 'Secondary License', permitindo distribuir a obra combinada sob a licença GNU. Isso não vale se o autor original tiver incluído 'Incompatible With Secondary Licenses' (Exhibit B).
LGPL-3.0 Permitido com condiçõesA MPL-2.0 reconhece a GPL-2.0 ou posterior, a LGPL-2.1 ou posterior e a AGPL-3.0 ou posterior como 'Secondary License', permitindo distribuir a obra combinada sob a licença GNU. Isso não vale se o autor original tiver incluído 'Incompatible With Secondary Licenses' (Exhibit B).
GPL-2.0 Permitido com condiçõesA MPL-2.0 reconhece a GPL-2.0 ou posterior, a LGPL-2.1 ou posterior e a AGPL-3.0 ou posterior como 'Secondary License', permitindo distribuir a obra combinada sob a licença GNU. Isso não vale se o autor original tiver incluído 'Incompatible With Secondary Licenses' (Exhibit B).
GPL-3.0 Permitido com condiçõesA MPL-2.0 reconhece a GPL-2.0 ou posterior, a LGPL-2.1 ou posterior e a AGPL-3.0 ou posterior como 'Secondary License', permitindo distribuir a obra combinada sob a licença GNU. Isso não vale se o autor original tiver incluído 'Incompatible With Secondary Licenses' (Exhibit B).
AGPL-3.0 Permitido com condiçõesA MPL-2.0 reconhece a GPL-2.0 ou posterior, a LGPL-2.1 ou posterior e a AGPL-3.0 ou posterior como 'Secondary License', permitindo distribuir a obra combinada sob a licença GNU. Isso não vale se o autor original tiver incluído 'Incompatible With Secondary Licenses' (Exhibit B).

O conteúdo deste site é informação geral e não constitui aconselhamento jurídico. Para decisões reais de distribuição, contratos ou disputas, consulte um advogado ou outro profissional.