Kann ich Apache Software License, Version 2.0 und GNU LGPL 3-Lizenz-Plugins in meiner kommerziellen Webanwendung verwenden?

31

Ich habe zwei Plug-Ins. Einer hat die GNU LGPL 3-Lizenz und der andere die Apache Software License, Version 2.0. Kann ich sie in meiner kommerziellen App verwenden? Und wenn ja, welche Vorsichtsmaßnahmen sollte ich treffen?

umairaslam
quelle
17
Denken Sie daran, dass Sie NIEMALS die rechtlichen Hinweise befolgen sollten, die Sie im Internet erhalten, es sei denn, diese stammen von einem Anwalt. Am liebsten einer, der sich auf das jeweilige Gebiet spezialisiert hat, in diesem Fall: Softwarelizenzen. Nehmen Sie also alle Antworten, die Sie erhalten, mit einem Körnchen Salz, da Sie sich sonst möglicherweise Rechtsstreitigkeiten aussetzen (da es sich bei Ihrer App um eine kommerzielle handelt).
Radu Murzea

Antworten:

34

Kann ich sie in meiner kommerziellen App verwenden?

Dies hängt davon ab, was Sie mit der von Ihnen erstellten Software tun möchten.

Erstens schränken weder ASL 1 noch GPL oder LGPL die Verwendung von Software in Ihrem Unternehmen ein. Die Einschränkungen gelten ausschließlich für Code, der außerhalb Ihrer Organisation verteilt wird.

  • Für GPL besteht die Einschränkung darin, dass Sie, wenn Sie GPL-Code in Ihre eigene Software integrieren UND diese dann außerhalb Ihres Unternehmens vertreiben, den Quellcode unter den Bedingungen der GPL oder einer kompatiblen Open Source-Lizenz verfügbar machen müssen.

    Wenn Sie also GPL-Code in Ihrer Anwendung verwenden und diese vertreiben, muss Ihre Anwendung Open Source sein. Andernfalls verletzen Sie die Lizenz.

  • Für LGPL gilt die Einschränkung (siehe oben) nur für den Quellcode der LGPL-Bibliothek selbst; dh wenn Sie die Bibliothek ändern. Wenn Sie nur die Bibliothek verwenden, müssen Sie Ihren Quellcode nicht verfügbar machen.

    Es gibt auch eine Einschränkung, dass der LGPL-Code in Ihrer Anwendung vom Benutzer Ihres Codes ersetzt werden muss. Das bedeutet (im Endeffekt), dass Sie Ihren Code nicht statisch mit der Bibliothek verknüpfen können, wenn Sie ihn nur als Binärdateien verteilen. Sie müssen die dynamische Verknüpfung verwenden.

  • Für ASL besteht die einzige wesentliche Einschränkung darin, dass Sie angeben müssen, ob Sie den von Ihnen verwendeten ASL-Code gegenüber der Originalversion geändert haben.

Um es deutlich zu machen, schränkt weder GPL noch LPGL oder ASL Ihren Verwendungszweck der Software ein. Und dazu gehört auch, ob es Ihr Ziel ist, Geld zu verdienen. Sie beschränken nur die Art und Weise, wie Sie Geld verdienen können ... und im Fall von LGPL und ASL ist die Beschränkung ziemlich minimal.

Und wenn ja, welche Vorsichtsmaßnahmen sollte ich treffen?

Für LGPL und ASL sind keine Vorsichtsmaßnahmen erforderlich.

IANAL - Ich bin kein Anwalt. Wenn Sie sicher sein müssen, fragen Sie einen echten, qualifizierten Experten. dh ein Anwalt, der auf Software-IP-Recht spezialisiert ist.


1 - Für die Zwecke dieser Antwort ist ASL == Apache Software License Version 2.

Stephen C
quelle
Gilt dies für eine Webanwendung? Ich meine, der Kunde erhält nur die Kriegsdatei, die die .class- und .JAR-Dateien enthält. Wenn alles in Ordnung ist LGPL noch?
Java Main
Wenn Sie die LGPL-Bibliotheken nicht ändern, können Sie sie mit Ihrem Anwendungscode in die WAR-Datei aufnehmen. Sie müssen jedoch so vorgehen , dass die Person, an die Sie Ihren Code verteilen , den LBPL-Code durch eine andere Version ersetzen kann . Ein "Über-JAR" ist wahrscheinlich ein Verstoß. Das Verschleiern der LGPL-Bibliotheken zusammen mit Ihrem Code ist definitiv ein Verstoß. (IANAL)
Stephen C
Es gibt einen Ordner namens lib, in dem ich alle JAR-Dateien ablege. So kann er jede Jar-Datei durch eine andere Version ersetzen. Aber ich garantiere nicht, dass es immer funktionieren wird. Ist das noch ok
Java Main
Fragen Sie Ihren Anwalt :-)
Stephen C
Es ist nur eine normale Web-App, die auf Tomcat ausgeführt wird. Wenn Sie helfen können, wird es gut sein. Trotzdem danke für deine Klarstellung, die wirklich hilft.
Java Main
5

Die Apache-Lizenz enthält keine Einschränkungen für Software, die mit einem Plug-In oder einer Bibliothek verknüpft ist, die unter der Apache-Lizenz vertrieben wird. Die LGPL hingegen hat die Anforderung, dass entweder die LGPL-Bibliothek dynamisch verlinkt wird (und von einem Benutzer ersetzt werden kann) oder das gesamte Werk unter einer GPL-kompatiblen Open-Source-Lizenz veröffentlicht werden muss.

