Une bibliothèque sous licence GPLv2 peut-elle être utilisée dans l'application intranet interne d'une entreprise?


13

Je crée une application interne pour l'entreprise à laquelle je suis sous contrat. Nous souhaitons utiliser une bibliothèque sous licence GPLv2 dans cette application. Quelques points

  1. L'application doit être utilisée dans les limites de l'entreprise et ne doit jamais être mise à la disposition du public. Il est réservé à l'usage interne de l'entreprise.
  2. Il ne sera jamais vendu, jamais !! . Ainsi, aucun argent ne sera généré directement par la vente du code. Ce n'est pas un produit.
  3. Il existe deux formes d'utilisation de l'application
    • Sa forme native qui est exe sur console (qui utilise la bibliothèque GPL); et
    • Utilisation via une interface web qui appelle l'exécutable.
  4. Le code source restera source fermée (utilisation par l'entreprise uniquement), et sera la propriété

J'ai parcouru de nombreuses questions sur SO à ce sujet ( une fermée comme hors sujet et une autre non marquée par les programmeurs ), mais j'ai eu du mal à comprendre si mon interprétation de la licence est correcte.

D'après ma compréhension jusqu'à présent, je suis autorisé à utiliser cette bibliothèque sans aucune inquiétude. Je ne modifie pas le code source et je ne distribue pas l'application ni ne la rend accessible au public. L'application ne sera ni vendue ni distribuée à des personnes extérieures à l'entreprise (elle sera cependant disponible dans les installations de DR hors site de notre entreprise). Je suis très susceptible d'utiliser les binaires des versions publiées et de ne pas recompiler à partir des sources.

La question suivante de la FAQ GNU semble soutenir mes pensées.

La GPL exige-t-elle que le code source des versions modifiées soit publié au public?

La GPL ne vous oblige pas à publier votre version modifiée, ou une partie de celle-ci. Vous êtes libre de faire des modifications et de les utiliser en privé, sans jamais les publier. Cela s'applique également aux organisations (y compris les entreprises); une organisation peut créer une version modifiée et l'utiliser en interne sans jamais la publier en dehors de l'organisation.

Mais si vous publiez la version modifiée 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.

Ainsi, la GPL donne la permission de publier le programme modifié de certaines manières, et pas d'autres façons; mais c'est vous qui décidez de le libérer.

Une bibliothèque sous licence GPLv2 peut-elle être utilisée dans l'application intranet interne d'une entreprise?


2
Il s'agit d'une question juridique que le procureur ou le consul juridique en chef de la société doit trancher.
hotpaw2

1
@ hotpaw2 -votre suggestion a certainement ses mérites et est le meilleur guide qu'une fois peut donner, cela me déroute vraiment qu'avec tous les développeurs du monde, ces questions sont toujours posées et restent dans certains cas encore floues. Je suppose que la juridiction locale s'applique , mais sérieusement, mon sentiment est que la licence est délibérément peu claire sur certains aspects. Maintenant, si les développeurs qui utilisent ce logiciel n'ont pas pu obtenir de réponses claires, l'OMI essayant d'expliquer les concepts aux avocats et d'obtenir leur interprétation de la licence est un beaucoup à demander.Une réponse pour les développeurs par les développeurs est la voie à suivre
Ahmad

@Ahmad: Les seuls aspects que j'ai trouvé très peu clairs sont les parties qui doivent respecter la loi sur le droit d'auteur: qu'est-ce qu'une œuvre dérivée, qu'est-ce que la distribution, etc. Jusqu'à ce que nous ayons une clarification juridique (aux États-Unis, cela pourrait impliquer de changer le texte de la loi ou des décisions de justice produisant une jurisprudence), personne ne le saura avec certitude.
David Thornley

Comme vous l'avez mentionné, il existe deux formes d'utilisation de l'application 1) Sa forme native, qui est basée sur la console exe (qui utilise la bibliothèque GPL); et 2) utilisation via une interface Web qui appelle l'exécutable. Pour la première, veuillez préciser que «s'agit-il d'un appel à la bibliothèque GPL via un appel système ou via un appel personnalisé»?

Réponses:


22

La GPL, dans toutes ses variantes, est une licence de redistribution . Cela ne s'applique tout simplement pas si vous ne redistribuez pas le code. Il peut s'appliquer à l'avenir si, un jour, vous décidez de fabriquer un produit à partir de votre application, mais pas maintenant.


Tant qu'elle n'est jamais redistribuée, la licence n'a aucun effet sur vous. Aucun. Bien sûr, faites-le par votre avocat si vous êtes incertain et assurez-vous qu'il est familier avec la loi sur les licences de droit d'auteur.
Michael Trausch

2
En d'autres termes, tous ceux qui ont le binaire doivent également avoir la source correspondante pour pouvoir corriger les bogues et créer un nouveau binaire.

2
Cela signifie-t-il que je peux également utiliser le site Web GPLv2 à l'intérieur de l'entreprise, sans vendre ses fonctionnalités?
Johnny_D

3

Je pense que vous avez cité la réponse, vous l'avez donc.

Ma connaissance de la GPL est que pour ce que vous voulez faire, vous n'avez aucun problème.


3

La réponse ici dépend de la définition juridique de la distribution .

Si donner un programme à vos employés à exécuter le distribue, alors les exigences de la GPL s'appliquent, et vous devez également donner la source aux employés qui reçoivent le programme .

Si donner à vos employés une copie du programme n'est pas une distribution, alors vous n'avez aucune exigence, car vous ne l'avez pas distribuée.

La FAQ que vous avez citée vous indique que vous n'avez pas à rendre votre code accessible au public . (C'est-à-dire à toute personne aléatoire dans la rue.)

