GPL am Arbeitsplatz?

12

Ich habe einmal bei einem Beratungsunternehmen ein Interview geführt, in dem festgestellt wurde, dass es Open-Source-Produkte verwendet (was großartig ist, ich habe Hibernate, JBoss usw. ausgiebig verwendet) Sie verwendeten GPL-lizenziertes OSS beim Schreiben von Anwendungen für Kunden und sagten: "Sicher, die ganze Zeit! Solange der Kunde das bekommt, was er will und glücklich ist." Nun, ich bin kein Anwalt oder großer Lizenzfan, aber ich hatte den Eindruck, dass Sie unter Verwendung des GPL-Codes (sagen wir eine Bibliothek, die Sie einschließen) verpflichtet sind, die gesamte Anwendung unter derselben Lizenz freizugeben. Als ich darauf hinwies, erhielt ich die schnelle Antwort: "Nun, wir geben den Clients den gesamten Quellcode, wenn wir fertig sind, das ist also wirklich kein Problem."

Ich möchte das Thema nicht weiter verfolgen (Interviews sind nicht der Ort für solche Argumente) und lasse es gleiten. Das betrifft mich jedoch immer noch in Bezug auf diese spezielle Geschäftspraxis. Was ist das offizielle Wort für GPL-lizenzierten Code und wie "offen" muss er sein? Müssen Sie es veröffentlichen und sagen: "Meine Firma hat diese Bibliothek verwendet, sodass Sie auf dieser Website unsere Anwendung für das Einkaufs- und Bestellabwicklungssystem herunterladen können, für deren Erstellung wir Millionen von Dollar ausgeben."? Ist das Unternehmen in dieser Situation berechtigt, GPL-Code ohne Wissen des Kunden zu verwenden? Reicht es, ihnen nur "die Quelle zu geben"?

Ryan Hayes
quelle

Antworten:

15

Es gelten die üblichen Haftungsausschlüsse: Ich bin kein Anwalt und Sie auch nicht.

In der GPL geht es im Kern darum, die Rechte derjenigen zu schützen, die das Programm nutzen, um die Quelle zu erhalten und zu nutzen. Es ist nicht vorgeschrieben , dass Sie den Quellcode eines von Ihnen geschriebenen Programms veröffentlichen, das GPL-Code verwendet. Wenn Sie lediglich ein solches Programm veröffentlichen, müssen Sie auch den Quellcode angeben .

Ich kann eine beliebige Anzahl von Apps für meinen persönlichen Gebrauch schreiben, GPL-Code einlesen und niemals jemandem die Quelle davon geben. Ich kann solche Apps für den internen Gebrauch durch mein Unternehmen schreiben und muss nur denjenigen innerhalb meines Unternehmens die Quelle zur Verfügung stellen, die das Programm verwenden (praktisch müsste ich dies sowieso tun, wenn sie einen guten Grund hätten, es anzufordern). Wenn ich ein solches Programm für eine andere Entität schreibe, muss ich ihnen nur den Code geben (und klarstellen, dass das Programm GPL-lizenziert ist) - wenn sie es weiter verbreiten, müssen sie auch die Quelle verfügbar machen, aber ich bin nicht im Bilde.

Die einzige Sorge, die Ihr Beratungsunternehmen haben könnte, ist, dass es seine Kunden nicht auf die Lizenz aufmerksam macht, unter die der von ihnen angegebene Code fällt. Eigentlich lüge ich - wenn sie mit ihren Kunden eine andere Lizenz ausgehandelt hätten (der Kunde besitzt alle Rechte an Code ...), dann könnten sie auch darüber in heißem Wasser stehen ... Aber das gilt für jeden Code von Drittanbietern : Sofern es nicht gemeinfrei ist, müssen Sie die Lizenz einhalten und dürfen sie nicht erneut lizenzieren, es sei denn, Ihnen wurde dieses Recht vom Inhaber des Urheberrechts eingeräumt.

Shog9
quelle
1
Sie haben Recht AGPL ist jedoch strenger
@Pierre: Richtig, in dem Sinne, dass Sie nicht davon abkommen können, Ihren Benutzern eine Quelle bereitzustellen, indem Sie sich an Server-Apps halten.
Shog9
1
Interessant. Wenn Sie also in der Standard-GPL eine SaaS-App schreiben, müssen Sie die Quelle nicht angeben, da Sie die Anwendung selbst nicht technisch "verteilen"?
Ryan Hayes
2
@ Ryan: Richtig. Nun, Sie müssen es nicht an Ihre Benutzer weitergeben . Jeder, der den kompilierten Code erhält, erhält weiterhin die Quelle.
Shog9
7

