Ich plane, eine kommerzielle Software mit einer LGPL-Software zu entwickeln.
In der LGPL-Software, die ich verwende, sind einige Funktionen in einer Klasse nicht vollständig implementiert. Ich möchte den LGPL-Code so ändern, dass die Klasse und nicht implementierte Funktionen außerhalb der DLL sichtbar gemacht werden, indem Sie dllexport vor der Klasse und das virtuelle Schlüsselwort vor der Funktion hinzufügen.
Dann plane ich, diese Funktionen in meiner proprietären Software zu implementieren. Ich bin bereit, den geänderten LGPL-Code zu verbreiten, aber keine proprietäre Software, die Funktionen wie gewünscht implementiert.
Verstößt das gegen die LGPL-Nutzungsbedingungen?
Antworten:
Dies ist eine komplexe Frage, aber ich glaube, dass das, was Sie vorschlagen, nicht erlaubt ist.
Sie schlagen vor , das Hinzufügen Haken in die Bibliothek zu machen einfacher für Sie zu Unterklasse , die Bibliothek und somit zumindest. den Geist der LGPL zu umgehen .
Das Problem ist, wenn Sie eine Klasse, die der LGPL- Lizenz unterliegt, in Ihren eigenen Code unterteilen, wird Ihre Arbeit zu einer auf der Bibliothek basierenden Arbeit und nicht zu einer Arbeit, die die Bibliothek verwendet, was bedeutet, dass Ihr Code ein Derivat ist Arbeiten , die unter Abschnitt 2 ( LGPL v2.1 ) und nicht unter Abschnitt 6 ( LGPL v2.1 ) behandelt werden. Dh es unterliegt der LGPL !
Ich denke, dass Stephen Colebourne eine gute Zusammenfassung über Javalobby bietet.
Ich bin kein großer Fan von kniffligen Gesprächen mit Ihren Anwaltsvorschlägen , aber in diesem Fall denke ich, dass es sich lohnt, dies zu tun, wenn Sie vorhaben, fortzufahren, da Sie sonst möglicherweise einen bösen Brief von der Freien Software erhalten Rechtsabteilung der Stiftung .
Alternativ können Sie die FSF direkt fragen . Von ihrer Kontaktseite :
Im übrigen ist in der damit verbundenen Frage Reflexion und die LGPL , gbjbaanb Antworten mit der 3.0 Perspektive LGPL .
quelle
Standard Ich bin kein Rechtsanwalts-Haftungsausschluss.
LGPL erfordert Änderungen am Quellcode der Bibliothek, die an alle Personen verteilt werden müssen, die Ihren Code verwendet haben. Es ist nicht erforderlich, dass Ihr Code, der die Bibliothek verwendet, Open-Source ist und unter derselben Lizenz veröffentlicht wird.
Wikipedia für eine detailliertere, aber nicht anwaltliche Beschreibung der LGPL, einschließlich eines Abschnitts über die Klassenvererbung .
quelle
"Ich möchte den LGPL-Code ändern ..." Dies sagt genug aus, dass Sie den geänderten Code freigeben müssen . Das Erweitern, ob es sich bei dem geänderten Code um eine abgeleitete Arbeit handelt oder nicht, ist umstritten und unterliegt in diesem Fall der LGPL.
Sie versuchen anscheinend, die LGPL zu umgehen, was in diesem Fall mit diesen Techniken nicht möglich ist.
Aber wenn Sie versuchen, die LGPL zu umgehen, würde ich mich an die FSF wenden, wie von Mark Booth empfohlen .
quelle
work based on
Änderungen an der LGPL vorgenommen werden, um zuvor privaten Code freizugeben.Meine Vermutung: (aber IANAL) sollten Sie lösen als Open Source die modifizierte Bibliothek als Code LGPL und dann es in einem kommerziellen Programm fallen. Das würde funktionieren. Im Endeffekt hätten Sie eine Open-Source-Abzweigung der Bibliothek, und dann verkaufen Sie ein Front-End dafür.
Aber wie viele andere zu Recht sagten, fragen Sie die FSF : Es ist ein faszinierendes patologisches Szenario, das Sie dort haben. Sie könnten sich genauso fragen wie Sie, ob es anwendbar ist oder nicht. (oder sich zumindest genug darum kümmern, um einen FAQ-Eintrag zum Thema zu veröffentlichen)
quelle
https://www.gnu.org/licenses/lgpl-java.html
Kurz gesagt, es gibt kein Problem mit der Vererbung, solange Sie den Bibliothekscode selbst nicht ändern. Selbst wenn Sie ihn ändern, müssen Sie nur den geänderten Bibliothekscode freigeben, nicht den Anwendungscode.
quelle