Como o uso de uma gema LGPL afeta meu aplicativo licenciado no MIT?

21

Estou desenvolvendo um aplicativo ruby ​​de código aberto sob a licença MIT. Estou usando esta licença porque não quero impor restrições aos usuários do aplicativo. Também posso ler e entender esta licença.

Recentemente, comecei a usar outra gema de rubi no meu projeto (requer "somegem"). Esta gema rubi está sob a licença LGPL.

Preciso alterar alguma coisa no meu projeto porque estou usando outra gema de rubi licenciada com LGPL? Meu projeto não contém o código fonte da outra gema e não é enviado com o meu projeto. Ele é simplesmente listado como uma dependência, para que o ruby ​​gems o instale e meu projeto o chame pelo código.

Além disso, seria útil saber se há alguma licença que eu precise "prestar atenção", pois usá-las afetaria a licença do meu projeto.

Há algum outro post sobre esse tópico, mas formulado de maneiras diferentes. Como acho complicado esse material de licença, espero obter uma resposta direcionada à minha situação.

Obrigado
Corsen

corsen
fonte
1
Parece uma pergunta para advogados, não para programadores. (Ou seja: essa é uma boa pergunta, muito solicitada, que alguns programadores podem ter experiência com ... mas isso não a torna apropriada para o Stack Overflow, pois tem muito, muito pouco a ver com a programação.)
Phrogz
7
Phrogz: você está exagerando. É uma pergunta simples de licenciamento, que é respondida explicitamente pelo texto da licença e por várias perguntas frequentes. Você realmente não precisa de um advogado para ler.
vartec

Respostas:

26

Não afeta

LGPL - significa Menor GPL (usado para significar Biblioteca GPL). A diferença significativa com a GPL é que ela não impõe a licença no software usando a biblioteca. Somente se você modificar a biblioteca ou incluir diretamente partes do código em seu software, seu código deverá ser LGPL. Por outro lado, se você estiver usando apenas gemas em seu aplicativo, é perfeitamente bom mantê-lo com qualquer licença que desejar.

A parte mencionada da LGPL:

Um programa que não contém nenhum derivado de qualquer parte da Biblioteca, mas foi projetado para funcionar com a Biblioteca sendo compilado ou vinculado a ela, é chamado de "trabalho que usa a Biblioteca". Tal trabalho, isoladamente, não é um trabalho derivado da Biblioteca e, portanto, está fora do escopo desta Licença.

vartec
fonte
1
Há mais alguns requisitos para a biblioteca LGPL que você precisa atender, especialmente se você codificar a importação dentro de um programa fechado. Dizer isso não significa que você precisa colocar seu código na LGPL, mas que existem requisitos a serem atendidos. Não sou firme com o mecanismo de vinculação de oxigênio, provavelmente é comparável à importação de java: o LGPL e o Java .
hakre
0

Preciso alterar alguma coisa no meu projeto porque estou usando outra gema de rubi licenciada com LGPL? Meu projeto não contém o código fonte da outra gema e não é enviado com o meu projeto. Ele é simplesmente listado como uma dependência, para que o ruby ​​gems o instale e meu projeto o chame pelo código.

O software LGPL'ed é uma dependência do seu software. Então, na verdade, faz parte do seu software. A LGPL permite ser usada a partir de software não-livre (enquanto o MIT é mesmo software livre), portanto, ser uma dependência não é um bloqueador.

No entanto, como é uma dependência, você precisa oferecer o código-fonte se distribuir o software. Não tenho idéia se o mecanismo de exigência dentro do ruby ​​sempre fornece fontes também. Nesse caso, eu diria que você já distribui com fontes. Caso contrário, você precisa cuidar de todas as versões dessa gema que você precisa com o seu software para o qual você oferece fontes.

Você provavelmente deve cuidar das fontes de qualquer maneira, porque pode ser que o projeto de terceiros (a gema) fique offline e seu projeto seja interrompido, pois exige mais uma gema não existente.

Este não é um conselho legal, apenas da perspectiva de programadores. Considere que os usuários do seu software solicitam fontes de você à medida que o software utiliza a biblioteca e ela pode ser vista como distribuição porque você escreveu require "somegem"lá. A definição legal de distribuição pode não corresponder à expectativa diária de programadores de gravar arquivos em um CD-ROM. Portanto, é aconselhável ter uma concepção mais ampla aqui para permanecer proativo, caso as coisas não saiam como o esperado.

hakre
fonte
1
"você precisa oferecer o código-fonte dele se distribuir seu software." não, se não estiver disponível ao público.
Vartec
1
@artec: se você distribuir, precisará oferecer a fonte. Somente no caso de não ser comercial e o código não ser alterado, você poderá delegar esse requisito ao projeto upstream (consulte GPL). Se a biblioteca não for distribuída por você (no entanto, neste caso, existem instruções de configuração codificadas por hardware que o usuário não pode alterar e, na verdade, existem requisitos substituíveis pela LGPL, portanto isso pode até prejudicar a compatibilidade com a LGPL), acho que é mais seguro fornecer fontes para que os requisitos de engenharia reversa e substituição sejam fáceis de serem atendidos.
hakre
@artec: Estar disponível ao público significa que você não distribui. Se o distribuidor da gema não puder oferecer fontes, a cópia da gema pode não ser legítima.
hakre
LGPL, seção 4.e "Forneça informações de instalação, mas somente se você for solicitado a fornecer essas informações sob a seção 6 da GNU GPL, e somente na medida em que essas informações sejam necessárias para instalar e executar uma versão modificada do Trabalho combinado produzido recombinando ou vinculando novamente o aplicativo com uma versão modificada da versão vinculada. "
Vartec
1
@vartec: Exatamente. 4.e continua: "(Se você usar a opção 4d0, as informações de instalação deverão acompanhar a fonte correspondente mínima e o código de aplicativo correspondente. Se você usar a opção 4d1, deverá fornecer as informações de instalação da maneira especificada na seção 6 da GNU GPL para transmitir a fonte correspondente.) "
hakre