Für die Verwendung in einer Closed-Source-Anwendung bedeutet dies effektiv, dass Sie das Apache Licensed Plug-In uneingeschränkt verwenden können und dass das LGPL-lizenzierte Plug-In dynamisch verknüpft werden muss.

Wenn Sie eines der Plug-Ins zusammen mit Ihrer Anwendung vertreiben, müssen Sie auch entweder die Quellen für die Plug-Ins bereitstellen oder Ihre Benutzer informieren, wo sie diese Quellen erhalten können.

Bart van Ingen Schenau
quelle
BartvanIngenSchenau was meinst du mit "closed-source" anwendung? Meinen Sie eine Paketlösung (keine Verteilung von Quellcode) oder beziehen Sie sich auf die Verteilung innerhalb einer Organisation im Vergleich zu einer kommerziellen Verteilung?
Rachael
1
@Rachael: "Closed-Source" bezieht sich normalerweise auf Software, für die der Quellcode nicht vertrieben wird. Die Weitergabe innerhalb einer Organisation ist ein Sonderfall, wenn es um die Lizenzierung von Urheberrechten geht, da die Weitergabe von Kopien eines Softwareprodukts an Personen innerhalb einer Organisation für die meisten Urheberrechtsgesetze nicht als Weitergabe gilt (es wird als Kopieren angesehen).
Bart van Ingen Schenau
-4

Erstens ist dies keine Rechtsberatung.

Es ist nicht gestattet, GPL-Software zu verknüpfen (auch nicht über ein Netzwerk), zu kompilieren oder mit Nicht-GPL-Software in irgendeiner Form zu versenden. Die LGPL lockert dies ein wenig, um Support von Drittanbietern zu ermöglichen, auch für kommerzielle Produkte. Das Wichtige dabei ist, dass es sozusagen ein Fremdanbieter sein muss, der eine kleine Lücke schafft.

Kurz gesagt, Sie verknüpfen eine vorhandene LGPL-Bibliothek (nennen Sie dies die erste Partei), aber die Software, die diese Verknüpfung herstellt, muss LGPL-fähig sein. Nennen Sie diese Software die zweite Partei. Obwohl die Software von Drittanbietern als LGPL veröffentlicht werden muss, können Sie als Eigentümer der Software von Drittanbietern zulassen, dass andere Software diese außerhalb der LGPL verwendet (solange die Software von Drittanbietern auch unter LGPL verfügbar ist). Mit anderen Worten, die Software eines anderen Anbieters muss als LGPL zur Verfügung gestellt werden, ist jedoch nicht erforderlichunter allen Umständen als LGPL zu lizenzieren. Jeder einzelne Benutzer einer Software muss eine gesetzliche Lizenz zur Nutzung dieser Software besitzen. Ich sage, solange jeder Benutzer Zugriff auf die Software als LGPL hat, können Sie sie auch unter Verwendung nicht viraler Bedingungen lizenzieren. Sie können auch Software von Drittanbietern erstellen und die Software von Drittanbietern für die Verwendung durch die Software von Drittanbietern unter Nicht-LGPL-Bedingungen an sich selbst lizenzieren. Ich habe sogar von Leuten gehört, die sich selbst einen Vertrag und eine Lizenz zur Nutzung ihrer eigenen Software schreiben . Das Gesetz kann seltsam sein! Die Software von Drittanbietern muss in keinem Fall LGPL sein.

Erstellen Sie also eine Bibliothek, um nur als Wrapper eine Verknüpfung zur LGPL-Bibliothek herzustellen, und geben Sie den Wrapper als LGPL frei. Sie können dann in einer Nicht-LGPL-Software eine Verknüpfung zu diesem Wrapper ( Ihrem Wrapper) herstellen, sofern Ihr Wrapper als LGPL verfügbar ist.

Ich kann nicht für die Apache-Softwarelizenz sprechen, da ich nicht mit ihr vertraut bin.

JSON
quelle
Beachten Sie, dass ich den Begriff "Link" sehr allgemein verwende, da dies nicht nur für kompilierte Sprachen gilt und auch LGPL-Software "einschließlich" (von einem lokalen oder einem Netzwerkstandort wie PHP oder Javascript) oder auf andere Weise umfassen kann "Verknüpfung" mit einer Software über ein Netzwerk wie Java RMI usw.
JSON
1
"Es ist nicht gestattet, mit GPL-Software (auch nicht über ein Netzwerk) zu verknüpfen, sie zu kompilieren oder mit Nicht-GPL-Software in irgendeiner Form zu versenden." . Das "oder" sollte "und" sein. Sie KÖNNEN GPL-Software in nicht-GPL-basierter Software verwenden, sofern Sie diese nicht "versenden".
Stephen C
2
Diese Antwort ist auf so vielen Ebenen falsch. Die Frage betrifft nicht die GPL, sondern die LGPL. ASL-Code kann unter fast jeder anderen Lizenz in den Code integriert werden, was auch LGPL oder sogar GPL bedeutet (auch wenn das Gegenteil verboten ist). Sie können es sogar in Closed-Source-Software verwenden. Und wie Stephen C. betonte, können Sie tun, was Sie wollen, solange Sie es nicht veröffentlichen oder anderweitig der Öffentlichkeit zugänglich machen.
Alexis Dufrenoy