Verificador de compatibilidade de licenças
Verifique se você pode combinar o código de outra pessoa com o seu projeto e distribuí-lo. O resultado é uma interpretação geral e pode mudar quando há exceções ou permissões adicionais.
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.
Tabela completa de compatibilidade
As linhas são o código importado; as colunas, o projeto no qual ele será combinado e distribuído. Considera-se o caso de copiar ou combinar o código e distribuí-lo como um único programa.
| Código ↓ / Projeto → | Software proprietário | MIT | Apache-2.0 | GPL-3.0 | GPL-2.0 | GPL-2.0+ | LGPL-3.0 | LGPL-2.1 | AGPL-3.0 | MPL-2.0 | EPL-2.0 | BSD-3-Clause | BSD-2-Clause | ISC | 0BSD | BSL-1.0 | Unlicense | CC0-1.0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIT | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido com condições | Permitido | Permitido com condições | Permitido com condições |
| Apache-2.0 | Permitido | Permitido | Permitido | Permitido | Não permitido | Permitido com condições | Permitido | Não permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido com condições | Permitido | Permitido com condições | Permitido com condições |
| GPL-3.0 | Não permitido | Não permitido | Não permitido | Permitido | Não permitido | Permitido com condições | Permitido com condições | Permitido com condições | Permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido |
| GPL-2.0 | Não permitido | Não permitido | Não permitido | Não permitido | Permitido | Permitido com condições | Não permitido | Permitido com condições | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido |
| GPL-2.0+ | Não permitido | Não permitido | Não permitido | Permitido | Permitido | Permitido | Permitido com condições | Permitido com condições | Permitido com condições | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido |
| LGPL-3.0 | Permitido com condições | Permitido com condições | Permitido com condições | Permitido | Não permitido | Permitido com condições | Permitido | Permitido com condições | Permitido | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições |
| LGPL-2.1 | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições |
| AGPL-3.0 | Não permitido | Não permitido | Não permitido | Permitido com condições | Não permitido | Permitido com condições | Permitido com condições | Permitido com condições | Permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido | Não permitido |
| MPL-2.0 | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições |
| EPL-2.0 | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições | Permitido com condições |
| BSD-3-Clause | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido com condições | Permitido | Permitido com condições | Permitido com condições |
| BSD-2-Clause | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido com condições | Permitido | Permitido com condições | Permitido com condições |
| ISC | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido com condições | Permitido | Permitido com condições | Permitido com condições |
| 0BSD | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido |
| BSL-1.0 | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido com condições | Permitido | Permitido com condições | Permitido com condições |
| Unlicense | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido |
| CC0-1.0 | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido | Permitido |
O que é compatibilidade
Dizer que duas licenças são 'compatíveis' significa que um programa único que combina os dois códigos pode ser distribuído cumprindo as condições de ambas. Há uma direção: colocar código MIT em um projeto GPL funciona, mas colocar código GPL em um projeto MIT faz com que toda a obra combinada siga as condições da GPL, então ela não pode continuar sendo um 'projeto MIT'.
Situação que esta tabela pressupõe
- Você copia ou combina estaticamente o código de outra pessoa e o distribui como um único programa.
- Se o uso é apenas interno, sem distribuição, a maioria das condições não se aplica (a cláusula de rede da AGPL é a exceção).
- Quando os programas rodam em processos separados ou se comunicam só por linha de comando ou rede, pode-se entender que há um 'agregado' (aggregate), e não uma 'combinação', e a conclusão pode mudar.
- Apenas usar uma biblioteca LGPL por vinculação dinâmica é bem mais tolerante do que a tabela. Veja o item 'Use a library' da matriz de compatibilidade GNU.
Fundamentos da avaliação
- Combinações entre licenças GNU: matriz de compatibilidade da 'FAQ das licenças GNU' da FSF (critério copy code)
- Apache-2.0 e GPL: lista de licenças da FSF — compatível com a GPL-3.0, incompatível com a GPL-2.0
- MPL-2.0: seção 1.12 (Secondary License) e seção 3.3 (Larger Work) do texto
- EPL-2.0: Exhibit A do texto (designação de Secondary License)
Código com exceções (por exemplo, Classpath Exception, Linux-syscall-note) ou permissões adicionais pode diferir da tabela. Quando a decisão for importante, consulte o texto das licenças e a opinião de um especialista.