Comment l'utilisation d'une gemme LGPL affecte-t-elle mon application sous licence MIT?

21

Je développe une application rubis open source sous licence MIT. J'utilise cette licence car je ne veux imposer aucune restriction aux utilisateurs de l'application. Je peux également lire et comprendre cette licence.

J'ai récemment commencé à utiliser un autre joyau rubis dans mon projet (nécessite "somegem"). Ce joyau rubis est sous licence LGPL.

Dois-je changer quelque chose à propos de mon projet parce que j'utilise cet autre joyau rubis sous licence LGPL? Mon projet ne contient pas le code source de l'autre gemme et il n'est pas livré avec mon projet. Il est simplement répertorié comme une dépendance afin que les gemmes ruby ​​l'installent et que mon projet l'appelle à partir de mon code.

De plus, il serait utile de savoir s'il existe des licences que je dois "surveiller" car leur utilisation affecterait la licence de mon projet.

Il existe d'autres articles sur ce sujet, mais formulés de différentes manières. Étant donné que je trouve cette licence délicate, j'espère obtenir une réponse à ma situation.

Merci,
Corsen

corsen
la source
1
Cela semble être une question pour les avocats, pas pour les programmeurs. (C'est-à-dire: c'est une bonne question, bien posée, que certains programmeurs peuvent avoir de l'expérience avec ... mais cela ne la rend pas appropriée pour Stack Overflow, car cela a très, très peu à voir avec la programmation.)
Phrogz
7
Phrogz: vous exagérez. C'est une simple question de licence, à laquelle répond explicitement le texte de la licence et de nombreuses FAQ. Vous n'avez vraiment pas besoin d'un avocat pour lire.
vartec

Réponses:

26

Cela n'affecte pas

LGPL - signifie Lesser GPL (utilisé pour signifier Library GPL). La différence significative avec la GPL est qu'elle n'impose pas la licence aux logiciels utilisant la bibliothèque. Seulement si vous modifiez la bibliothèque ou incluez directement des parties du code dans votre logiciel, alors votre code devra être LGPL. D'un autre côté, si vous utilisez simplement gem dans votre application, il est tout à fait correct de conserver votre application avec la licence qui vous convient.

La partie mentionnée de LGPL:

Un programme qui ne contient aucun dérivé d'aucune partie de la bibliothèque, mais qui est conçu pour fonctionner avec la bibliothèque en étant compilé ou lié avec elle, est appelé un "travail qui utilise la bibliothèque". Un tel travail, pris isolément, n'est pas un travail dérivé de la Bibliothèque et sort donc du champ d'application de cette Licence.

vartec
la source
1
Il y a quelques exigences supplémentaires pour la bibliothèque LGPL que vous devez satisfaire, surtout si vous codez en dur l'import dans un programme fermé. Dire cela ne signifie pas que vous devez mettre votre code sous LGPL, mais qu'il y a des exigences à respecter. Je ne suis pas ferme avec le mécanisme de liaison rubygen, probablement comparable à l'import java: LGPL et Java .
hakre
0

Dois-je changer quelque chose à propos de mon projet parce que j'utilise cet autre joyau rubis sous licence LGPL? Mon projet ne contient pas le code source de l'autre gemme et il n'est pas livré avec mon projet. Il est simplement répertorié comme une dépendance afin que les gemmes ruby ​​l'installent et que mon projet l'appelle à partir de mon code.

Le logiciel LGPL est une dépendance de votre logiciel. Il fait donc partie de votre logiciel. La LGPL permet d'être utilisée à partir de logiciels non libres (alors que le MIT est même un logiciel gratuit), donc être une dépendance n'est pas un bloqueur.

Cependant, comme c'est une dépendance, vous devez en offrir le code source si vous distribuez votre logiciel. Je n'ai aucune idée si le mécanisme requis dans ruby ​​fournit également des sources. Si c'est le cas, je dirais que vous distribuez déjà avec des sources. Sinon, vous devez vous assurer que pour chaque version de ce joyau dont vous avez besoin avec votre logiciel, vous offrez des sources.

Vous devriez probablement vous occuper des sources de toute façon, car il se peut que le projet tiers (la gemme) se déconnecte et que votre projet soit alors interrompu car il nécessite plus une gemme inexistante.

Ce n'est pas un conseil juridique, juste du point de vue des programmeurs. Considérez que les utilisateurs de votre logiciel vous demandent des sources car votre logiciel utilise la bibliothèque et elle peut être considérée comme une distribution car vous require "somegem"y avez écrit . La définition légale de la distribution peut ne pas correspondre aux attentes quotidiennes des programmeurs de graver des fichiers sur un CD-ROM. Il est donc sage d'avoir une conception plus large ici pour rester proactif au cas où les choses ne se passeraient pas comme prévu.

hakre
la source
1
"vous devez en offrir le code source si vous distribuez votre logiciel." non, vous ne le faites pas s'il est accessible au public.
vartec
1
@vartec: si vous distribuez, vous devez proposer une source. Ce n'est qu'en cas d'être non commercial et que le code n'est pas modifié que vous pouvez déléguer cette exigence au projet en amont (voir GPL). Si la bibliothèque n'est pas distribuée par vous (cependant, dans ce cas, il y a des instructions de configuration codées en dur que l'utilisateur ne peut pas changer, et en fait il y a des exigences dans la LGPL pouvant être remplacées, ce qui pourrait même casser la compatibilité LGPL), je pense qu'il est plus sûr de fournir sources de sorte que les exigences d'ingénierie inverse et de remplacement sont faciles à satisfaire.
hakre
@vartec: Être accessible au public signifie que vous ne distribuez pas. Si le distributeur de gemmes n'est pas en mesure de proposer des sources, la copie de la gemme peut ne pas être légitime.
hakre
LGPL, section 4.e "Fournir des informations d'installation, mais uniquement si vous seriez autrement tenu de fournir ces informations en vertu de l'article 6 de la GNU GPL, et uniquement dans la mesure où ces informations sont nécessaires pour installer et exécuter une version modifiée de la Œuvre combinée produite en recombinant ou en reliant l'application avec une version modifiée de la version liée. "
vartec
1
@vartec: Exactement. 4.e continue: "(Si vous utilisez l'option 4d0, les informations d'installation doivent accompagner la source minimale correspondante et le code d'application correspondant. Si vous utilisez l'option 4d1, vous devez fournir les informations d'installation de la manière spécifiée par la section 6 de la GNU GPL pour le transport de la source correspondante.) "
hakre