# Fragen zur GPL-Lizenzform



## frischfisch (26. Feb 2007)

Balian hat gesagt.:
			
		

> Für ne kommerzielle Anwendung kommen da ja auch nur LGPL-Bibliotheken in Frage.


Ist das so?  :shock: 
Man kann doch auch GPL-Projekte einsetzen, solang man den Quellkode nicht ändert. Oder hab ich da was falsch verstanden? Man muss doch nur Änderungen am GPL-Projekt wieder unter GPL verfügbar machen. Sonst dürfte man auch MySQL nicht in kommerziellen Anwendungen nutzen...

Grüße, frischfisch.


----------



## AlArenal (26. Feb 2007)

Wenn du GPL-Code beispielsweise als Lib in deiner Anwendung einsetzt, muss auch die Anwendung unter die GPL gestellt werden (starkes Copyleft-Prinzip). Siehe http://de.wikipedia.org/wiki/Gpl

Allerdings gibt es auch kommerziell verträgliche Lizenzen neben der LGPL, z.b. die Apache Lizenz, BSD-Lizenzen, ...


----------



## DP (26. Feb 2007)

wikipedia hat gesagt.:
			
		

> Das Wort "frei" bedeutet das Recht, die Software nach den eingeräumten vier Freiheiten verwenden zu dürfen. Das Wort frei ist im Sinne von Freiheit zu verstehen, benennt also einen Zustand der Autonomie und Unabhängigkeit.[1]
> 
> Die GPL gewährt jedermann die folgenden vier Freiheiten als Bestandteile der Lizenz.
> 
> ...






			
				AlArenal hat gesagt.:
			
		

> Wenn du GPL-Code beispielsweise als Lib in deiner Anwendung einsetzt, muss auch die Anwendung unter die GPL gestellt werden



imo nur wenn die software verteilt wird. wenn nicht, muss nichts dergleichen passieren.


----------



## AlArenal (26. Feb 2007)

DP hat gesagt.:
			
		

> AlArenal hat gesagt.:
> 
> 
> 
> ...



Da bin ich ehrlich gesagt überfragt, da ich den Fall noch nicht hatte und mir gerne Möglichkeiten offen lasse. Ich kann mir gut vorstellen, dass es selbst Richard Stallman nicht kratzt, wenn ich GPL-Libs nutze um mein Hello-World zu schreiben, ohne es zu veröffentlichen. Das Ganze klingt ein wenig nach "Was ich nicht weiß, macht mich nicht heiß". 

Und entwickle ich eine unternehmensinterne Anwendung, dann kann mir die GPL auch früher oder später im Weg stehen. Was, wenn die Forma in verschiedene Gesellschaften aufgeteilt ist/wird, aber bei allen verfügbar sein muss? Ist das dann schon "Verteilung"? Und wird sowas nicht in der Regel intern gegengerechnet, allein schon steuerschiebungstechnischen Gründen? (Firma A spaltet sich auf in Firma A1 (Consulting) und A2 (techn. Dienstleistungen) und A2 stellt A1 die eben noch A-interne Software in Rechnung...)


----------



## DP (26. Feb 2007)

also irgendwie passt das alles nicht zusammen. die gpl interessiert mich nen feuchten dreck ehrlich gesagt.

java ist mittlerweile auch gpl. müsste ja jede firma ihren quellcode offenlegen, sofern dieser mit java geschrieben wurde :applaus:


----------



## AlArenal (26. Feb 2007)

DP hat gesagt.:
			
		

> also irgendwie passt das alles nicht zusammen. die gpl interessiert mich nen feuchten dreck ehrlich gesagt.



Och, wenn du dich verklagen lassen möchtest, bitte...



> java ist mittlerweile auch gpl. müsste ja jede firma ihren quellcode offenlegen, sofern dieser mit java geschrieben wurde :applaus:



Und "Java ist mittlerweile auch GPL" ist nicht nur grammatisch nicht die ganze Wahrheit 

Geh mal in ein JDK-/JRE-Hauptverzeichnis deiner Wahl und lies dir den "Binärcode-Lizenzvertrag" durch


----------



## DP (26. Feb 2007)

