Java und die Lizenz

Hallo Community, mich würde mal die Lizenz von Java Interessieren. Auf Wikipedia habe ich gelesen, dass Java unter der GPL steht. Müssen nun alle Java Anwendungen die die Programmierer erstellen ihre Anwendungen auch unter die GPL Lizenz stellen ? da ja die GPL besagt, dass alle werke die auf eine GPL Komponente aufbauen auch unter der GPL stehen müssen. Ich meine, man nutzt ja die GPL Libs von Java oder nicht ???

Mich Interessiert dies mal.

Grüße Andy

Da muss ich dich in zwei wichtigen Punkten korrigieren :

  1. Nur die Sprache Java an sich selbst steht (und das auch glaube ich nur zum Teil) unter GPL, nicht die konkrete Implementierung einer VM.
  2. Die GPL verlangt nicht das Software die auf Libs die unter GPL stehen auch selbst unter GPL stehen muss. Die GPL verlangt runtergebrochen nur das man eigene Änderungen an unter GPL stehender Software wieder weiter veröffentlichen muss. Eigener Code bleibt davon ausgenommen.

zu 2) : soweit ich das Beispiel verstanden habe wäre es also lediglich wichtig die Änderung zu publizieren wenn man z.B. in eine unter GPL stehende Lib etwas zusätzlich einfügt. Wenn dies aber letztlich auf eigenen Code weiter läuft der sich selbst dann außerhalb der Lib befindet muss man diesen Code dann nicht mehr unter GPL stellen.

Wenn ich falsch liege korrigiert mich bitte.

@Sen-Mithrarin zu Punkt 2 das ist leider falsch. Wenn du eine eine Library die unter der GPL steht in deinem Programm direkt nutzt ( z.B. statisch oder dynamsch linkst) musst du dein Programm auch unter die GPL stellen.

Bei JAVA musst du dass des wegen nicht, da hier die GPL Linking Exception verwendet wird. Wikipedia

Das stimmt so nicht. Im Sinne der GPL ist auch ein Programm das eine GPL Lib nutzt ein abgeleitetes Werk und muss somit unter der GPL veröffentlicht werden. Daher sind Apache, MIT, BSD, … Libs in GPL Code ok aber GPL Libs nicht in Apache, … Code. Siehe hierzu Apache License v2.0 and GPL Compatibility
Anders sieht es bei der LGPL aus, hier hast du tatsächlich Recht und das Linken erzeugt kein abgeleitetes Werk und somit kannst du LGPL Code auch gegen Closed Source Anwendungen linken.

Bei Java sieht es dagegen ein wenig anders aus. Java selber (also die Implementierung) steht unter der GPL aber es gibt die sogenannte Classpath Exception (welche schon angesprochen wurde, OpenJDK: GPLv2 + Classpath Exception) und diese besagt, dass die API explizit von dieser GPL Regelung ausgeschlossen ist!

Danke für eure Antworten. Leider verstehe ich nicht viel. Muss eine java Anwendung unter die GPL gestellt werden ?

Nein (es sei denn, diese Anwendung benutzt Bibliotheken, die das verlangen).

Nur noch mal zum Verständnis das auch ich das jetzt richtig verstehe : wenn mein Code eine GPL-Lib nutzt muss dieser auch unter GPL stehen ? Was ist das denn für ein Mist ?
Soll man also erlich jedes mal das Rad neu erfinden weil gerade die Lib die man braucht rein zufällig nur untrr GPL verfügbar ist ?
Sorry, da fehlt mir irgendwie das Verständnis für was daran dann bitte noch “freie Software für freie Verwendung” sein soll. Klar, einige die wirklich diesen non-profit-Gedanken leben wollen ihr Werk davor schützen das jemand anderes mit ihrer Idee Kohle macht (was für Spinner, die haben den Kapitalismus echt nich verstanden), behaupten aber gleichzeitig das der Code zur “allgemeinen freien Verwendung” genutzt werden darf.
Naja, wer auch immer si h das ausgedacht bzw. die aktuelle Variante so ratifiziert hat muss mir das echt noch mal bei nem Grillabend erklären.

Bezüglich meines Posts : ich bin froh das ich scheinbar zumindest die L-GPL halbwegs verstanden (bzw. diese erklärt) habe.

Die LGPL ist ja extra für Bibliotheken mit einem schwächeren Copyleft, damit die Anwendung, die diese benutzt, nicht sofort offengelegt werden muss.
In der OpenSource-Welt ist aber die Apache 2.0, eine BSD oder MIT Lizenz ebenfalls recht häufig anzutreffen. Bei diesen kann man mit dem Code nahezu machen was man möchte.

Mist ist das auch nicht. Die Nutzer der GPL haben sich dazu entschieden, dass sie diese Lizenz gerne nutzen möchten. Das ist deren gutes Recht.

Siehe auch hier für weitere Informationen:

In der aktuellen c’t (15/2014) ist auch ein ganz guter Artikel zu den Lizenzen.

