GPL ?

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo Zusammen,

ich habe da mal eine Frage zur GPL. Im Internet gibt es verschiedenste Bibliotheken zum Beispiel für Java, die unter der GPL stehen. Wenn ich diese Bibliotheken verwenden, also nicht ändere oder anpasse, muss dann mein Programm auch unter der GPL stehen. In der wikipedia steht soetwas, aber dann wären ja alle Bibliotheken nur sinnvoll, wenn man selber ein Programm unter die GPL stellen möchte.

Da stellt sich die nächste Frage, ob das Programm schon unter der GPL steht, sofern ich das mit Eclipse erstelle, ist glaube ich auch GPL.

Vielleicht kann einer Licht ins Dunkle bringen.

Danke
 
R

Roar

Gast
zu 1: ja, wenn du eine lgpl bilbiliothek benutzt muss dein programm auch unter die gpl lizenz gestellt werden.

zu 2: nein, natürlich nicht, wär ja vol der absturz, außerdem is eclipse nich gpl sondern hat ne eigne, auch kommerziell freundliche, lizenz.
 

Lim_Dul

Top Contributor
Roar hat gesagt.:
zu 1: ja, wenn du eine lgpl bilbiliothek benutzt muss dein programm auch unter die gpl lizenz gestellt werden.

zu 2: nein, natürlich nicht, wär ja vol der absturz, außerdem is eclipse nich gpl sondern hat ne eigne, auch kommerziell freundliche, lizenz.

Dein 1 stimmt irgendwie nicht, du meinst vermutlich die gpl und nicht die LGPL

Bei GPL Bibliotheken muss das Programm auch unter die GPL gestellt werden.
Bei LGPL Bibliotheken nicht.
 

Wildcard

Top Contributor
Lim_Dul hat gesagt.:
Dein 1 stimmt irgendwie nicht, du meinst vermutlich die gpl und nicht die LGPL

Bei GPL Bibliotheken muss das Programm auch unter die GPL gestellt werden.
Auch falsch, nur der entsprechende Teil des Programms muss unter GPL stehen.
 
G

Gast

Gast
Danke erstmal für die Antworten......den Unterschied zwischen GPL und LGPL habe ich auch schon finden können..

Nun ist natürlich wirklich von Interesse, ob nur der Teil der die externe Bibliothek verwendet und GPL gestellt werden muss oder doch das ganze Programm. Wer entscheidet dann, was "nur der Teile der das externe Programm verwendet" bedeutet?

Wie sieht soetwas zum Beispiel aus, wenn ich das unter "wirklich" unt GPL stehende Plugin fatjar benutze?

Bei externen Bibliotheken kann ich ja einfach welche verwenden, die unter der BSD bzw. der Apache 2.0 Lizenz stehen. (Wobei ich gerade nicht weiß, ob diese theoretisch auch statisch gelinkt werden dürfen.) Aber was mache ich bei Plugins für Eclipse die unter GPL stehen?

Gruß
 

-frank

Bekanntes Mitglied
Wildcard hat gesagt.:
Auch falsch, nur der entsprechende Teil des Programms muss unter GPL stehen.

mich würde auch interessieren, wie das genau zu verstehen ist. angenommen ich verwende irgendein LGPL-Tool, um Drucker über USB oder parallele Schnittstelle anzusprechen (nur ein x-beliebiges beispiel). Mein Programm ist beispielsweise ein Tool, das bestimmte objekte auswertet (und das ergebnis eben drucken kann). diese auswertungen verwende ich bei der entwicklung von programm X. das programm kann mit dem auswertungstool kommunizieren, zb über Sockets bzw. ne geeignete definierte schnittstelle (um die auszuwertenden daten bereitzustellen), muss aber weder mit dem auswertungstool noch direkt mit dem LGPL-Drucker-Tool gelinkt werden.

sehe ich das richtig, dass das auswertungstool dann zwar closed-surce sein kann, aber frei zur verfügung gestellt werden muss und reverse-engineered werden darf?
.. dass programm XY eine beliebige Lizenz haben darf?
 

Wildcard

Top Contributor
Ich bin kein Jurist, daher schildere ich lediglich wie ich die Sache sehe.
LGPL ist schonmal was ganz anderes. AFAIK muss alles was gegen GPL Code verlinkt ebenfalls GPL sein.
Wenn man jedoch mit einem GPL Programm über Sockets oder ähnliches kommuniziert muss das eigene Programm nicht unter GPL gestellt werden.
 

-frank

Bekanntes Mitglied
Wildcard hat gesagt.:
Ich bin kein Jurist, daher schildere ich lediglich wie ich die Sache sehe.
LGPL ist schonmal was ganz anderes. AFAIK muss alles was gegen GPL Code verlinkt ebenfalls GPL sein.
Wenn man jedoch mit einem GPL Programm über Sockets oder ähnliches kommuniziert muss das eigene Programm nicht unter GPL gestellt werden.

Also kommunikation über sockets oder auch nur reine verwendung (ausführen des programmcodes) eines programms während der entwicklung eines anderen programms XY, hat überhaupt keinen einfluss auf die lizenz des entwickelten programms XY oder? (entscheidend ist das linken des codes)

bei LGPL ist der große unterschied ja zwischen linken oder direktes einbinden (+ verändern) des codes. verlinke ich das unveränderte jar-file, muss mein programm nicht LGPL sein.
verändere ich das LGPL tool aber, muss mein eigenes programm A auch LGPL sein. verwende ich A unverändert in Programm B, kann B wieder ne andere Lizenz haben, oder?
--> ich kann durch splitten meines eigenen programms in zwei teile ermöglichen, dass nur der eine teil, der das LGPL tool verwendet, auch LGPL sein muss?
(bei GPL geht dies nicht, denn da kann theoretisch eine einzelne GPL datei dazu führen, dass ein riesenprojekt GPL sein muss. korrekt?)
 