AlArenal hat gesagt.:
			
		

> DP hat gesagt.:
> 
> 
> 
> ...



okay. nehmen wir mal ein beliebiges forum. durch einen werbebanner ist die ganze sache schon kommerziell und, sofern mysql eingesetzt wird, ist eine kommerzielle mysql-lizenz fällig. nenn mir mal ein forum das eine mysql-lizenz bezahlt hat.


----------



## AlArenal (26. Feb 2007)

MySQL wird pro Installation lizenziert, nicht pro User. Da ich annehme, dass die meisten Foren nicht auf dedizierten Servern laufen, ist die Lizensierung nicht Aufgabe der Kunden des Webhosters.

Weiterhin ist MySQL egal ob das Forum Werbung beinhaltet. Wichtig ist, ob die MySQL-Anwendung einer DFSG-freien (Debian Free Software Guidelines), GPL-inkompatiblen Lizenz unterliegt oder nicht.

Zu Info:
Als Anbieter einer Closed-Source Software mit MySQL-Backend vertreiben wir auch MySQL-Lizenzen.


----------



## DP (26. Feb 2007)

also nochmal für die dummen unter uns 

1. ich setze apache tomcat ein
2. ich nutze etliche apache-frameworks
3. ich nutze diverse andere gpl-frameworks 

für unsere firmeninterne warenwirtschaft ein.

müsste ich jetzt den ganzen quellcode, inkl. dem der die businesslogik enthält veröffentlichen?!

wohl kaum?!

danke


----------



## AlArenal (26. Feb 2007)

So lange du das Ding nicht weitergibst, wohl nicht. Aber ich muss zugeben dass mir das aus dem Englishcen übersetzte Anwalts-Kauderwelsch auch nicht so liegt. Da bekommt man ziemliche Kopfschmerzen beim Lesen. 

Daher hat man für solche Fälle Anwälte, die man fragen kann und die sich schlau machen.

Ich habe für uns beschlossen, dass wir grundsätzlich keinen GPL-Code verwenden und damit ist der Käse für uns intern gegessen.


----------



## DP (26. Feb 2007)

hmm... also lt. http://www.oreilly.de/german/freebooks/gplger/pdf/001-024.pdf



> Bei der bloßen Benutzung, also dem Ablaufenlassen der Software, bestehen überhaupt
> keine Pflichten (siehe Ziffer 0 GPL Rz. 18).



verstehe ich das so, dass wenn die software, wo gpl eingesetzt wird, nicht vertrieben/verbreitet wird, nicht unter gpl gestellt werden muss?!

 :roll:


----------



## Lim_Dul (26. Feb 2007)

Genau Quellen müsste ich auch nachschlagen, aber es ist meines Wissens so:

Sobald du Software *vertreibst*, die Teile nutzt, die unter der GPL stehen, musst du den gesamten SourceCode veröffentlichen. Für dich intern ist es egal.

Solange also eure interne Warenwirtschaft intern bleibt ist alles ok. Sobald ihr aber anfangt, dass System an andere zu verteilen, müsst ihr auch den SourceCode mitliefern, wenn ihr GPL Frameworks nutzt.


----------



## DP (26. Feb 2007)

das hört sich ja schon besser an 

was wäre wenn 

a) die wawi mittels gpl erstellte pdf-files verschickt?

b) man einen unter gpl stehenden shop einsetzt und für sich selbst modifiziert?

danke


----------



## Lim_Dul (26. Feb 2007)

Ist irrelevant, weil du ja die Software nicht vertreibst.


----------



## DP (26. Feb 2007)

jau, vielen dank


----------



## Hilefoks (22. Apr 2007)

frischfisch hat gesagt.:
			
		

> Balian hat gesagt.:
> 
> 
> 
> ...


Da bringst du was durcheinander. 

