Restrictions relatives aux licences open source GPL et LGPL [fermé]

108

J'ai du mal à comprendre les autorisations d'utilisation de l'open source. J'ai lu quelque part que la GPL ou la LGPL impose que les logiciels qui utilisent des logiciels GPL doivent également être publiés en open source. Je souhaite créer une application qui utilise une bibliothèque de reconnaissance d'images open source. Puis-je vendre cette application ou doit-elle être open source?

Merci!

rsinha
la source

Réponses:

80

LGPL vous permet d'utiliser et de distribuer le logiciel open source avec votre application sans publier le code source de votre application.

La GPL vous oblige à publier le code source de votre application si vous choisissez d'utiliser et de distribuer le logiciel open source sous licence GPL avec votre application. En d'autres termes, votre application doit également être sous licence GPL.

Robert Harvey
la source
14
Notez que la LGPL indique que la bibliothèque utilisée doit être remplaçable. Ainsi, la liaison statique n'est pas possible.
Dykam
1
Donc une «DLL» (Dynamic Link Library) serait légale, n'est-ce pas?
Robert Harvey
Ce n'est que si vous fournissez également le code source de cette DLL, ainsi que les fichiers d'en-tête ou la documentation nécessaires pour pouvoir s'interfacer avec le reste de l'application, si quelqu'un souhaite modifier fortement, ou réécrire à partir de zéro, que DLL.
thomasrutter
49
  • GPL

    D'autres développeurs peuvent emprunter et modifier le code et le redistribuer dans le cadre de leur propre projet, uniquement si l'ensemble de leur projet est également sous licence GPL.

    Cela empêche le code d'être utilisé dans un logiciel propriétaire.

  • LGPL

    D'autres développeurs peuvent emprunter et modifier le code et le redistribuer dans le cadre de leur propre projet, à condition que la partie utilisée sous la LGPL soit renouvelée sous la LGPL. D'autres parties du projet sont autorisées avec d'autres licences.

    Cela permet au code d'être utilisé dans un logiciel autrement propriétaire.

La LGPL a un certain nombre de conditions supplémentaires qui doivent être remplies afin de pouvoir la distribuer dans un projet avec une autre licence. Par exemple, il doit être possible pour toutl'utilisateur du logiciel fini pour modifier, recompiler ou remplacer la partie du logiciel sous licence LGPL et utiliser ce code modifié avec le même logiciel. Si vous publiez par ailleurs un logiciel propriétaire contenant du code LGPL, une façon de satisfaire cette exigence est de placer le code LGPL dans une bibliothèque distincte liée dynamiquement, et de distribuer avec votre logiciel les fichiers d'en-tête et la documentation nécessaires pour recompiler la LGPL. partie de telle sorte qu'il puisse toujours être lié et utilisé avec le logiciel tel qu'il est fourni. Il n'est pas acceptable de prendre des mesures pour empêcher la modification du code LGPL telle que masquer le code lui-même ou l'API ou les fichiers d'en-tête.

Notez que la LGPL est compatible avec la GPL: vous pouvez choisir de "mettre à jour" le code en GPL et de l'incorporer dans un projet entièrement sous licence GPL comme indiqué dans mon premier point si vous le souhaitez. Vous ne pouvez cependant pas aller dans l'autre sens et ré-licencier le code sous licence GPL en tant que LGPL.

thomasrutter
la source
30

IANAL, mais les concepts sont assez simples.

Tout d'abord, vous et votre avocat devez lire les licences GPL et LGPL . Deuxièmement, vous devriez lire la FAQ GPL . Autant que je sache, vous pouvez penser à utiliser les bibliothèques GPL / LGPL de cette manière:

  • Si vous créez un lien dynamique ou statique avec une bibliothèque GPL ou LGPL, vous avez créé une œuvre dérivée.
  • Si vous utilisez une bibliothèque sous GPL et que vous créez un lien avec cette bibliothèque, votre logiciel doit être publié avec une licence compatible .
  • Si vous utilisez une bibliothèque qui est LGPL et que vous établissez un lien dynamique avec cette bibliothèque, votre logiciel n'a pas besoin d'être publié avec une licence compatible, mais vous devez tout de même vous conformer à la LGPL.
  • Si vous utilisez une bibliothèque qui est LGPL et que vous établissez un lien statique avec cette bibliothèque, votre logiciel doit être publié avec une licence compatible.
  • Les licences GPL / LGPL signifient «libre» comme dans «liberté d'expression», pas «bière gratuite» . Vous pouvez créer une œuvre dérivée et la vendre pour de grosses sommes d'argent, mais vous devez vous conformer à la GPL / LGPL.
Jared Oberhaus
la source
29
"Tout d'abord, vous et votre avocat devez lire les licences GPL et LGPL." - tuez-moi maintenant
d512
10
"simple". Si simple en fait que vous devez engager un avocat juste pour voir si vous pouvez utiliser un peu de code. C'est pourquoi les développeurs ne doivent jamais utiliser de licences GPL.
Womble
9

Si vous coupez et collez ou créez un lien avec du code GPL dans votre application, votre application doit être sous licence GPL et vous êtes alors tenu de publier le code.

Cependant, vous pouvez toujours vendre votre application et afaik, la seule obligation est que vous communiquez le code source à vos clients.

Si la bibliothèque avec laquelle vous liez est une licence publique Gnu moindre, alias LGPL, vous n'avez pas besoin de publier le code de votre propre application, mais vous êtes toujours tenu de publier toutes les modifications si vous avez modifié le code lgpl'd.

Rasjani
la source
"communiquez le code source à vos clients" - vraiment? seulement à eux? Je pensais que le src devait être rendu public?
relascope
Im pas de langue maternelle anglaise ni avocat. gnu.org/licenses/gpl-faq.html#WhatDoesWrittenOfferValid indique que la plupart fournissent la source à quiconque a accès au binaire. Il ne dit pas que n'importe qui peut demander la source, mais n'importe qui qui a reçu le binaire, soit directement de vous ou par vos clients directs.
rasjani
le déclare directement, uniquement aux clients ... "Mais si vous publiez la version modifiée au public d'une manière ou d'une autre, la GPL vous oblige à mettre le code source modifié à la disposition des utilisateurs du programme, sous la GPL."
relascope
7

GPL ne vous interdit pas de vendre des logiciels. Cependant, vous devez mettre les sources à disposition du logiciel.

La question de l'usage est un peu plus compliquée. GNU / Linux est publié sous la GPL. Rien ne vous interdit d'écrire des logiciels fonctionnant sous Linux quelle que soit la licence de votre logiciel. Cependant, vous ne pouvez pas distribuer Linux avec votre logiciel. C'est souvent un problème avec les bibliothèques qui doivent faire partie d'un programme. C'est à cela que sert la licence LGPL. Vous pouvez compiler un programme ac que vous écrivez avec gcc (donc en utilisant les bibliothèques de routine d'exécution sous licence LGPL de gcc) et toujours publier votre logiciel sans les restrictions de la GPL.

Je pense que c'est l'essentiel. Cependant, ce n'est en aucun cas un avis juridique. Pour obtenir des conseils juridiques, vous devez retenir les services d'un avocat agréé qui peut vous donner des conseils juridiques adaptés à votre situation particulière.

J'espère que cela t'aides.

txwikinger
la source
3

La distinction GPL vs LGPL détermine si vous devez / ne devez pas divulguer la source de votre application à quiconque possède une copie du binaire. Dans tous les cas, vous pouvez toujours vendre l'application.

Troubadour
la source