GPL

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich habe mal eine Grundsätzliche frage zur GPL.

Verstehe ich das richtig?

Wenn ich eine Bibliothek nutze (nicht verändere) die unter GPL steht dann muss ich meine Software ebenso unter GPL stellen? Das einstellen als LGPL reicht nicht aus.

Danke
 

Noar

Bekanntes Mitglied
Ja, soweit ich weiß, ist das korrekt.
Das ist ja einer (für mich der einzig wichtige) Unterschied zur LGPL.

Steht eine Lib unter LGPL, dann kann das verwendende Programm eine andere Lizenz haben. Bei GPL nicht.
 
F

Fritz Walter

Gast
Es sei denn du kannst den OpenSource Teil in ein getrenntes Modul unterbringen, dass nur dynamisch dazu geladen wird. Damit brauchst du nur die Änderungen an dem Modul zur Verfügung zu stellen. Deine Software bleibt davon unberührt.
 
T

tuxedo

Gast
Fritz Walter hat gesagt.:
Es sei denn du kannst den OpenSource Teil in ein getrenntes Modul unterbringen, dass nur dynamisch dazu geladen wird. Damit brauchst du nur die Änderungen an dem Modul zur Verfügung zu stellen. Deine Software bleibt davon unberührt.

Das was du meinst ist "linken". Das stammt aus der C/C++ Welt. In Java ist das eher etwas anderes und somit nicht ganz so einfach.

Wer eine Anwendung schreibt, welche eine GPL Bibliothek nutzt um damit eine Funktion im eigenen Programm anbieten zu können, der zwangsläufig von der Bibliothek abgeleitet ist, MUSS sein eigenes Werk ebenfalls unter die GPL stellen (sofern er das Ding nicht für "privat only" bastelt). Wie sie eingebunden ist, spielt dann keine Rolle mehr.

Etwas anders ist es bei Treiberbibliotheken. Ich nehm mal das Beispiel SQL-Explorer/Browser....
Java nutzt hier eine JDBC-Schnittstelle. Ich kann also eine Anwendung schreiben die man für alle JDBC-Kompatiblen Treiber "konfigurieren" kann. Und zwar zur Laufzeit. Ich binde mich damit nicht fest an eine Funktion eines speziellen GPL-Lizensierten Moduls und leite somit auch nicht davon ab.

Ich weiß, die Meinungen zum Thema GPL und dem Linken/Einbinden/dynamisch laden gehen stark ausseinander. Aber ich stütze mich da gerne auch Fachbücher. Meine Aussagen hab ich soweit aus "Die GPL kommentiert und erklärt" ISDB 3-89721-389-3

Online gibts das Kapitel "Ziffer 2 GPL" als PDF. Mal schauen ob ich den Link nochmal finde ...*suchengeh* *gefunden*

http://www.oreilly.de/german/freebooks/gplger/pdf/025-168.pdf -> Seite 33/144 erklärt das Thema recht gut.

- Alex
 
F

Fritz Walter

Gast
alex0801 hat gesagt.:
Fritz Walter hat gesagt.:
Das was du meinst ist "linken". Das stammt aus der C/C++ Welt. In Java ist das eher etwas anderes und somit nicht ganz so einfach.

Wer e
- Alex

Unter Java dachte ich da an "Reflection". Damit können auch Programmteile dynamisch eingeladen werden.
 
T

tuxedo

Gast
Hmm, okay. Das wäre eine Möglichkeit.

Aber die Sache mit dem Ableiten bleibt. Wenn du aus so einer Bibliothek eine Funktion "gewinnst", hast du dein Programm davon abgeleitet (nicht zu verwechseln mit "Vererbung in Java").

WENN dann müsstest du wirklich eine Plug-In Schnittstelle haben, wo du beliebige andere Bibiotheken anflanschen kannst, welche sogesehen die gleichen Funktionen bieten. Erst dann wird man sagen können: Okay, die Funktion ist nicht abgeleitet von dieser einen Bibiothek. Es gibt ja noch mindestens eine andere Bibliothek die das auch kann.