Die GPL verfolgt das Ziel das freie Software frei bleibt. Um dies zu gewährleisten muss jedes abgeleitete Werk wieder unter die GPL gestellt werden. Wenn jemand GPL-Software also verändert muss der neue Code ebenfalls unter der GPL veröffentlicht werden. Aber auch wer sein Programm gegen eine GPL-Bibliothek linkt muss dieses Programm unter der GPL veröffentlichen. Dies gilt natürlich nicht wenn man GPL Programme als Werkzeug benutzt um neue Werke zu erstellen, diese neuen Werke also nicht abgeleitete Werke darstellen. Dies trifft also auf Editoren, Codegeneratoren, Interpreter und Compiler, usw. zu. Einfacher ausgerückt (aber ungenauer): Ein Programm muss unter die GPL gestellt werden wenn es ohne bereits existierenden GPL-Code (Bibliotheken, Copy-Paste, oder woher auch immer) nicht lauffähig ist. 

Bei deiner Assoziation zu MySQL sieht es etwas anders aus. Im Regelfall kommunizierst du nur mit dem MySQL Server. Wenn du für diese Kommunikation keine GPL Bibliothek verwenden musst (wie z.B. in PHP) muss dein Programm auch nicht unter der GPL stehen. Es ist also nicht so das du allein für die Kommunikation mit einem GPL-Programm bereits deine Software unter die GPL stellen musst - wäre dem so müsste auch Windows inzwischen freie Software sein. ;-)

Einige Hersteller benutzen dabei den gleichen "Trick" um die Lizenz des Linux Kernels zu umgehen. Ein umstrittenes Beispiel hierfür sind NVidia und AMD/ATI. Sie stellen einen unter der GPL stehenden Kernel-Patch für den ebenfalls GPL lizenzsierten Linux-Kernel bereit. Ihre eigentlichen Grafikkarten-Treiber sind durch diese Patches dann in der Lage zur Laufzeit mit dem Kernel zu kommunizieren ohne dabei wirklich von GPL-Code abhängig zu sein.

GPL und kommerziell sind aber nicht zwingend zwei paar Schuhe. Beispiele hierfür sind neben MySQL auch Trolltech (Qt) oder sogar die Linux-Distributoren. Es nicht verboten GPL-Programme zu verkaufen. Ebenso ist es erlaubt ein Programm doppelt zu lizenzieren. 



			
				db hat gesagt.:
			
		

> 1. ich setze apache tomcat ein
> 2. ich nutze etliche apache-frameworks
> 3. ich nutze diverse andere gpl-frameworks





			
				db hat gesagt.:
			
		

> a) die wawi mittels gpl erstellte pdf-files verschickt?
> b) man einen unter gpl stehenden shop einsetzt und für sich selbst modifiziert?


Apache ist nicht GPL. Über die anderen GPL-Frameworks wirst du dir gedanken machen müssen. ;-)
Einen unter GPL stehenden Shop wirst du wohl kaum vertreiben, sondern einsetzen und was ein wawi ist weiß ich nicht, allerdings setzt du das GPL-Programm wohl eher als Werkzeug ein.

... oh - schon so spät... ich sollte ins Bett gehen. ;-)

MfG,
Hilefoks


----------



## Sladda (3. Jun 2007)

Jetzt muss ich aber nochmal etwas doof hinterherfragen, weil mir diese Lizenzgeschichte immer noch nicht ganz klar ist:

angenommen ich habe eine Java-Applikation geschrieben, die mit Hilfe des mysql-java-connectors 5.0.6 (GPL) auf einer von mir erstellten MySQL-DB arbeitet.

Diese Applikation verkaufe ich nun (kommerziell) an X Kunden. 

GPL ? Code offenlegen ? Wie Wo Was ?

Vielen Dank!
mfg

P.S.: Ist die MySQL Installation der Datenbank auf dem dedicated Server Lizenzpflichtig?


----------



## Wildcard (3. Jun 2007)

In einer nicht GPL Software kannst du nicht gegen einen GPL Connector linken.
MySQL ist dual lizensiert.
Es gibt eine GPL Version und eine Lizenz für den kommerziellen Einsatz.


----------



## MaraMuse (29. Jun 2007)

> In einer nicht GPL Software kannst du nicht gegen einen GPL Connector linken.
> MySQL ist dual lizensiert.
> Es gibt eine GPL Version und eine Lizenz für den kommerziellen Einsatz.



