java und josm - Lizenz

Das Problem sind nicht die Lizenzen der OSM-Programme, sondern die Lizenz von Java, mit dem z.B. JOSM aufgerufen wird.
Wenn auf einem Bürorechner mit javac kommerzielle Programme entwickelt werden, ist das sicher eine “kommerzielle Nutzung”.

Ob der Aufruf eines class- oder jar-Files mit java (von Oracle) in einer Firma (“Bürorechner”) bereits lizenzpflichtig ist, ist fraglich, da müsste man genauer in die Lizenzbedingungen reinsehen.
Für das Arbeiten im OSM-Projekt ist das mMn aber nicht relevant, denn dieses ist nicht schon dadurch kommerziell, weil auch kommerzielle Anwendungen mit den Daten gemacht werden können.

Konkreter: Wir verwenden OpenStreetMap-Daten, um für unsere (meist öffentlichen) Auftraggeber räumliche Planungen zu erstellen und darzustellen, Adressen zu geocodieren und was weiß ich noch. Das ist ohne Frage eine kommerzielle Nutzung, und damit nutzen wir auch Java kommerziell.

Ich könnte mir allerdings vorstellen, dass Oracle etwas anderes meint, nämlich die kommerzielle Entwicklung und den kommerziellen Vertrieb von Java-Programmen. Aber wer weiß das schon? Von daher werde ich mir die beiden genannten Alternativen diese Woche genauer anschauen.

Redoute

Sobald Oracle Java im Firmenumfeld installiert wird, ist es lizenzpflichtig. Es ist dabei unerheblich für was es genutzt wird. Das Sinnvollste ist zu prüfen, ob man in der Firma auf Java angewiesen ist. Falls nicht: löschen (und ggf. verhindern, dass es wieder installiert wird). Falls ja: Prüfen, ob es durch z.B. OpenJDK ersetzt werden kann. Das alles gilt natürlich nicht nur für Clients, sondern auch alle Server müssen dahingehend überprüft und bewertet werden.
Kommt man am Ende zu der Feststellung, dass man auf Oracle Java angewiesen ist, dann kommt man um die Lizenzierung nicht herum. Und das kann teuer werden.

Siehe https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html

Für “Development Use”, also das Entwickeln eigener Anwendungen, braucht man also keine Lizenz erwerben. Aber wenn man irgendwelche bestehenden Programme (auch das eigene) kommerziell nutzen will, braucht man eine Lizenz.

Oracle erlaubt also die Entwicklung von ggfs. inkompatiblen Programmen, um dann später für Nutzung der Programme abzukassieren.

Heißt du hast genau falschrum geraten :smiley:

Unter “Personal Use” im Firmenumfeld würde zum Beispiel zählen, wenn man in der Mittagspause ein Java-basiertes Spiel aufruft.
Wenn ich die Lizenz richtig verstehe, ist für die Nutzung von JOSM mit Oracle-Java immer eine Lizenz nötig.

Also überleg dir wirklich sehr genau, ob du Oracle-Java benutzen möchtest oder ob es nicht wirtschaftlicher wäre, komplett auf OpenJDK umzusteigen und inkompatiblen Code anzupassen.

@Wulf4096: Das erste Zitat stammt von User Redoute, nicht von mir. Wurde korrigiert. Danke!

Im Firmenumfeld kann es kein “Personal Use” geben, da Java auf einem Firmen-PC installiert ist. Oracle interessiert dabei nicht, ob man das nur in der Pause verwendet.

Nur mal so am Rande:
Woher weiß Oracle eigentlich ob ein PC privat oder geschäftlich genutzt wird?

Huch, wie ist denn das passiert?!

Aus dem Lizenztext lese ich das aber raus. Wie Oracle tatsächlich damit umgeht, weiß ich nicht.

Für die Fragestellung in diesem Thread dürfte das nicht weiter wichtig sein.

Einzelfallprüfung?
Natürlich hast du die technische Möglichkeit, gegen die Lizenzbestimmungen zu verstoßen. Aber sowas soll und darf man nicht. Wenn Oracle das mitbekommt, wird’s aber wohl teuer.

In welcher Art?

Wozu sollten in einer Firma PCs zur privaten Nutzung stehen? Alles was im Firmen-LAN hängt ist zur geschäftlichen Nutzung bestimmt. Es wird schwierig Oracle vom Gegenteil zu überzeugen. Und die Menge an lizenzpflichtigen Geräten/Nutzern kann im Rahmen eines Lizenzaudits überprüft werden.

Hab jetzt erst gesehen, dass bei adoptopenjdk auch “kleine” JRE-Versionen zum Download angeboten werden.

Nach der Installation (JRE Version 11 Windows 64bit) ließ sich josm-tested.jar per Doppelklick starten. :slight_smile:

Der JOSM-Installer hat im Startmenü eine Verknüpfung auf josm.exe abgelegt, die funktioniert nicht mehr. josm.exe beschwert sich über die fehlende Runtime und ruft die Oracle-Downloadseite im Browser auf. Ich hab die Verknüpfung jetzt auf .jar gelegt.

