Kann eine GPLv2-lizenzierte Bibliothek in der firmeninternen Intranet-Anwendung verwendet werden?

13

Ich erstelle eine interne Anwendung für das Unternehmen, mit dem ich beauftragt bin. Wir möchten in dieser Anwendung eine GPLv2-lizenzierte Bibliothek verwenden . Ein paar Punkte

  1. Die Anwendung darf nur innerhalb des Unternehmens verwendet werden und darf nicht für die Öffentlichkeit zugänglich sein. Es ist nur für den firmeninternen Gebrauch bestimmt.
  2. Es wird niemals verkauft werden !! . Es wird also kein Geld direkt durch den Verkauf des Codes verdient. Es ist kein Produkt.
  3. Es gibt zwei Arten der Verwendung der Anwendung
    • Seine native Form ist eine konsolenbasierte EXE-Datei (die die GPL-Bibliothek verwendet). und
    • Verwendung über ein Webinterface, das die ausführbare Datei aufruft.
  4. Der Quellcode bleibt eine geschlossene Quelle (nur für Unternehmenszwecke) und ist korrekt

Ich habe zahlreiche Fragen zu SO zu diesem Thema durchgesehen ( eine davon wurde als "Off-Topic" geschlossen und eine andere von Programmierern nicht als "Off-Topic" gekennzeichnet ), aber es fiel mir schwer zu verstehen, ob meine Interpretation der Lizenz korrekt ist.

Nach meinem bisherigen Verständnis darf ich diese Bibliothek ohne Bedenken nutzen. Ich ändere weder den Quellcode noch verteile ich die Anwendung oder mache sie öffentlich verfügbar. Die Anwendung wird weder verkauft noch an Dritte außerhalb des Unternehmens verteilt (sie ist jedoch in der externen DR-Einrichtung unseres Unternehmens erhältlich). Es ist sehr wahrscheinlich, dass ich die Binärdateien der veröffentlichten Versionen verwende und nicht aus dem Quellcode neu kompiliere.

Die folgende Frage aus den GNU-FAQ scheint meine Gedanken zu stützen.

Erfordert die GPL, dass der Quellcode geänderter Versionen der Öffentlichkeit zugänglich gemacht wird?

Die GPL fordert Sie nicht auf, Ihre geänderte Version oder einen Teil davon freizugeben. Es steht Ihnen frei, Änderungen vorzunehmen und diese privat zu verwenden, ohne sie jemals freizugeben. Dies gilt auch für Organisationen (einschließlich Unternehmen). Eine Organisation kann eine geänderte Version erstellen und intern verwenden, ohne sie jemals außerhalb der Organisation freizugeben.

Wenn Sie die geänderte Version jedoch auf irgendeine Weise für die Öffentlichkeit freigeben, müssen Sie den geänderten Quellcode den Benutzern des Programms unter der GPL zur Verfügung stellen.

Daher gibt die GPL die Erlaubnis, das geänderte Programm auf bestimmte Weise und nicht auf andere Weise freizugeben. Aber die Entscheidung, ob Sie es veröffentlichen, liegt bei Ihnen.

Kann eine GPLv2-lizenzierte Bibliothek in der firmeninternen Intranet-Anwendung verwendet werden?

Ahmad
quelle
2
Dies ist eine rechtliche Frage, über die der Anwalt oder Chefkonsul des Unternehmens entscheiden muss.
hotpaw2
1
@ hotpaw2 -Ihr Vorschlag hat definitiv seine Vorzüge und ist die beste Anleitung, die ich geben kann. Es ist wirklich verwunderlich, dass diese Fragen bei allen Entwicklern auf der Welt immer noch gestellt werden und in einigen Fällen immer noch unklar sind Aber im Ernst, ich habe das Gefühl, dass die Lizenz in Bezug auf bestimmte Aspekte absichtlich unklar ist. Wenn Entwickler, die diese Software verwenden, keine eindeutigen Antworten erhalten haben, versucht die IMO, Anwälten Konzepte zu erläutern, und erhält eine Interpretation der Lizenz Eine Antwort für Entwickler von Entwicklern ist der richtige Weg
Ahmad
@ Ahmad: Die einzigen Aspekte, die ich als ernsthaft unklar empfunden habe, sind die Teile, die das Urheberrecht einhalten müssen: Was ist ein abgeleitetes Werk, was ist die Verbreitung usw. Bis wir rechtliche Klarstellung haben (in den USA könnte dies eine Änderung des Textes beinhalten) Nach dem Gesetz oder den Gerichtsentscheidungen, die die Rechtsprechung vorlegen, wird das niemand mit Sicherheit wissen.
David Thornley
Wie Sie bereits erwähnt haben, gibt es zwei Arten der Verwendung der Anwendung: 1) Ihre native Form, die auf der Konsole basiert (die die GPL-Bibliothek verwendet); und 2) Nutzung über ein Webinterface, das die ausführbare Datei aufruft. Klären Sie bitte für die erste, ob es sich um einen Aufruf der GPL-Bibliothek durch Systemaufrufe oder durch benutzerdefinierte Aufrufe handelt.