Habe ich mit folgender Konstruktion eine gültige Lösung?

Mein Programm läuft ohne Connector problemfrei, kann dann aber nicht auf MySQL zugreifen.
Es wird ohne Connector (kommerziell) ausgeliefert.
In der Doku steht, wer auf MySQL zugreifen will, muss sich den Connector selbst runterladen und reinkopieren.
Dabei muss er ggfs. eine kommerzielle Lizenz erwerben.
Mit dieser Konstruktion müsste mein Programm doch GPL-frei bleiben können und dennoch auf MySQL zugreifen können?

Ansonsten müsste tatsächlich mal jemand einen LGPL/Apache/BSD-lizensierten Connector schreiben...

Gruss

MaraMuse


----------



## Hilefoks (30. Jun 2007)

"Was man dem Gemeinwesen schenkt, gibt man nicht einem." _(Französisches Sprichwort)_



			
				MaraMuse hat gesagt.:
			
		

> Habe ich mit folgender Konstruktion eine gültige Lösung?


Ja, wenn du dann nicht mehr gegen den Connector linkst kannst du das so machen. 



			
				MaraMuse hat gesagt.:
			
		

> Ansonsten müsste tatsächlich mal jemand einen LGPL/Apache/BSD-lizensierten Connector schreiben...


Das ist nicht möglich. Ein solcher müsste gegen die MySQL-DB Linken und würde dabei selbst unter die GPL fallen. Mh... geht doch... aber nur wenn man über Socket mit dem Server kommuniziert.

MfG,
Hilefoks


----------



## tuxedo (13. Aug 2007)

Hilefoks hat gesagt.:
			
		

> Das ist nicht möglich. Ein solcher müsste gegen die MySQL-DB Linken und würde dabei selbst unter die GPL fallen. Mh... geht doch... aber nur wenn man über Socket mit dem Server kommuniziert.



Jepp, per Socket stehen dir alle Wege offen. Wobei manche da auch schon wieder eine Grauzone drin sehen...

Es gibt noch einen Treiber für MySQL-Datenbanken der ohne GPL auskommt: MM.MYSQL genannt. Das ist der "frühere" JDBC MySQL-Connector. Der ist mit LGPL lizensiert. Irgendwo hier im Forum hab ich den mal wieder ausgegraben und getestet. Nach einen kleinen Fix im Code lief er "wieder". Man hat also durchaus die Möglichkeit MySQL ohne GPL zu nutzen. 

Und selbst wenn man einen komplett eigenen Treiber schreiben will muss man da nix "linken". Du kannst das MySQL-Protokoll auch selbst implementieren. IMHO ist MySQL an sich urheberrechtlich und was weiß ich geschützt. Aber das Protokoll kannst du "nachbauen" ohne dass dir da einer an den Karren fahren kann. Zur not eben mit White-Room/Clean-Room-Engineering (siehe wikipedia). 

Oder man geht den Umweg über PHP.... Java sprich PHP an, und PHP spricht die Datenbank an. (so macht's http://jpmdbc.dev.java.net [ist auf meinem mist gewachsen ;-)]).

Zu dem Thema: "Muss ich mein Programm, das MySQL-JDBC benutzen kann, auch unter die GPL stellen wenn ich es veröffentliche":

Das ist, AFAIk "Grauzone".. Du bist auf der "sichereren" Seite wenn du dein Programm so baust, dass der Kunde per Konfigurationstool oder ähnliches selbst dafür verantwortlich ist einen Treiber für die JDBC-Schnittstelle anzuflanschen. Was er dann benutzt ist seine Sache. Schließlich ist JDBC ein offener Standard.

Lieferst du aber ein Programm aus, das schon vorkonfiguriert für MySQL ist, und hast vielleicht sogar noch den MySQL-JDBC-Connector mit dazugeliefert, dann sieht's eher schlecht aus.

Um ganz sicher zu gehen: Nehmt doch Postgres ?!
Oder es bildet sich hier eine Truppe die den in die Tage gekommenen MM.Mysql Treiber (LGPL) wieder aufgreift und auf den neusten Stand bringt... (wäre wohl mit von der Partie)

- Alex


----------

