# Proprietäre Java-Applikation mit Freier Software ausliefern - Was ist zu beachten?



## Ernsthaft (25. November 2009)

Wie muss eine proprietär Java-Applikation bei der Auslieferung beim Kunden 'beschaffen' sein, wenn sie Freie Software nutzt, um nicht mit den verschiedenen Lizenzen in Konflikt zu geraten?

Voraussetzung: Die proprietär Java-Applikation wird in Eclipse IDE hergestellt und nutzt nur die Klassen und Methoden der Freien Software, die Sourcen der Freien Software werden nicht verändert.

Genutzt werden Freie Software unter GPL, LGPL und BSD-artige/Apache-Lizenzen:

Drei mögliche Vorschläge, wie die proprietär Java-Applikation beim Kunden ausgeliefert werden kann (weitere Vorschläge willkommen):

1.
Alles in einer executiveJAR, die libs der Freien Software werden aufgelöst und neu in der executiveJAR compiliert.
Ist die kommerzielle Nutzung statthaft für 
GPL?
LGPL?
BSD-artig/Apache?

Welche Hinweise müssen ggf. an welcher Stelle gemacht werden für
GPL?
LGPL?
BSD-artig/Apache?


2.
Es wird das FatJar Eclipse Plug-In (fjep) mit one-jar genutzt, die jar-Dateien der Freien Software bleiben erhalten und werden im Verzeichnis lib/ in der executiveJAR abgelegt.
Ist die kommerzielle Nutzung statthaft für 
FatJar/one-jar?
GPL?
LGPL?
BSD-artig/Apache?

Welche Hinweise müssen ggf. an welcher Stelle gemacht werden für
FatJar/one-jar?
GPL?
LGPL?
BSD-artig/Apache?

3.
Die proprietär Java-Applikation wird ganz normal in einer executiveJAR compiliert, die libs der Freien Software werden im Installationsverzeichnis der Applikation in einem Ordner lib/ gespeichert, der in der MANIFEST.MF z.B als Class-Path: lib/swing-layout-1.0.3.jar lib/mailapi.jar lib/smtp.jar hinterlegt.
Ist die kommerzielle Nutzung statthaft für 
GPL?
LGPL?
BSD-artig/Apache?

Welche Hinweise müssen ggf. an welcher Stelle gemacht werden für
GPL?
LGPL?
BSD-artig/Apache?


----------



## Ernsthaft (25. November 2009)

Das ganze Thema ist ein einziges Minenfeld. Ich versuche das mal aufzubröseln. 
Ich bitte um sofortige Korrektur, falls ich hier was nicht korrektes schreibe / behaupte.

LGPL
Erlaubt ist, die Software für einen beliebigen Zweck zu nutzen, die Software vervielfältigen und weitergeben zu dürfen, die Software nach eigenen Bedürfnissen zu ändern und die geänderten Versionen weiterzugeben. Grundsätzlich darf eine unter LGPL lizenzierte Software nur zusammen mit ihrem Quelltext vertrieben werden. Alle Programme, welche die LGPL-lizenzierte Software nur extern benutzen, zum Beispiel als Programmbibliothek, dürfen ihre eigene Lizenz behalten.
Soll die unter der LGPL lizenzierte Software dagegen fest in ein anderes Programm eingebunden werden, muss auch das andere Programm unter der LGPL bzw. einer kompatiblen Lizenz stehen.

GPL
Alle Programme, die unter der GPL veröffentlicht sind, dürfen strenggenommen nur mit Bibliotheken verwendet werden, die ebenfalls unter der GPL lizenziert sind oder aber einer kompatiblen Lizenz. Alle abgeleiteten Programme eines unter der GPL stehenden Werkes dürfen von Lizenznehmern nur dann verbreitet werden, wenn sie von diesen ebenfalls zu den Bedingungen der GPL lizenziert werden. Alle Programme, welche die GPL-lizenzierte Software auch nur extern benutzen, zum Beispiel als Programmbibliothek, müssen ebenfalls zu den Bedingungen der GPL lizenziert werden.

BSD-artig
Software unter der BSD-Lizenz darf frei verwendet werden und es ist erlaubt, sie zu kopieren, zu verändern und zu verbreiten. Der Autor behält das Copyright. Diese dem Grundsatz "Ehre, wem Ehre gebührt" folgende Lizenz enthält den Namen des Autors und oft auch eine Haftungsbeschränkung. Einzige Bedingung der BSD-Lizenz ist, dass der Copyright-Vermerk des ursprünglichen Programms nicht entfernt werden darf. Somit eignet sich unter der BSD-Lizenz stehende Software auch gut als Vorlage für kommerzielle (teilproprietäre) Produkte. Veränderung und Weitergabe in jeder Form ist erlaubt, das heißt sie darf auch in proprietäre Software eingebaut werden. In der Lizenz wird der Softwareentwickler dazu verpflichtet, beim Bewerben ihres Produkts den Namen der Universität 'University of California, Berkeley' zu nennen. Die Lizenz ist unvereinbar mit der GPL.

Apache-Lizenz
Die Apache-Lizenz wird von der Free Software Foundation als Lizenz für freie Software anerkannt und ist zu der GNU General Public License Version 3 kompatibel. Man darf Software unter dieser Lizenz frei in jedem Umfeld verwenden, modifizieren und verteilen. Wenn man sie verteilt, muss eindeutig darauf hingewiesen werden, welche Software unter der Apache-Lizenz verwendet wurde und dass diese vom Lizenzgeber (name of copyright owner) stammt. Eine Kopie der Lizenz muss dem Paket beiliegen. Man braucht einem Paket nicht die Quelltexte der Apache-Software beizulegen. Änderungen am Quellcode der unter der Apache-Lizenz stehenden Software brauchen nicht zum Lizenzgeber zurückgeschickt zu werden. Eigene Software, die unter Apache-Lizenz stehende Software verwendet, braucht nicht unter der Apache-Lizenz zu stehen.


Ok, trotzdem noch ein paar Fragen. 

Darf man in eine FatJar mit one-jar fremde jar-Dateien einbauen? 
GPL 
Antwort: Nein.
LGPL, hier ist die Frage, ob sie "fest eingebunden" ist.
Antwort: Nein.
BSD-artig 
Antwort: Ja.
Apache-Lizenz 
Antwort: Ja.

Mein Englisch ist nicht gut genug für eine wasserdichte Übersetzung. Welche Lizenz hat die FatJar mit one-jar?
http://one-jar.sourceforge.net/index.php?page=documents&file=license

Darf ich das FatJar mit one-jar nutzen, um meine proprietäre Java-Applikation einzubinden und zu vertreiben?

Thx für Antworten.


----------