Als Berater lege ich großen Wert darauf, Lizenzprobleme frühzeitig mit meinen Kunden zu besprechen, damit diese eine fundierte Entscheidung treffen können. Wenn die beste Technologie für ihr Problem unter der GPL steht, die Lizenz jedoch nicht eingehalten werden kann, kann ich sie nicht verwenden. In der Praxis hat dies zwei Auswirkungen.

Erstens zahlen viele gerne für ein kommerzielles Produkt, um dieses Problem zu vermeiden. Dies ist besonders in der Welt der eingebetteten Systeme üblich, in der die Einhaltung der GPL effektiv die Veröffentlichung des gesamten Hardware-Designs und die Dokumentation seiner Funktionsweise erfordern würde, um dem Geist der GPL gerecht zu werden, mit der versucht wird, einem Endbenutzer das Ändern des Produkts zu ermöglichen . Es ist zwar möglich, so offene Produkte herzustellen, dies erfordert jedoch viel Engagement auf allen Unternehmensebenen. Das größere Problem ist, dass viele Komponenten eines Entwurfs von ihren Herstellern unter NDA dokumentiert werden und es effektiv unmöglich ist, GPL-kompatiblen Code zu erstellen, der die unter NDA veröffentlichte Dokumentation verwendet.

Zweitens bevorzugen wir jetzt die MIT-Lizenz und ihre vielen Verwandten (was deutlich macht, dass eine kommerzielle Nutzung akzeptabel ist) gegenüber der GPL bei jeder Überarbeitung. Ich hatte keine Einwände des Kunden gegen die Veröffentlichung von Fehlerkorrekturen und Verbesserungen, die an die relevanten Produktgemeinschaften zurückgegeben wurden. Da die Lizenz zulässig ist, kann ich meinen NDA-Verpflichtungen nachkommen, meine Kunden bei Laune halten und einen Beitrag zu den relevanten Communities leisten.

RBerteig
quelle
2

Open Source bedeutet nicht unbedingt kostenlos.

IANAL auch, aber im Allgemeinen besteht die Anforderung für GPL darin, den Quellcode für Ihr Projekt bereitzustellen. Sie können ein Produkt sicherlich an jemand anderen verkaufen. Ich glaube jedoch, dass Sie sie nicht daran hindern können, es weiterzugeben. Das ist wahrscheinlich das, was die meisten GPL-Software kostenlos macht, wie in Bier. Ich bin mir ziemlich sicher, dass Sie Ihren Code nicht für world + dog veröffentlichen müssen, nur weil er unter der GPL steht.

Von der Präambel bis zur Version 3 der GPL (Schwerpunkt meine eigene):

Die Lizenzen für die meisten Software- und anderen praktischen Werke sollen Ihnen die Freiheit nehmen, die Werke zu teilen und zu ändern. Im Gegensatz dazu soll die GNU General Public License Ihre Freiheit garantieren, alle Versionen eines Programms zu teilen und zu ändern - um sicherzustellen, dass es für alle Benutzer freie Software bleibt. Wir, die Free Software Foundation, verwenden für den Großteil unserer Software die GNU General Public License. Es gilt auch für alle anderen Werke, die auf diese Weise von den Autoren veröffentlicht wurden. Sie können es auch auf Ihre Programme anwenden.

Wenn wir von freier Software sprechen, beziehen wir uns auf die Freiheit, nicht auf den Preis. Unsere allgemeinen öffentlichen Lizenzen sollen sicherstellen, dass Sie die Freiheit haben, Kopien kostenloser Software zu vertreiben (und diese auf Wunsch in Rechnung zu stellen), dass Sie Quellcode erhalten oder diese erhalten, wenn Sie dies wünschen, dass Sie die Software ändern können oder Teile davon in neuen kostenlosen Programmen verwenden, und dass Sie wissen, dass Sie diese Dinge tun können.

( Quelle )

Ist das Unternehmen in dieser Situation berechtigt, GPL-Code ohne Wissen des Kunden zu verwenden? Reicht es, ihnen nur "die Quelle zu geben"?

Dies ist eine etwas andere Frage. Wenn der Kunde bestimmte Erwartungen hat und diese in einem Vertrag festgelegt sind, kann das Unternehmen ein Problem haben. Andernfalls müssen sie entscheiden, wie sie die Arbeit am besten erledigen können. Sie sollen jedoch im Quellcode einen Hinweis auf die Lizenz enthalten. Ich bin mir nicht sicher, ob sie dies ihrem Kunden auf andere Weise mitteilen müssen.