Notez qu'il est clair que sous GPLv2, un service Web n'est pas considéré comme une distribution. Ce n'est que l'application console qui prête à confusion.

Je suggère que vous obteniez des conseils juridiques de l'avocat de votre entreprise.


2

Oui, vous pouvez MAIS tenir compte de la coopération avec les sous-traitants, les entreprises partenaires et autres. Cela est venu mordre de nombreux administrateurs dans le dos, car "juste pour en interne" est devenu "partagé entre les partenaires" puis "produit à vendre". Ensuite, soit les parties GPL doivent être réécrites à partir de zéro, soit vous publiez des sources sur votre intranet.


4
OTOH, la plupart des rêves de faire de l'argent avec les outils développés pour une utilisation interne que rêvent les managers sont écrasés lorsqu'ils réalisent à quel point l'application est spécifique à l'entreprise et boguée. La licence a toujours été le dernier problème rencontré lorsque de tels scénarios se sont produits.
keppla

@keppla: Oui, et cela signifie: utilisez-le, mais sachez-le. Gardez des frontières semi-claires entre votre propriétaire et la GPL, de sorte que si le moment du changement arrive, vous ne vous retrouverez pas désespérément empêtré. Les "secrets d'affaires" sont séparés par une bonne couche d'abstraction d'une certaine logique de colle des pièces GPL.
SF.

1

La version 2 de LGPL vous permet de redistribuer la source et le binaire.

Vous pouvez même le vendre.

La seule véritable restriction est la suivante:

Si vous modifiez la bibliothèque et la distribuez, vous devez publier les modifications que vous avez apportées à la bibliothèque. Lisez le point 2 de la LGPL.

Si vous ne le modifiez pas, vous n'avez pas vraiment de problème.


0

Je ne pense pas que ce serait un problème. Les applications Web utilisant du code GPL mais non disponibles sous forme de code source pour les utilisateurs sont l'un des problèmes que la GPLv3 a changé par rapport à la GPLv2, fermant cette "faille". Cela ressemble à peu près à la même question.