[QUOTE=Sen-Mithrarin]Nur noch mal zum Verständnis das auch ich das jetzt richtig verstehe : wenn mein Code eine GPL-Lib nutzt muss dieser auch unter GPL stehen ? Was ist das denn für ein Mist ?
Soll man also erlich jedes mal das Rad neu erfinden weil gerade die Lib die man braucht rein zufällig nur untrr GPL verfügbar ist ?[/QUOTE]

Der Grund wieso ich die GPL nicht sonderlich mag. Ich bleibe wohl ewig bei der Apache License 2.0 hängen, sowohl bei der Apache Foundation, als auch privat und auch beruflich :slight_smile:

betrachte es mal von der anderen Seite - Du entwickels eine LIB die tausende Projekte nutzen und keiner weis davon, weil es nicht GPL ist

Ich bin auch kein Fan von der GPL.

Das trifft es nicht. Wenn man erwähnt werden möchte, reichen die Apache, BSD, MIT und sonstige Lizenzen ohne Copyleft zumeist aus.

Ich denke, wer die GPL nicht mag, soll halt keine Lib davon nutzen. Es ist eine OS Lizenz, genau mit diesem Gedanken entwickelt. Die stehen auch nicht “zufällig” unter dieser Lizenz.

Was aber in der PRaxis oft gemacht wird, ist die Software einfach nicht rauszugeben sondern nur z.B. per Remote Zugriff benutzbar zu machen. So habe ich die GPL verstanden, benutzen ohne den Code herauszugeben und die Software zu verteilen: passt.

abgesehen von cmrudoplhs einwand - wenn du willst dass alles wissen was fuer ein toller Hecht man ist, so mach es kommerziell. Oder bloekel anderweitig rum, bis alle verstanden haben dass man n geiler typ ist

:wink:

Soweit ich weis, kann man sich aus der GPL-Lizenz auch “freikaufen”. Lizenzgebühren bezahlen und schon darf man sie kommerziell nutzen. Im Zweifelsfall genügt es auch, beim Entwickler der Lib nachzufragen, ob man sie komerziell nutzen darf, da steht dann immer “Mit freundlicher Genehmigung” dabei. Eine Erleichterung dagegen bietet die LGPL, deren Bibliotheken man auch in komerzieller Software nutzen darf, ohne Repressalien fürchten zu müssen.
Soweit mir bekannt, haben die Java-Entwickler anno dazumal pauschal gestattet, dass ihre JVM unverändert zusammen mit dem kommerziellen Produkt (z.B. Zend-Studio) verbreitet werden darf, ein JDK jedoch nicht.

Jein ein typisches Prinzip zur Lizenzierung bei GPL ist Dual Licensing. Die GPL für opensource und eine kommerzielle Lizenz für alle Anderen :slight_smile:

Ack.

So habe ich das auch verstanden. Um das auch noch zu verbieten, gibt es dann noch die AGPL.

Ein bekanntes Beispiel dafür ist iText. Dort wird sogar die AGPL verwendet, um die Benutzung für Closed-Source ohne Kauflizenz vollkommen unmöglich zu machen.

Da wäre ich mir nicht so sicher. AFAIK gab es da mal eine große Diskussion wg. Plugins etc. Wenn ich mich recht erinnere kam als Ergebnis heraus wenn es eine Standardschnittstelle zwischen deinem Programm und der Bibliothek gibt, kannst du die Bibliothek als optionale Komponente auffassen. Das war ja auch die Diskussion wg. des GPL-MySQL-Connectors. In Java Implementierst du gegen ein Framework das praktisch beliebige Datenbanken ansprechen kann, vorausgesetzt man bindet den passenden Connector ein, deshalb gilt der als optional und deine Software muss nicht unter GPL gestellt werden wenn du MySQL verwendest. Natürlich dürfen die Bibliotheken dann nicht ins jar-eingepackt werden.
Wahrscheinlich könnte man so jede GPL-Maßnahme umschiffen indem man einfach eine Adapterschicht schreibt um von den Bibliotheken zu abstrahieren, dann schafft man die Möglichkeit für eine Alternative, das müsste man mal prüfen.

Rein theoretisch darfst du den MySQL Connector aber nicht mit ausliefern :slight_smile: Abgesehen davon tun es trotzdem alle.

Das ist es, man darf denn MySQL Connector nicht mitausliefern. Bei Atlassian fällt das z.b. auf, dass man bei der Installation den MySQL-Connector separat runterladen muss und in das richtige Verzeichnis kopieren.

[QUOTE=cmrudolph]
Ein bekanntes Beispiel dafür ist iText. Dort wird sogar die AGPL verwendet, um die Benutzung für Closed-Source ohne Kauflizenz vollkommen unmöglich zu machen.[/QUOTE]

Und in vielen Fällen fällt dann die Aussage “Nutz einfach iText Version 2.1.7. Die steht noch unter MPL/LGPL”.
Für viele Leute, die einfach nur ein pdf erzeugen wollen und die neuesten features von iText nicht brauchen ist das auch durchaus gangbar.