George Marian
quelle
2
Für die GPL ist es nicht erforderlich, dass Sie die Quelle aktiv veröffentlichen, aber Sie müssen dem Benutzer mitteilen, dass es sich bei dem Programm um eine GPL handelt und dass Sie die Quelle auf Anfrage bereitstellen (möglicherweise unter Vorbehalt einer fairen und angemessenen Bearbeitungsgebühr). In der Praxis wird die letztere Anforderung häufig von einem Archiv oder einer Zip-Datei unter einer URL behandelt, die auf Anfrage ausgegeben werden kann. Als Berater haben Sie die Pflicht, Ihren Kunden mitzuteilen, wie hoch ihre Belastung sein wird, wenn sie Ihre Arbeit an andere verteilen, da sie der Herausgeber unter der GPL werden.
RBerteig
@RBerteig Danke für die Klarstellung. Es ist schon eine Weile her, dass ich die Lizenzbestimmungen durchgearbeitet habe.
George Marian
"Sie können ein Produkt auf jeden Fall an jemand anderen verkaufen. Ich glaube jedoch, dass Sie nicht verhindern können, dass er es verschenkt." Hängt davon ab, ob Sie ihnen etwas unter der GPL geben oder ob Sie der ursprüngliche Inhaber des Urheberrechts sind und es ihnen unter einer anderen Lizenz neu lizenzieren.
Endolith
-5

Nein, du hast recht. Hier ist der Grund:

Überlegen Sie, ob wir eine Anwendung unter der GPL haben. Dann kann es nicht von proprietärem Code verwendet werden.

Wenn es ausreichen würde, nur Quellcode zu öffnen, der GPL verwendet, könnte ich ein darauf basierendes Projekt als BSD öffnen.

Dann könnte proprietäre Software das GPL-Produkt verwenden.

Alternative
quelle
4
Das macht keinen Sinn. Die GPL gibt nicht an, dass proprietärer Code ihn nicht verwenden kann. In der GPL dreht sich alles um die Verbreitung, wie die Antwort von Herrn C deutlich macht. In Kurz sind Sie nicht erlaubt zu verteilen Software , die GPL - Code verwendet , wenn Sie auch den Quellcode für die Software unter einer kompatibelen Lizenz verteilen.
Dash-Tom-Bang
1
Proprietärer Code kann keinen GPL-Code verwenden. Es ist ein Teil des Grundes für die Existenz der Lizenz.
Alternative
Es hängt alles davon ab, was Sie unter "proprietärem Code" verstehen. Wenn Sie "Code, den Sie besitzen" meinen, dann macht dies keinen Sinn - GPL kann Ihr Urheberrecht nicht wegnehmen. Wenn Sie es also nicht freiwillig der FSF zuweisen, besitzen Sie immer noch den Code , den Sie schreiben . OTOH, wenn Sie "Code, den Sie unter einer mit der GPL nicht kompatiblen Lizenz verbreiten möchten" meinen, dann sind Sie richtig - genau so, wie Sie die Quelle, auf der Sie aufbauen, erhalten und verwenden konnten, sind Sie verpflichtet, Ihren Benutzern dieses Recht einzuräumen zu deiner Quelle. Auch hier geht es um die Verteilung - niemand, der Ihr Programm nicht erhalten kann, hat Rechte an Ihrem Code.
Shog9
@Herr. C Mit proprietärem Code meine ich Code, der nicht mit der GPL kompatibel ist. Und der Code wird an den Kunden verteilt, also ... Aber ja, ich bin kein Anwalt, also könnte ich mich irren.
Alternative
2
-1, irreführende Antwort. Dies gilt nur für einige Definitionen von "Verwendung" und "proprietär". Beispielsweise könnte ich ein eingebettetes Linux-Produkt erstellen und nur den Linux-Kernel und den Code freigeben, der direkt mit dem Kernelcode verknüpft ist, nicht jedoch meine Benutzeroberfläche oder andere Apps, die zufällig auf einem GPL-Kernel ausgeführt werden. Es gibt viele solche Beziehungen. Die Mehrdeutigkeit bei dieser Verwendung von "proprietär" ist bereits abgedeckt. In den meisten Gerichtsbarkeiten ist ein "Werk zur Miete", das nur an die Partei vergeben wird, die einen Entwickler damit beauftragt hat, es zu codieren, nicht dasselbe wie eine Distribution. IANAL, etc.
HedgeMage