R

Roar

Gast
Wildcard hat gesagt.:
Wenn man jedoch mit einem GPL Programm über Sockets oder ähnliches kommuniziert muss das eigene Programm nicht unter GPL gestellt werden.

alles andere wär ja noch schöner, wenn ich meinen webbrowser open sourcen muss damit er mit einem gpl server auf einem linux server kommunizieren darf
aj.gif
 

Hilefoks

Bekanntes Mitglied
-frank hat gesagt.:
sehe ich das richtig, dass das auswertungstool dann zwar closed-surce sein kann, aber frei zur verfügung gestellt werden muss und reverse-engineered werden darf?
.. dass programm XY eine beliebige Lizenz haben darf?
Closed-Source und frei ist ein widerspruch in sich. Das Verbot des Reverse-Engineering ist eine Lizenzklausel die dem Zweck der Abschreckung dient und kaum irgendwelche Gesetze folgt. Zwar wird Reverse-Engineering in verschiedene Ländern von verschiedenen Gesetzen eingeschrängt, gänzlich verboten ist es aber nicht einmal in den USA - und mit der gewählten Lizenz hat es so gut wie gar nichts zu tun.

-frank hat gesagt.:
Also kommunikation über sockets oder auch nur reine verwendung (ausführen des programmcodes) eines programms während der entwicklung eines anderen programms XY, hat überhaupt keinen einfluss auf die lizenz des entwickelten programms XY oder? (entscheidend ist das linken des codes)
Ja.

-frank hat gesagt.:
bei LGPL ist der große unterschied ja zwischen linken oder direktes einbinden (+ verändern) des codes. verlinke ich das unveränderte jar-file, muss mein programm nicht LGPL sein.
verändere ich das LGPL tool aber, muss mein eigenes programm A auch LGPL sein. verwende ich A unverändert in Programm B, kann B wieder ne andere Lizenz haben, oder?
Nein. Wenn eine Bibliothek unter der LGPL (nicht GPL) steht berührt das die Lizenz deines Programms nicht. Wenn du die Bibliothek veränderst musst du aber diese veränderungen wieder unter der LGPL (oder auch GPL) veröffentlichen. Wie gesagt: Die Lizenz für dein Programm ändert sich dabei nicht.

-frank hat gesagt.:
--> ich kann durch splitten meines eigenen programms in zwei teile ermöglichen, dass nur der eine teil, der das LGPL tool verwendet, auch LGPL sein muss?
Überflüssig - siehe oben.

-frank hat gesagt.:
(bei GPL geht dies nicht, denn da kann theoretisch eine einzelne GPL datei dazu führen, dass ein riesenprojekt GPL sein muss. korrekt?)
Richtig.

MfG,
Hilefoks
 

-frank

Bekanntes Mitglied
Hilefoks hat gesagt.:
Closed-Source und frei ist ein widerspruch in sich. Das Verbot des Reverse-Engineering ist eine Lizenzklausel die dem Zweck der Abschreckung dient und kaum irgendwelche Gesetze folgt. Zwar wird Reverse-Engineering in verschiedene Ländern von verschiedenen Gesetzen eingeschrängt, gänzlich verboten ist es aber nicht einmal in den USA - und mit der gewählten Lizenz hat es so gut wie gar nichts zu tun.

bin jetzt etwas verwirrt. bin in diesem absatz drauf gestoßen:
If you distribute a Java application that imports LGPL libraries, it's easy to comply with the LGPL. Your application's license needs to allow users to modify the library, and reverse engineer your code to debug these modifications. This doesn't mean you need to provide source code or any details about the internals of your application. Of course, some changes the users may make to the library may break the interface, rendering the library unable to work with your application. You don't need to worry about that -- people who modify the library are responsible for making it work.
quelle: http://www.gnu.org/licenses/lgpl-java.html

mir ist nicht ganz klar, was es nun mit diesem reverse engineering auf sich hat in zusammenhand mit LGPL.

Nein. Wenn eine Bibliothek unter der LGPL (nicht GPL) steht berührt das die Lizenz deines Programms nicht. Wenn du die Bibliothek veränderst musst du aber diese veränderungen wieder unter der LGPL (oder auch GPL) veröffentlichen. Wie gesagt: Die Lizenz für dein Programm ändert sich dabei nicht.

ahh. alles klar. das ist dann ja eigentlich schon sehr unproblematisch.

so wie das gelesen habe, ist das Java mit der Vererbung auch kein Problem. also ne "Veränderung" bedeutet, den SourceCode zu verändern und neu zu kompilieren. Solange ich mit dem jar-file auskomme, ohne es zu verändern und nur per Vererbung bestimmte klassen erweitere, ist das keine veränderung im sinne der LGPL, sondern eben eine linken (per import statement). richtig?

---

hmm, und GPL endet dort, wo ich - vereinfacht gesagt - die GPL-Software nicht mehr im classpath haben muss bzw. keine dependency mehr habe:
also wenn Programm A GPL ist und Programm B linkt A, dann ist B GPL und auch C muss GPL sein, wenn es B linkt. sobald ich aber nur noch ne gemeinsame schnittstelle D definiere (die weder A,B noch C linkt, sondern nur von C gelinkt wird) und E dann nur mehr D benötigt, dann sind D und E frei von der GPL. (?)

hoffe ich habs jetzt kapiert ;)
 
Status
Nicht offen für weitere Antworten.

Oben