Ob du dann Reflection verwendest, oder eine Konfigurationsdatei welche sowas wie einen JDBC-Treiber lädt, ist dann wurscht.

Maßgebend ist die Sache mit dem "ableiten". In der PDF wird das echt gut erklärt.
 

thE_29

Top Contributor
Naja, ich habe das zB bei einem Programm von mir gemacht!

Die SW ist kommerziell! Benutzt aber PdfBOX als PDF Drucker. Aber nur dann wenn man es über das Programm als Plugin runterlädt.

Dh, ich liefere es nicht aus und pdf´s drucke ich im default Fall über den Adobe Reader aus (falls nicht vorhanden gar nicht).
Erst wenn der user sagt, lade PDFBox runter und nutze es (via Reflection wird geschaut obs im classpath ist).

So wäre der Gebrauch ja legal oder?

Oho, das ist ja unter BSD Lizenz und da entfällt sowieso das Copyleft zeugs..
 
T

tuxedo

Gast
Jupp. Denke da würde es keine Probleme geben. Du hast ja noch die alternative Acrobat als default drin.

Bin aber natürlich kein Rechtsverdreher. Ist also eher eine Meinung als eine rechtlich verbindliche Aussage.

Aber da's ja eh BSD ist, isses wurscht.
 
G

Gast

Gast
Danke,

leider war ich die letzten Tage ans Bett gefesselt.

Ich habe folgende Konstellation. Ich bastel mir gerade ein kleines Programm und nutze dort eine kommerzielle Library für das "Look and Feel" (20 EUR, aber eben nicht GPL).

Zudem möchte ich einen kleinen WebBrowser für das Hilfesystem einbinden und bin hier auf Lobo (GPL) gestoßen. Die Software will ich als Freeware (angedacht war closed source) auf meine HP stellen. Mit der GPL und damit der Offenlegung des Codes könnte ich mich vielleicht auch anfreunden.

Da jedoch die GPL die Offenlegung des Sourccodes verlangt und ich die "Look and Feel" Komponente nicht offen legen kann geht das nach meinem Verständnis nicht oder? Also entweder Lobo oder eben die LuF-Komponente richtig?

Kennt jemand ggf. Alternativen was den WebBrowser betrifft? Muss nur HTML 3 darstellen sowie Links und Forms unterstützen.
 
T

tuxedo

Gast
Jupp, GPL ist wie ein zwingender Virus. Alles was sich davon nicht befallen lässt (wg. closed-source z.B.) ist damit nicht kompatibel und somit nicht GPL-konform.

- Alex
 
J

Julia17

Gast
Ich klinke mich hier einfach mal ein.

Es gibt ein kleines Shell-Programm welches der Entwickler unter eine eigene Lizenz gestellt hat. Dieses ist für Privatanwender Kostenlos für Gewerbetreibende nimmt er einen Obulus von 5 EUR. Das Proggi ist ohne GUI ausgestattet, die Schnittstellen sind vom Entwickler offen gelegt.

Ich habe jetzt eine einfache (kleine) GUI gebastelt und möchte die auf meine HP stellen. Kann ich die GUI denn nun unter LGPL oder GPL stellen?

THX
 

ice-breaker

Top Contributor
Neija es gibt da eine weitere Möglichkeit die GPL zu umgehen ;)
Es heisst ind er Lizenz, wenn man nur über die Kommandozeile eine Programm bedient, ist man mit diesem Programm (GPL) nicht genug vertraut, so dass man es als abgeleitetes Programm bezeichnen kann.
Pack doch deinen PDF-Drucker als Standalone-Programm, release das als GPL-Programm in Sourceforge (damit kann man ja noch nicht viel anfangen) und rufe dieses Programm dann per Kommandozeile in deinem Programm auf um PDFs zu drucken ;)

