A licença de código-fonte aberto do MIT exige que os derivativos do trabalho sejam tornados públicos (sob licença do MIT)?


9

Estou procurando uma licença de código aberto para uma biblioteca que quero publicar. Idealmente, deve-se permitir o uso dessa biblioteca em aplicativos gratuitos ou comerciais sem me pagar uma taxa, mas se qualquer trabalho derivado da biblioteca for criado (qualquer melhoria da biblioteca, por exemplo), ele deverá ser disponibilizado a todos os que estiverem abaixo mesma licença.

Em outras palavras, quero colocar a seguinte ética: "Você se beneficia com esse trabalho de graça e, se o melhorar, também posso me beneficiar do seu aprimoramento de graça". É uma licença tipo copyleft que estou procurando.

A licença do MIT parece uma solução possível, mas não está claro para mim se os trabalhos derivados do código coberto por esta licença DEVEM ser disponibilizados PUBLICAMENTE a todos. Alguém pode esclarecer / confirmar isso? Se houver outra licença de código aberto mais apropriada para minhas necessidades, também estou interessado. Obrigado.


Uma discussão um pouco mais avançada está aqui: programmers.stackexchange.com/questions/12394/…
Dipan Mehta

Respostas:


9

A licença do MIT não exige que os trabalhos derivados sejam de código aberto. Você está procurando a GPL .

A GPL concede aos destinatários de um programa de computador os direitos da Definição de Software Livre e usa copyleft para garantir que as liberdades sejam preservadas sempre que o trabalho for distribuído, mesmo quando o trabalho for alterado ou adicionado a ele. A GPL é uma licença copyleft, o que significa que as obras derivadas só podem ser distribuídas sob os mesmos termos de licença ...


11
A GPL força o usuário a publicar trabalhos derivados na GPL, o que está pressionando demais as restrições. Eu só quero que modificações da minha biblioteca sejam disponibilizadas. Devo usar LGPL?
Jérôme Verstrynge

8
Nesse caso, sim - a LGPL é mais apropriada.
Ant

Observe que o (L) GPL é acionado apenas na redistribuição. Um usuário final que cria um trabalho derivado apenas para uso privado não está sujeito às obrigações (L) GPL. Ou seja, estritamente falando, essa não é uma resposta para a pergunta formulada.
MSalters

7
@MSalters: Eu acho que seria quase impossível saber que alguém havia derivado algo do seu código, a menos que o tenha publicado de alguma forma, tornando essa questão um tanto discutível.
Ant

6

Resposta curta

Uma combinação da Licença Pública Eclipse e da LGPL garante exatamente o que você deseja: As modificações do seu código precisam ser disponibilizadas, mas a utilização do código em um produto maior não força o licenciamento do produto maior. A combinação é necessária para permitir que o código seja usado em projetos GPL e não GPL.

É assim que projetos como o JGraphT fizeram. Eles relicenciaram seu projeto sob EPL e LGPL. A motivação e o procedimento estão descritos em seu wiki .

Resposta longa

Eu acho que a Mozilla Public License ( MPL ) ou a Eclipse Public License ( EPL ) é a licença que você está procurando, porque "se qualquer trabalho derivado da biblioteca for criado (qualquer melhoria da biblioteca, por exemplo), será [IS ] disponibilizado para todos sob a mesma licença ".

A licença MPL e EPL é entre GPL e MIT.

O MIT permite que o usuário faça tudo com ele, incluindo modificação, venda e não devolução do código modificado à comunidade.

A GPL força o usuário a distribuir todo o código para a comunidade, mesmo que sua biblioteca seja apenas 1% de todo o produto.

A LGPL força o usuário a renunciar à modificação da parte LGPL do código.

MPL e EPL são semelhantes ao LGPL: também força o usuário a disponibilizar a fonte modificada. "Fonte modificada" inclui apenas a parte do código coberto por MPL / EPL. Isso significa que o usuário pode criar um novo produto a partir da sua biblioteca. Se ele modificar a parte MPL- / EPL, ele deverá publicá-la. As coisas novas por ele não precisam ser publicadas.

Sinto que o MPL / EPL é mais adequado, pois a LGPL fala explicitamente sobre "bibliotecas" e a MPL apenas fala sobre "Software Coberto" (que é um escopo mais amplo).

No entanto, a escolha da EPL causa problemas ao combinar o software com o software GPL: O EPL não é compatível com a GPL . Este não é o caso se você apenas usar o MPL .

Se você deseja garantir que seu código possa ser usado em projetos GPL e não GPL, licencie o código sob LGPL e EPL, conforme descrito na resposta curta.

Exemplos

  • JGraphT
  • logback
  • qooxdoo . Eles planejam "simplificar e modernizar os termos de licenciamento do qooxdoo" e, portanto, passam do licenciamento duplo para o MIT.

Você pode explicar por que você acha que o MPL se encaixa nos critérios que o OP está procurando?
Maple_shaft

A 'licença dupla' deve ser semelhante a 'se você usar este software em um produto da GPL, este software é licenciado para você pela GPL, ou pela MPL'? Existem projetos que fazem isso?
9000

@ 9000 De acordo com as perguntas frequentes do GNU , o código é coberto pelo MPL e pelo GNU. O segundo parágrafo é um pouco estranho e eu não entendi as implicações.
24415 koppor

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.