Exécution d'un logiciel en tant que service en utilisant un programme GPL (v2 +) non modifié comme dépendance principale: le code source SaaS doit-il être publié?

10

Je conçois un logiciel en tant que projet de service qui ne sera accessible qu'en ligne. Je peux avoir une forte dépendance sur un exécutable qui est couvert par GNU GPL (v2 ou version ultérieure).

Je comprends que mon code, si jamais je le distribue, doit également être distribué selon les termes de la GPL. Je suis à peu près sûr que l'exécution du service sur le réseau ne transmet / distribue pas le code. Ainsi, ai-je raison de penser que je peux utiliser la dépendance GPL sans avoir à divulguer tout mon code?


Juste pour que je puisse donner un exemple concret: disons que je conçois sur un système de traitement de documents en ligne, un peu comme Google Docs. Je veux pouvoir télécharger pratiquement n'importe quel type de fichier dans le système et le convertir en n'importe quel format interne. Au lieu d'essayer de supprimer un convertisseur, je préfère utiliser un programme existant que je connais qui permet la conversion. Ce programme est un exécutable avec une licence GNU GPL v2 (ou ultérieure). Puis-je légalement avoir un logiciel en tant que service sans fournir mon code source?

Platine Azure
la source
Si c'est GPLv3 ou Affero, alors oui. Ces licences ont été conçues pour corriger et fermer le trou de boucle "logiciel en tant que service".
Andrew T Finnell
Attendez, la GPLv3 aussi? J'ai besoin de revoir ça ...
Platinum Azure
Apparemment, je me trompe sur GLPv3. Il en a été rayé. linux-mag.com/id/3017
Andrew T Finnell

Réponses:

9

D'après la description que vous avez fournie, la réponse est "non, vous n'avez pas à divulguer". Vous vous fiez à la sortie de l'exécutable GPL ou vous le traitez comme un système, qui sont deux exceptions à la nature virale de la GPL. Explorez la FAQ GPL et vous trouverez vos réponses en fonction des spécificités de votre scénario.


la source
Juste pour m'assurer que je comprends bien (après avoir lu la question #GPLoutput sur la FAQ): Ainsi, par exemple, si l'on peut dire que le droit d'auteur d'un document en cours de téléchargement (selon mon exemple) est détenu par l'auteur original, alors l'exécutable est utilisé , la sortie dudit exécutable (ne contenant aucune partie du code du programme lui-même contenu) conserve le droit d'auteur de l'auteur d'origine, et donc puisque je ne l'utilise que et que la sortie n'est pas couverte par défaut sous GPL, I n'avez pas à divulguer?
Platinum Azure
1
@PlatinumAzure: oui.
MSalters
2
"Non" est correct, mais la principale raison pour laquelle vous ne le faites pas est que vous ne distribuez pas le travail couvert par la GPL (le rendant uniquement disponible en ligne). Il s'agit d'une qualité connue de la GPL (2 et 3); il existe une licence distincte la licence Affero GPL qui couvre le cas de l'application mise à disposition en ligne et non "distribuée".
Craig
Qu'en est-il de cette question où une application GPL serait utilisée en temps réel pour simplement générer une sortie sur la machine utilisateur? et aussi, par exemple: tous les scripts bash doivent être GPL?
Aquarius Power
-1

IANAL mais IMO la GPL ont une petite ambiguïté ici (ou interprétation). La GPL vous donne beaucoup de liberté en ce qui concerne "l'utilisation", mais elle le fait beaucoup de limitations concernant la "distribution des œuvres dérivées". Tout d'abord, il s'agit de l'utilisation par rapport aux travaux dérivés. Si votre code "utilise" uniquement le logiciel GPL, vous n'avez pas besoin de distribuer votre code qui utilise le code GPL (si vous modifiez le code GPL lui-même cependant, vous devez toujours distribuer cette partie de vous prévoyez de distribuer le changements), d'autre part si c'est considéré comme un travail dérivé, alors vous devez distribuer votre code source. L'un des points clés est de savoir si votre code s'exécute dans le même espace d'adressage de processus que le code GPL,

Il y a aussi l'ambiguïté si la fourniture d'un service Web pour permettre aux gens d'utiliser du code GPL est considérée comme une redistribution du logiciel ou simplement une façon d'utiliser le logiciel. Je pense que la plupart des gens considèrent que la simple fourniture d'un service Web ne relève pas de la redistribution.

Mieux vaut demander à l'auteur du logiciel ce qu'il pense de ce que vous faites. Il vaut mieux respecter leur interprétation au lieu de faire votre propre interprétation. Au pire, si cela devient un problème, vous pourriez affirmer que vous avez la permission explicite des auteurs eux-mêmes ou vous auriez la possibilité de trouver une autre bibliothèque plus permissive ou de négocier une exception.

Lie Ryan
la source
Je peux voir que c'est un cas limite si je fournis une interface propriétaire pour le logiciel libre, c'est sûr (avec l'interface faisant essentiellement exactement la même chose que le logiciel libre sous le capot), mais si je l'utilise simplement et il est essentiel que le programme fonctionne, mais le but du logiciel libre n'est pas intrinsèquement le même que l'interface propriétaire et est effectivement utilisé comme une bibliothèque système, ce qui pourrait certainement relever de l'exception?
Platinum Azure
@PlatinumAzure: L'analyse est trop pessimiste. "fournir un service Web pour permettre aux gens d'utiliser du code GPL" n'est sans ambiguïté PAS la distribution de ce code GPL. Pas seulement mon opinion, mais celle de la FSF également. Si l'auteur du logiciel n'était pas d'accord avec la FSF, il n'aurait pas dû utiliser sa licence.
MSalters
Il n'y a aucune ambiguïté. L'une des principales raisons de la création de la GPL v3 était de fermer cette soi-disant faille, comme l'avait déjà démontré "l'Aferro GPL". La GPLv2 concerne la distribution du code, pas son utilisation.
Ross Patterson
@ RossPatterson: la question portait sur la GPLv2, comme je l'ai dit dans mon post GPL gives you a lot of freedom when it comes to "usage", but it does it lots of limitation concerning "distribution of derivative works". Bien que cette partie de la GPL soit assez simple, dans la GPLv2, il est possible d'interpréter si un SaaS est un "usage" ou une "distribution". La GPLv2 n'a rien dit sur le SaaS car il a été conçu avant que le SaaS ne soit banal, d'où l'ambiguïté.
Lie Ryan
L'utilisation de @LieRyan SaaS par des utilisateurs qui n'ont pas reçu de distributions binaires a été librement reconnue comme n'étant pas une "distribution" et comme n'exigeant pas la distribution de code source. La Free Software Foundation a travaillé avec Affero pour créer une GPLv2 modifiée (la "Affero GPL" v1) qui traitait une telle utilisation comme une distribution. Il n'y a aucune ambiguïté dans GPLv2.
Ross Patterson