In der Kommandozeile ließ sich java erst aufrufen, nachdem ich einige Altlasten bereinigt habe: C:\ProgramData\Oracle gelöscht (einziges Unterverzeichnis war Java), C:\Program Files (x86)\Common Files\Oracle\Java\javapath und C:\ProgramData\Oracle\Java\javapath aus dem Pfad gelöscht, Computer\HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft und Computer\HKEY_CURRENT_USER\Software\JavaSoft aus der Registry gelöscht. Vermutlich war es eines davon.

Andere Programme versuche ich erst, wenn ich sie benötige.

Danke an alle, Redoute!

Um der ganzen Lizenzdiskussion aus dem Weg zu gehen, wurde in unserer Firma übrigens vor einem Jahr beschlossen, komplett auf OpenJDK zu setzen, für Windows auf AdoptOpenJDK, das zu dem Zeitpunkt den am besten gepflegten Eindruck machte.

Gruß,
Zecke

Allerdings scheint AdoptOpenJDK zurzeit nicht als JRE für LibreOffice zu funktionieren, im Gegensatz zu den JDK von Oracle OpenJDK und Amazon Corretto. Ist mir eigentlich unwichtig, hat mich trotzdem noch einige Zeit gekostet, das herauszufinden.

Hier ein aktuelles Statement von JOSM-Entwickler Vincent Privat zu der Thematik mit geschichtlichem Abriss und Erläuterungen zum aktuellen Stand (auf Englisch):
https://twitter.com/josmeditor/status/1125135390426505218
https://osm.org/user/josmeditor/diary/172694
https://weeklyosm.eu/josm-and-java-on-german-forum
(inhaltlich sind die drei Links identisch)

Da dieser Thread in der aktuellen Wochennotiz verlinkt ist, wurde das Java-Thema von einem JOSM-Entwickler nochmal kurz zusammengefasst und erklärt: https://twitter.com/josmeditor/status/1125135390426505218

Der mag gerne mal erklären, in wieweit es jetzt noch legal ist, JOSM mit Oracle-Java zu nutzen, ohne für die Lizenz zu blechen.
JOSM zählt imo nicht unter “Personal Use”!

Gilt für etliche andere Anwendungen auch: Die ehemaligen JRE-Pfade von Oracle sind dutzende Male in der Windows-Registry begraben und führen dann zu Fehlermeldungen “This application requires a Java Runtime Environment 1.7/1.8” o.ä., u.a. bei EXE-Startprogrammen, die “komfortabel” jar-Anwendungen aufrufen wie JOSM.EXE oder MediathekView__Start.exe.

Auch die Installation von AdoptOpenJDK JRE 1.8 hilft da nicht, die verborgenen Verweise auf die Oracle-Binaries bleiben.

Das lässt sich zwar durch direkten Aufruf der jar-Files umgehen, aber bis der Umstieg von Oracle auf AdoptOpen problemlos auch für den Normalanwender gelingt, ist noch etwas Arbeit bei der Installationsprozedur nötig.

Hallo,
ich hole diesen Beitrag noch einmal nach vorne. Meine aktuelle Java Version ist 8.xxx. Bisher liefen damit alle Programme und wenn Java automatisch ein Update anbot war es wieder ein höheres mit der 8 vorne. Nun wollte ich eine neue Version von einem Programm installieren. Das klappte nicht und es kam der Hinweis, dass es mindestens Java 11.xxx benötigt.
Auf der Java Homepage wird auch Java 11 angeboten. Soweit ich das bisher verstehe wäre auch Java 11 für Privatnutzer weiterhin kostenlos.
Aufgrund der Diskussion in diesem Forum blicke ich aber nicht mehr so ganz durch ob ich damit auch weiterhin JOSM nutzen kann (Punkt 1) was mir natürlich äußerst wichtig ist und auch nutzen darf (Punkt 2).
Könnte jemand einmal Licht ins Dunkle bringen?

Vielen Dank

Welches Java? Das von Oracle oder OpenJDK?

Zum Oracle Java mag ich nix sagen aber OpenJDK ist definitiv frei - und funzt auch mit Josm.

Gruss
walter


java --version
openjdk 11.0.4 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu219.04)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu219.04, mixed mode, sharing)

Hallo und Danke für den Hinweis auf open jkd,
ich hab jetzt das oracle Java 8.xxx deinstalliert und das openjdk-Java (Verison 11 und 12 ausprobiert) in den Programmordner entpackt. Anschließend dann unter Systemsteuerung - System - erweiterte Systemeinstellungen - Umgebungsvariablen - die Benutzer und Systemvariablen angepasst. Anschließend sogar neu gestartet und dann versucht Josm zu starten. Leider meldet JOSM trotz mehrfacher Versuche, dass es kein Java findet. Also das openjdk wieder entfernt und das alte oracle Java 8.xxx wieder neu instlliert. JOSM läuft - uff, nix kaputt gemacht.
Trotzdem hab ich keinerlei Ahnung warum Josm kein Java findet…

:confused:

PS: Ich arbeite an einem PC mit win10