En fonction de la destination exacte de la bibliothèque, une autre façon évidente d'éviter le problème est de créer un wrapper très simple autour de la bibliothèque. Si la bibliothèque est GPL, alors le wrapper pourrait finir par avoir besoin d'être GPL, mais si les interfaces sont clairement séparées, alors la licence du code wrapper ne devrait pas (j'ai presque dit que non, mais consultez un conseiller juridique dûment qualifié praticien) ont un impact sur les exigences de licence de l'application principale.


0

Il est important de se rappeler dans tous ces conseils "de programmeur à programmeur" qu'aucun d'eux n'est un conseiller juridique. Comme ce fil l'indique clairement, il y a de la place pour l'interprétation avec la GPL.

Vous devez peser le coût de l'exposition de votre organisation à une action en justice si vous enfreignez la GPL par rapport à l'obtention d'un bon avis juridique . Il y a de bonnes idées dans ce fil, mais je ne prendrais pas de décision seule sur cette entrée.

-

Par exemple, voici une ride: que faire si le code GPL est JavaScript?

Lorsqu'un utilisateur accède à un site Web avec du code JavaScript GPL, le "code source" (dans ce cas, un fichier JS) est techniquement "distribué" à l'utilisateur final. Cela signifie-t-il que l'ensemble de votre site Web doit être sous licence GPL? Il y a aussi tout un débat là- dessus.

Bien que je déteste payer les avocats autant que le prochain travailleur, étant donné le risque, c'est un domaine qu'il est généralement préférable de ne pas dépendre des conseils sur Internet (sauf pour ces conseils, bien sûr).


Non pertinent - l'OP demande une application complètement interne. Dans ce cas, aucune version de la GPL ne dit quoi que ce soit sur la nécessité de distribuer quoi que ce soit (bien que la liaison à un logiciel non compatible GPL puisse être un problème), et la FAQ Gnu traite directement ce manque d'exigences.
David Thornley

-1

Comme les affiches précédentes l'ont dit, la licence GPL ne s'applique que si vous publiez votre application, si elle reste réservée à un usage interne, il n'y a pas de problème. Cependant, il convient de considérer les implications indépendamment, au cas où cela changerait jamais.

Ma compréhension de base de la licence est qu'elle vous permet de modifier le code source, puis de vendre l'application résultante si vous le souhaitez, mais à condition que vous mettiez le code source à la disposition de toute personne qui en fait la demande, y compris les modifications que vous y avez apportées.

Dans le cas d'une bibliothèque compilée, le code GPL est distinct de votre base de code principale, et en tant que tel, seul le code source de la bibliothèque compilée doit être publié - pas le reste de votre base de code.

Là où la bibliothèque n'est pas compilée - c'est-à-dire dans une application PHP, je crois que la séparation existe toujours. Supposons, par exemple, que votre application utilise une bibliothèque open source pour générer des fichiers PDF - toute modification du code de génération PDF serait couverte par la licence et toutes les améliorations doivent être publiées, mais aucun code au sein de votre application qui utilise cette bibliothèque n'a besoin d'être publié .

Veuillez noter que cela change avec la GPL v3 où votre code doit être open source si vous vous connectez à une bibliothèque open source ...


1
"seul le code source de la bibliothèque compilée doit être publié" - cela décrit la LGPL, pas la GPL. La GPL fonctionne sous l'hypothèse que la liaison à une bibliothèque fait de votre application un travail dérivé de la bibliothèque, et donc soumise à la GPL elle-même.
Sean McMillan

-2

Je ne sais pas s'il est acceptable d'interdire aux employés de redistribuer cette application, car l'application elle-même est également GPL. Donc, ce que vous pensez être une "application interne" pourrait potentiellement (légalement?) Être divulgué avec le code source.


Veuillez préciser «puisque l'application elle-même est également GPL». A quoi faites-vous référence? Si quelqu'un veut prendre la bibliothèque sous GPL uniquement et la distribuer, la licence entre en jeu d'après ce que je comprends jusqu'à présent. L'application intranet (console n web) n'est PAS destinée à la distribution et si un employé décide de «redistribuer» l'application de l'entreprise, je suis quasiment sûr qu'il ne sera pas employé longtemps par la suite ..
Ahmad

L'EXE basé sur console est GPL car il utilise une bibliothèque GPL et, en tant que tel, la GPL exige qu'il doit rester librement redistribuable par toute personne qui y accède. Oui, un employé peut perdre son emploi pour cette raison, mais il a le droit de redistribuer l'EXE GPL avec la source. Cependant, d'autres règles et lois (par exemple, secret commercial) peuvent s'appliquer. Vérifiez auprès d'un avocat si vous pouvez vraiment tenir les employés "déloyaux" responsables de faire ce qui est accordé par la GPL.
zvrba

veuillez relire la question. La majorité des réponses semblent être en désaccord avec vous ou y a-t-il quelque chose qui nous manque tous? L'application (y compris la partie sous GPL) n'est PAS destinée à être distribuée / redistribuée, sera utilisée en interne uniquement, non vendue, non accessible au public. La bibliothèque GPL ne sera en aucun cas modifiée. Vous savez que Google utilise des versions modifiées de linux kernal pour un usage interne uniquement et ne distribue pas cette version. J'ai souligné l'utilisation interne uniquement.
Ahmad

Que vous ayez l'intention de distribuer l'application ou non n'a pas d'importance. La GPL est claire sur les points suivants: toute personne qui met la main sur une œuvre GPL peut la diffuser librement (et peut demander le code source). Parlez à un avocat pour savoir quoi d'autre peut être retenu contre vos employés s'ils choisissent de distribuer le travail GPL, comme le permet la licence GPL.
zvrba

1
L'application n'est pas automatiquement GPL en incluant une bibliothèque GPL. Cependant, si vous souhaitez distribuer une application qui comprend une bibliothèque GPL, elle doit être sous licence sous une licence compatible GPL. L'article 7 de la GPL V2 stipule: Si vous ne pouvez pas distribuer de manière à satisfaire simultanément vos obligations en vertu de cette licence et toute autre obligation pertinente, vous ne pouvez donc pas du tout distribuer le programme. Donc, si vous n'êtes pas autorisé à distribuer le code d'application de votre entreprise, vous ne pouvez pas distribuer l'application.
KeithB
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.