Forum: Offtopic kommerzieler einsatz von GNU Lesser General Public * License version 2.1


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bu B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi
Sehe ich dasa richtig:
wenn ich ein GNU Lesser General Public License 2.1 open source library 
in mein embedded projekt einsetzen will als precompiled lib, muss ich 
nur die lib frei zugänglich machen. Und das auch nur wenn ich da was 
dran geändert habe.
Richtig?
Danke

: Verschoben durch Moderator
von Bernhard R. (bernhard_r28)


Bewertung
0 lesenswert
nicht lesenswert
Solange du den LGPL Teil dynamisch linkst ist das korrekt.
Geschieht das Linken statisch wird dein Code auch wieder LGPL 
lizensiert.
Siehe z.B. das Qt Framework.

Hier ist das auch nochmal gut (englisch) beschrieben:
https://stackoverflow.com/questions/10130143/gpl-lgpl-and-static-linking

von Timmo H. (masterfx)


Bewertung
0 lesenswert
nicht lesenswert
Bernhard R. schrieb:
> Geschieht das Linken statisch wird dein Code auch wieder LGPL
> lizensiert.
Soweit ich weiß reicht es seinen eigenen Teil als Object-File 
mitzuliefern, sodass der Anwender in der Lage ist den LGPL-Teil nach 
belieben zu modifizieren oder selbst zu schreiben und danach wieder 
selbst zu linken.

von Bu B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi
wenn statisch dazu gelinked?muss ich nur dem kunden mein object file 
geben, oder es allgemein verfügbar machen?

von Bernhard R. (bernhard_r28)


Bewertung
0 lesenswert
nicht lesenswert
Die LGPL sagt, dass der Benutzer einen unter dieser Lizenz stehenden 
Code verändern und diesen mit deiner Software verwenden können muss.

Es entstehen also zwei Fälle...

Fall 1: [Dein Code] + [LGPL Lib als Static Library (.a file)]
Du musst deinen Quellcode zugänglich machen weil er zur compile Zeit 
eine Einheit mit deinem Code bildet.


Fall 2: [Dein Code] + [LGPL Lib als Shared Object Library (.so file) 
oder DLL]
Du musst deinen Quellcode nicht zugänglich machen, da die Library eine 
separate Einheit bildet die von Dritten verändert werden kann.

von Christopher J. (christopher_j23)


Bewertung
0 lesenswert
nicht lesenswert
Bu B. schrieb:
> muss ich nur dem kunden

Jeder der im Besitz der Binary ist hat einen Anspruch auf deinen 
Source-Code bzw. die Object-Files und zwar genau so wie Bernhard das 
beschrieben hat. Wenn dein Kunde ein Gerät mit deiner Software an einen 
anderen Kunden weiterverkauft, dann hat eben auch der Kunde deines 
Kunden einen Anspruch und wenn du ein Firmware-Update als Binary 
herausgibst und es auf deine Internetseite stellst, dann hat jeder der 
die Binary lädt einen Anspruch.

von Stefan ⛄ F. (stefanus)


Bewertung
1 lesenswert
nicht lesenswert
Ich wette, daß sich 90% der Linux basierten WLAN Router nicht an die 
Lizenz halten.

Sollte man aber tun. Wenn man schon Geschenke (die Library) verwendet, 
sollte man dabei wenigstens die Wünsche des Autors respektieren.

Ich habe ohnehin wenig Verständnis dafür, daß Formen immer ihren Pläne 
und Quelltexte so geheim halten, als sei es der Heilige Gral. Das führt 
nämlich zu Wegwerfprodukten, und die haben mit Umweltschutz wenig 
gemein.