Antworten:

22

Die GPL ist in allen Varianten eine Weitergabelizenz . Es gilt einfach überhaupt nicht, wenn Sie den Code nicht weitergeben. Es kann in Zukunft zutreffen, wenn Sie eines Tages beschließen, aus Ihrer Anwendung ein Produkt zu machen, aber nicht jetzt.

Kilian Foth
quelle
Solange es nie wird neu verteilt , die Lizenz hat keine Auswirkungen auf Sie. Keiner. Wenden Sie sich an Ihren Anwalt, wenn Sie sich nicht sicher sind, und vergewissern Sie sich, dass er mit dem Urheberrecht vertraut ist.
Michael Trausch
2
Mit anderen Worten, alle, die über die Binärdatei verfügen, müssen über die entsprechende Quelle verfügen, damit sie Fehler beheben und eine neue Binärdatei erstellen können.
2
Bedeutet dies, dass ich die GPLv2-Website auch innerhalb des Unternehmens nutzen kann, ohne deren Funktionalität zu verkaufen?
Johnny_D
3

Ich denke, Sie haben die Antwort zitiert, also haben Sie es.

Mein Wissen über die GPL ist, dass Sie für das, was Sie tun möchten, kein Problem haben.

schnell_nun
quelle
3

Die Antwort hängt hier von der rechtlichen Definition des Vertriebs ab .

Wenn Sie Ihren Mitarbeitern ein Programm zum Ausführen geben, das sie verteilen, gelten die GPL-Anforderungen, und Sie müssen den Mitarbeitern, die das Programm erhalten, auch die Quelle mitteilen.

Wenn Sie Ihren Mitarbeitern eine Kopie des Programms geben, die nicht vertrieben wird, haben Sie keine Anforderungen, da Sie es nicht vertrieben haben.

Die FAQ, die Sie zitiert haben, besagt, dass Sie Ihren Code nicht öffentlich verfügbar machen müssen . (Das heißt, für jede zufällige Person auf der Straße.)

Beachten Sie, dass es unter GPLv2 klar ist, dass ein Webdienst nicht als Distribution betrachtet wird. Es ist nur die Konsolenanwendung, die verwirrend ist.

Ich schlage vor, dass Sie sich von Ihrem Anwalt beraten lassen.

Sean McMillan
quelle
2

Ja, Sie können ABER die Zusammenarbeit mit Subunternehmern, Partnerfirmen und dergleichen berücksichtigen. Dies hat viele Admins auf der Rückseite gebissen, als "nur für Inhouse" "unter Partnern geteilt" und dann "Produkt zum Verkauf" wurde. Dann müssen entweder die GPL-Teile von Grund auf neu geschrieben werden oder Sie geben Quellen in Ihr Intranet frei.

SF.
quelle
4
OTOH, die meisten Träume, mit den Tools, die für den internen Gebrauch entwickelt wurden, Geld zu verdienen, werden zunichte gemacht, wenn man erkennt, wie unternehmensspezifisch und fehlerhaft die Anwendung wirklich ist. Die Lizenz war immer das letzte Problem, auf das ich gestoßen bin, als solche Szenarien auftraten.
Keppla
@keppla: Ja, und das bedeutet: Benutze es, aber sei dir dessen bewusst. Halten Sie halbwegs klare Grenzen zwischen Ihrem proprietären und dem der GPL, damit Sie sich zum Zeitpunkt des Wandels nicht hoffnungslos verstrickt fühlen. "Geschäftsgeheimnisse" werden mit einer guten Abstraktionsschicht von etwas Klebelogik von GPL-Teilen getrennt.
SF.
1

Mit der LGPL-Version 2 können Sie die Quelle und die Binärdatei neu verteilen.

Sie können es sogar verkaufen.

