Encontrar a licença certa para oferecer suporte apenas à comunidade de código aberto. GPLv3 muito estrito, LGPLv3 muito permissivo
Eu criei uma biblioteca de código aberto ( https://github.com/pitschr/knx-link) que é projetado para ser usado por outros projetos de código aberto; não por usuários finais. Atualmente está licenciado como GPLv3.
Meu principal objetivo é que todo projeto que use minha biblioteca seja de código aberto . Para mim, pessoalmente, não importa se o outro projeto que usa minha biblioteca é licenciado, por exemplo, Apache-2.0 ou MIT, desde que o projeto usado pelo usuário final seja de código aberto, por exemplo, GitHub.
Com base em licenças diferentes, vejo que:
- LGPLv3 não seria a escolha certa, pois permite ser vinculado por um software proprietário
- A GPLv3 parece ser muito rígida para mim, pois exige que outro software também seja licenciado como GPLv3. Além disso, a GPLv3 não permite o uso por um projeto licenciado sob Apache-2.0 / MIT
- As licenças Apache-2.0 e MIT não parecem ser a opção para mim, pois podem ser usadas por software proprietário diretamente
Não consegui encontrar a licença certa para o meu propósito. Mais uma vez, não há problema em usar minha biblioteca, desde que o projeto / software do usuário final seja de código-fonte aberto sem exigir que ele também seja licenciado sob a GPLv3 . Meu principal objetivo é apoiar apenas a comunidade de código aberto!
Estou sozinho com a ideia? Qual é a melhor forma de o conseguir? Qual licença seria mais adequada para mim?
Obrigado, Christoph (que está um pouco confuso)
Respostas
Existem duas abordagens fundamentalmente diferentes sobre licenças de código aberto:
a) os permissivos como MIT, Apache etc que - grosso modo - não se importam com o que acontece com suas fontes, desde que os créditos sejam mantidos e comunicados.
b) E há as licenças de código aberto mais estritamente, as licenças de cópia esquerda, que querem garantir que qualquer derivado permaneça também de código aberto, mais notavelmente a licença GPL.
A licença é geralmente escolhida pelos autores (iniciais) por uma razão que ele deseja o primeiro ou o último.
Como a licença que você procura pode ser elaborada, mas tem pouca utilidade: um projeto licenciado de forma permissiva não gostaria de fazer uso de uma licença que só pode ser usada em projetos de código aberto; sua licença foi escolhida particularmente de forma que o uso proprietário seja possível.
Um projeto já com uma licença copy-left também não precisa dessa licença - ele também poderia usar a GPL, que garante exatamente isso: ser open source e permanecer open source.
Como tal, pode-se até argumentar que uma licença que pode ser usada apenas em um projeto de código aberto já existe: a GPL. A maioria das licenças de código aberto são compatíveis com a GPL no sentido de que podem ser usadas em um projeto licenciado pela GPL (simplesmente mudando a licença para GPL para o software derivado / combinado - mesmo quando existem exceções notáveis como a incompatibilidade com Apache ou MPL )
Digamos que alguém use seu projeto (licenciado sob sua licença personalizada) em um aplicativo licenciado pelo MIT. Como a licença do MIT permite explicitamente que o software seja distribuído com código fechado, sua licença personalizada seria ineficaz e não faria sentido.
Se você não deseja que sua biblioteca seja usada em software proprietário, a melhor escolha seria a GNU GPL.
Existem licenças compatíveis com GNU GPL. O software com licença GNU GPL pode conter código sob qualquer licença compatível.