: Bearbeitet durch User
von OpenWRT (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Ich wette, daß sich 90% der Linux basierten WLAN Router nicht an die
> Lizenz halten.

Nach ein paar Gerichtsurteilen hat sich das gebessert.

https://heise.de/-101616
https://heise.de/-1897161

TP-Link:
http://www.tp-link.de/gpl-code.html
AVM, z.B:
https://download.avm.de/fritz.box/fritzbox.7430/x_misc/opensrc/
ASUS bietet auch Sourcecode an, linksys ebenso,
https://www.linksys.com/us/support-article?articleNum=114663

Sogar bei der Telekom findet man nach langem Suchen den GPL-Source für 
die Speedports.

Denke schon, dass damit 90% Marktanteil abgedeckt sind.

von MaWin (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Bernhard R. schrieb:
> Es entstehen also zwei Fälle...
>
> Fall 1: [Dein Code] + [LGPL Lib als Static Library (.a file)]
> Du musst deinen Quellcode zugänglich machen weil er zur compile Zeit
> eine Einheit mit deinem Code bildet.
>
> Fall 2: [Dein Code] + [LGPL Lib als Shared Object Library (.so file)
> oder DLL]
> Du musst deinen Quellcode nicht zugänglich machen, da die Library eine
> separate Einheit bildet die von Dritten verändert werden kann.

Ob das so vor Gericht auch standhalten würde, ist fragwürdig.

Es ist vollkommen unlogisch, wenn ich den Quellcode zugänglich machen 
muss, nur weil ich beim Compilieren einen anderen Schalter verwende.

Ob du den Quellcode zugänglich machen musst, hat nichts mit dem 
Compilerschalter zu tun. Es hat nur damit zu tun, ob dein Endprodukt ein 
abgeleitetes Werk ist.

von hans im glück (Gast)


Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Ob du den Quellcode zugänglich machen musst, hat nichts mit dem
> Compilerschalter zu tun. Es hat nur damit zu tun, ob dein Endprodukt ein
> abgeleitetes Werk ist.

Nein. Sondern ob es Code nutzt, der unter LGPL lizensiert ist. Das macht 
den Unterschied und solltest du auch wissen wenn du entsprechenden Code 
benutzt.

von MaWin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
hans im glück schrieb:
> Nein. Sondern ob es Code nutzt, der unter LGPL lizensiert ist. Das macht
> den Unterschied und solltest du auch wissen wenn du entsprechenden Code
> benutzt.

Ja eben. Das sagte ich doch.
Es hängt keinesfalls vom Compilerschalter ab.

von Axel S. (a-za-z0-9)


Bewertung
0 lesenswert
nicht lesenswert
hans im glück schrieb:
> MaWin schrieb:
>> Ob du den Quellcode zugänglich machen musst, hat nichts mit dem
>> Compilerschalter zu tun. Es hat nur damit zu tun, ob dein Endprodukt ein
>> abgeleitetes Werk ist.
>
> Nein. Sondern ob es Code nutzt, der unter LGPL lizensiert ist. Das macht
> den Unterschied und solltest du auch wissen wenn du entsprechenden Code
> benutzt.

Glashaus. Steine. "Code nutzen" != "abgeleitetes Werk"

Noch zwei Anmerkungen Richtung TE:

1. wenn du die Lizenz nicht selber interpretieren kannst, mußt du dir 
entweder Hilfe suchen oder du kannst die Software nicht verwenden.

2. Hilfe in Rechtsfragen wirst du in einem Forum eher nicht finden. Oder 
meinst du, jemand der dir hier einen Rat gibt, wird dir im Falle eines 
Rechsstreits auch vor Gericht beistehen? Eben.

von Bernhard R. (bernhard_r28)


Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Es ist vollkommen unlogisch, wenn ich den Quellcode zugänglich machen
> muss, nur weil ich beim Compilieren einen anderen Schalter verwende.
>
> Ob du den Quellcode zugänglich machen musst, hat nichts mit dem
> Compilerschalter zu tun. Es hat nur damit zu tun, ob dein Endprodukt ein
> abgeleitetes Werk ist.

Es ist keineswegs unlogisch, hat aber auch nichts mit dem 
Compilerschalter zu tun. Davon steht, meines Wissens nach, nichts in der 
Lizenz. Die LGPL besagt, dass dem Anwender die Möglichkeit eingeräumt 
werden muss, im "freien" Teil der Software Fehler zu beseitigen, oder 
diesen zu erweitern. Er darf also an der "open source" Lib rumpfuschen 
und das ganze muss, sofern er sich nichts zerballtert, mit der 
gelieferten Anwendung laufen.

Wenn du die Lib statisch mit in das Binary einbindest ist dies nicht 
mehr möglich. Folge dessen greift dort das Copyleft Prinzip der Lizenz. 
Es sind aber durchaus auch andere kreative Ansätze unterwegs, wie man 
die Forderungen der Lizenz erfüllen kann.

Aber wie schon geschrieben wurde, sollte man bei Unsicherheiten mit der 
Lizenz einen spezialisierten Advokaten zu Rate ziehen.

von (prx) A. K. (prx)


Bewertung
2 lesenswert
nicht lesenswert
Bernhard R. schrieb:
> Fall 1: [Dein Code] + [LGPL Lib als Static Library (.a file)]
> Du musst deinen Quellcode zugänglich machen weil er zur compile Zeit
> eine Einheit mit deinem Code bildet.

"If you statically link against an LGPL'd library, you must also provide 
your application in an object (not necessarily source) format, so that a 
user has the opportunity to modify the library and relink the 
application."

https://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic

von Bu B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi
bleibt die frage: muss ich mein selbst geschriebenes code als object 
file dem kunden oder der gesamten community zur verfügung stellen?

von Timmo H. (masterfx)


Bewertung
0 lesenswert
nicht lesenswert
Bu B. schrieb:
> Hi
> bleibt die frage: muss ich mein selbst geschriebenes code als object
> file dem kunden oder der gesamten community zur verfügung stellen?
Alle die es benutzen müssen dazu in der Lage sein es neu zu linken. 
Stellst du es auf deine Homepage gehören die obj files dazu, bzw. es ist 
glaube ich auch hinreichend die auf Nachfrage zur Verfügung zu stellen.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.