Die einzige wirkliche Einschränkung ist wie folgt:

Wenn Sie die Bibliothek ändern und verteilen, müssen Sie die an der Bibliothek vorgenommenen Änderungen öffentlich freigeben. Lesen Sie Punkt 2 der LGPL.

Wenn Sie es nicht ändern, haben Sie kein wirkliches Problem.

Jaydee
quelle
0

Ich denke nicht, dass das ein Problem wäre. Webanwendungen, die GPL-Code verwenden, den Benutzern jedoch nicht als Quellcode zur Verfügung stehen, sind eines der Probleme, die die GPLv3 im Vergleich zur GPLv2 geändert hat, und schließen diese "Lücke". Dies scheint im Großen und Ganzen die gleiche Frage zu sein.

Abhängig davon, wofür genau die Bibliothek bestimmt ist, besteht eine andere offensichtliche Möglichkeit, das gesamte Problem zu vermeiden, darin, einen sehr einfachen Wrapper um die Bibliothek zu erstellen. Wenn die Bibliothek GPL ist, muss der Wrapper möglicherweise GPL sein, aber wenn die Schnittstellen klar voneinander getrennt sind, sollte die Lizenz des Wrapper-Codes nicht (wie ich fast schon sagte, nicht, aber wenden Sie sich an einen Fachmann Auswirkungen auf die Lizenzanforderungen der Hauptanwendung haben.

ein CVn
quelle
0

Es ist wichtig, sich in all diesen "Programmierer-zu-Programmierer" -Ratschlägen daran zu erinnern, dass nichts davon ein Rechtsbeistand ist. Wie dieser Thread verdeutlicht, gibt es Raum für Interpretationen mit der GPL.

Sie haben die Kosten für die Offenlegung Ihrer Organisation rechtliche Schritte abwägen , ob Sie die GPL verletzen eine gute vs. bekommen, klingen Rechts Meinung. Es gibt gute Ideen in diesem Thread, aber ich würde nicht allein über diese Eingabe entscheiden.

-

Zum Beispiel ist hier eine Falte: Was ist, wenn der GPL-Code JavaScript ist?

Wenn ein Benutzer auf eine Website mit GPL-JavaScript-Code zugreift, wird der "Quellcode" (in diesem Fall eine JS-Datei) an den Endbenutzer "verteilt". Bedeutet das, dass Ihre gesamte Website GPL-zertifiziert sein muss? Darüber gibt es auch eine ganze Debatte .

Obwohl ich es hasse, Anwälte genauso zu bezahlen wie den nächsten fleißigen Mann, ist dies ein Bereich, in dem es im Allgemeinen besser ist, sich nicht auf Ratschläge aus dem Internet zu verlassen (mit Ausnahme dieser Ratschläge natürlich).

Todd
quelle
Nicht relevant - das OP fragt nach einer vollständig internen Anwendung. In diesem Fall sagt keine Version der GPL etwas darüber aus, etwas verbreiten zu müssen (obwohl das Verknüpfen mit nicht-GPL-kompatibler Software ein Problem sein kann), und die Gnu-FAQ geht direkt auf diese fehlenden Anforderungen ein.
David Thornley
-1

Wie bereits auf früheren Postern erwähnt, gilt die GPL-Lizenz nur, wenn Sie Ihre Anwendung freigeben. Wenn sie nur für den internen Gebrauch bleibt, gibt es kein Problem. Es lohnt sich jedoch, die Auswirkungen zu berücksichtigen, falls sich dies jemals ändert.

Mein grundlegendes Verständnis der Lizenz besteht darin, dass Sie den Quellcode ändern und die resultierende Anwendung dann verkaufen können, wenn Sie dies wünschen, jedoch unter der Bedingung, dass Sie den Quellcode allen Personen zur Verfügung stellen, die danach fragen, einschließlich aller Änderungen, die Sie daran vorgenommen haben.

Im Fall einer kompilierten Bibliothek ist der GPL-Code von Ihrer Hauptcodebasis getrennt, sodass nur der Quellcode für die kompilierte Bibliothek freigegeben werden muss - nicht der Rest Ihrer Codebasis.

Wo die Bibliothek nicht kompiliert wird - also in einer PHP-Anwendung - besteht die Trennung meines Erachtens immer noch. Angenommen, Ihre Anwendung verwendet eine Open-Source-Bibliothek zum Generieren von PDFs. Jede Änderung des PDF-Generierungscodes wird durch die Lizenz abgedeckt und Verbesserungen müssen freigegeben werden. Code in Ihrer Anwendung, der diese Bibliothek verwendet, muss jedoch nicht freigegeben werden .

Bitte beachten Sie, dass sich dies mit der GPL v3 ändert, wobei Ihr Code Open Source sein muss, wenn Sie eine Verknüpfung zu einer Open Source-Bibliothek herstellen ...

Gavin Coates
quelle
1
"Es muss nur der Quellcode für die kompilierte Bibliothek freigegeben werden" - dies beschreibt die LGPL, nicht die GPL. Die GPL funktioniert unter der Annahme, dass die Verknüpfung mit einer Bibliothek Ihre Anwendung zu einer abgeleiteten Arbeit der Bibliothek macht und daher der GPL selbst unterliegt.
Sean McMillan
-2

Ich bin nicht sicher, ob es in Ordnung ist, den Mitarbeitern die Weiterverteilung dieser Anwendung zu verbieten, da die Anwendung selbst ebenfalls GPL ist. Was Sie also für eine "interne Anwendung" halten, könnte möglicherweise (legal?) Zusammen mit dem Quellcode durchgesickert sein.

zvrba
quelle
Bitte erläutern Sie 'da die Anwendung selbst auch GPL ist'. Worauf beziehen Sie sich? Wenn jemand nur die GPL'ed-Bibliothek nehmen und verteilen möchte, tritt die Lizenz von dem in Kraft, was ich bisher verstehe. Die Intranet-Anwendung (Konsole n Web) ist NICHT für den Vertrieb vorgesehen. Wenn ein Mitarbeiter beschließt, die Unternehmensanwendung weiterzugeben, ist er mit ziemlicher Sicherheit noch lange kein Mitarbeiter mehr.
Ahmad
Die konsolenbasierte EXE-Datei ist GPL, da sie eine GPL-Bibliothek verwendet. Daher muss die GPL für jeden, der Zugriff darauf erhält, frei weitergegeben werden können. Ja, ein Mitarbeiter verliert möglicherweise seinen Arbeitsplatz, aber er hat das Recht , die GPL-Datei mit der Quelle zu verteilen. Es können jedoch andere Regeln und Gesetze (z. B. Geschäftsgeheimnisse) gelten. Erkundigen Sie sich bei einem Anwalt, ob Sie tatsächlich "illoyale" Mitarbeiter für die von der GPL gewährten Maßnahmen zur Verantwortung ziehen können.
Zvrba
Bitte lesen Sie die Frage erneut. Die Mehrheit der Antworten scheint nicht mit Ihnen übereinzustimmen, oder gibt es etwas, das uns allen fehlt? Die Anwendung (einschließlich des GPL-Teils) ist NICHT für den Vertrieb / die Weiterverteilung bestimmt. Sie wird nur intern verwendet, nicht verkauft und nicht öffentlich zugänglich. Die GPL-Bibliothek wird in keiner Weise verändert. Sie wissen, dass Google modifizierte Versionen von Linux kernal nur für den internen Gebrauch verwendet und diese Version nicht verbreitet. Ich habe nur den internen Gebrauch betont.
Ahmad
Ob Sie beabsichtigen, die Anwendung zu verteilen oder nicht, ist unerheblich. Die GPL erklärt Folgendes: Jeder, der ein GPL-Werk in die Hände bekommt, kann es frei weiter verbreiten (und den Quellcode anfordern). Sprechen Sie mit einem Anwalt, um herauszufinden, was gegen Ihre Mitarbeiter unternommen werden kann, wenn diese die GPL-Arbeit verteilen, sofern die GPL-Lizenz dies zulässt.
Zvrba
1
Die Anwendung ist nicht automatisch GPL, da sie eine GPL-Bibliothek enthält. Wenn Sie jedoch eine App vertreiben möchten , die eine GPL-Bibliothek enthält, muss diese unter einer GPL-kompatiblen Lizenz lizenziert werden. In Abschnitt 7 der GPL V2 heißt es: Wenn Sie das Programm nicht vertreiben können, um gleichzeitig Ihren Verpflichtungen aus dieser Lizenz und anderen diesbezüglichen Verpflichtungen nachzukommen, dürfen Sie das Programm infolgedessen überhaupt nicht vertreiben. Wenn Sie also keine Berechtigung zum Verteilen des Anwendungscodes Ihres Unternehmens haben, können Sie die Anwendung nicht verteilen.
KeithB