Aber das mit Reflection ist nicht einfach zu klären, du hast es zwar nicht dauerhaft geladen nutzt trotzdem aber im Zweifelsfall Methoden aus diesem Programm. Am besten mal die Free Software Foundation fragen oder Google befragen. Weil ich denke so einfach ist es nicht, sonst würden ja alle irgendwelche GPL-Software nur noch per Reflection ansprechen
 
T

tuxedo

Gast
Wenn die Lizenz/Lib des Entwicklers kompatibel zur GPL/LGPL ist: Ja.

Ob das so ist: Entwickler fragen.

- Alex
 
T

tuxedo

Gast
ice-breaker hat gesagt.:
Neija es gibt da eine weitere Möglichkeit die GPL zu umgehen ;)
Es heisst ind er Lizenz, wenn man nur über die Kommandozeile eine Programm bedient, ist man mit diesem Programm (GPL) nicht genug vertraut, so dass man es als abgeleitetes Programm bezeichnen kann.
Pack doch deinen PDF-Drucker als Standalone-Programm, release das als GPL-Programm in Sourceforge (damit kann man ja noch nicht viel anfangen) und rufe dieses Programm dann per Kommandozeile in deinem Programm auf um PDFs zu drucken ;)

Aber das mit Reflection ist nicht einfach zu klären, du hast es zwar nicht dauerhaft geladen nutzt trotzdem aber im Zweifelsfall Methoden aus diesem Programm. Am besten mal die Free Software Foundation fragen oder Google befragen. Weil ich denke so einfach ist es nicht, sonst würden ja alle irgendwelche GPL-Software nur noch per Reflection ansprechen

Was auch geht, ist die GPL mittels Netzwerk zu entkoppeln ... Weil eine "fortplanzung" via TCP/IP und Co. ist nicht möglich. Sonst müsste ja auch jeder Browser der auf einen GPL-Lizensierten Webserver zugreift GPL lizensiert sein ;-)
 

Janus

Bekanntes Mitglied
alles, was direkt GPL lizensierte teile verwendet, muss ebenfalls unter der GPL veröffentlicht werden. bei verteilter software betrifft das dann natürlich nur die teile, die tatsächlich GPL verwenden. es kann durchaus möglich sein, dass ein serverteil unter GPL steht, die klienten aber nicht.

GPL ist aber in höchstem maße infektiös. im grunde ist es auch recht einfach nachzuvollziehen. wenn ich in meinem programm eine eigene lib verwende und diese dann GPL teile verwendet, dann steht meine lib auch plötzlich unter der GPL und daraus folgt natürlich, dass mein programm auch unter GPL stehen muss ;)

für software, die closed source sein soll, sollte man am besten einfach auf GPL teile verzichten. so macht man sich keinen stress.
 
J

Julia17

Gast
Hier muss ich nochmal einhaken:

"Wenn die Lizenz/Lib des Entwicklers kompatibel zur GPL/LGPL ist: Ja."

Ist die Lizenz damit nicht automatisch "nicht" GPL/LGPL konform, da
1) das Hauptprogramm closed source ist
2) er für die kommerzielle Anwendung 5 EUR verlangt?

Zweite frage gleich dazu:

"für software, die closed source sein soll, sollte man am besten einfach auf GPL teile verzichten. so macht man sich keinen stress."

LGPL Teile kann ich jedoch verwenden?
 

Janus

Bekanntes Mitglied
jo, LGPL ist ja auch nicht GPL.

und für software, die unter GPL steht, geld zu verlangen ist völlig legitim.
 
J

Julia17

Gast
"und für software, die unter GPL steht, geld zu verlangen ist völlig legitim."

Das war mir gar nicht so bewusst, richtig. Aber das es sich um closed source handelt. Sonst hätte der Entwickler des Programms diesen ja offengelegt schließt damit die GPL aus. Ich kann aber die LGPL nehmen.

Kläre das aber nochmal mit dem Entwickler. Mal gucken ob der noch lebt ;-) Die Software ist immerhin aus den 70ern.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben