Java 12 und der Kampf mit den Oracle-Lizenzen

Auf dem Stand der Technik bleiben

Wenn ein IT-Leiter die Java-Umgebungen in seinem IBM-i-Shop auf dem aktuellen Stand der Technik halten will, kann das teuer werden. Das gilt aber auch für alle anderen Client- und Server-Systeme.

Bildquelle: Pixabay

Der Grund für die drohende Kostenexplosion ist einfach: Seit Jahresbeginn verlangt Oracle für die bisher kostenfreie Laufzeitumgebung Java SE 8 von Firmenkunden Lizenzgebühren. Java 8 ist die Version, die von IBM auf dem Midrange-Server unterstützt wird und hier "Stand der Technik" ist. Das ist der Fall, auch wenn es längst neuere Java-Releases gibt; die aktuelle Version 12 ist gerade erst im März veröffentlicht worden. Mit Java 11 kam im vergangenen Herbst das erste Release mit „Long Term Support“ (LTS) seit Java 8 heraus, gerade einmal ein halbes Jahr nach Version 10 und rund ein Jahr nach Freigabe von Java 9. Und IBM unterstützt auf i nur die LTS-Releases; Version 11 ist noch nicht parat.

Java 8 bleibt noch gesetzt

Das 2018 von Oracle eingeführte Abonnement für Java SE (kurz für „Standard Edzion“) soll (inklusive Security-Updates) alle Lizenz- und Support-Anforderungen der IT-Chefs an Java SE abdecken und die weiterhin kostenlosen Java-SE-Releases für Privatnutzer, Entwickler und diejenigen Unternehmen ergänzen, die weder kommerziellen Support noch Management-Tools benötigen.

Java 8, das seit dem 18. März 2014 am Markt ist, wird seit Januar nur noch im Rahmen eines Lizenzvertrages gepatcht. Die erste LTS-Version nach dem aktuellen Lizenz- und Support-Schema von Oracle; alle drei Jahre soll es laut Oracle ein neues LTS-Release von Java geben. Nur diese Releases sollen auf IBM i unterstützt werden, um die Update- und Patch-Frequenz niedrig zu halten. IBM hat die Unterstützung der Java SE-Versionen 9 und 10 bei IBM i übersprungen, weil es sich nicht um LTS-Releases handelt. Java 8 auf IBM i kommt von IBM und ist im Lieferumfang enthalten; Lizenzen von Oracle sind überflüssig.

Java 11 steht bisher auf IBM i noch nicht zur Verfügung, auch wenn IBM das versprochen hat. Auch die Java-Anwendungen auf dem Midrange-Server laufen allesamt mit Java 8, so dass Unternehmen, die ihre Java SE 8-Umgebungen auf anderen Rechnern im Unternehmen zunächst beibehalten möchten, ein entsprechende Abonnement bei Oracle kaufen können. Im Preis für Java SE ist das Java Development Kit (JDK) enthalten, inklusive des Software-Development-Kits JavaFX, des Java Runtime Environments (JRE) sowie JavaFX-Runtimes und des JRockit JDK.

Die neuen Abonnements können teuer werden

Die Kosten dafür können sich schnell summieren, denn Oracle verlangt pro Jahr und Benutzer 13 bis 26 Euro für den Desktop-Support, 260 Dollar pro Prozessor für Server- und Cloud-Umgebungen (bei weniger als 100 Prozessoren) und 1.044 Euro pro Benutzer seiner Java-Tools (wie Netbeans, Jdeveloper oder das Enterprise-Pack für Eclipse).

Die Sache ist auf IBM i aber etwas komplizierter, weil IBM Java 8 seit einigen Jahren als Zielplattform von Java SE behandelt; darauf setzt die Middleware Java Enterprise Edition auf, kurz Java EE genannt. Sie wurde vor etwa einem Jahr in Jakarta EE umbenannt und wird nicht mehr von Oracle, sondern von der Eclipse Foundation weiterentwickelt).

Im März hat die IBM auf seiner Support-Site mehrere Empfehlungen veröffentlicht, wie IBM-i-Kunden mit Oracles Änderungen an den Java-Lizenzen umgehen können, insbesondere mit Blick auf die „Access Client Solutions“ (ACS) für den Zugriff auf die IBM-i-Anwendungen. Weil ACS wie Clients auch – auf Windows-, Mac- und Linux-Desktops und nicht unter IBM i ausgeführt wird, kann ACS andere Java SE-Versionen unterstützen, die von IBM i nicht unterstützt werden.

ACS und andere Clients

Wird Java auf Desktops oder Laptops verwendet, muss der IT-Chef die Java-Anforderungen der verwendeten Tools bzw. Anwendungen verstehen. Fast jeder IBM-i-Anwender setzt für den Hostzugriff die „Access Client Solutions“ (ACS) oder einen Terminalemulator ein; hier wird in der Regel Java in der Schnittstelle verwendet.

IT-Chefs, die nach Jahren und Jahrzehnten kostenloser Java-Nutzung Oracle nichts bezahlen möchten, haben jedoch noch Optionen. IBM-Kunden, die bereits ACS 1.1.8.1 nutzen, können z.B. ein Upgrade auf Java SE 11 durchführen. IBM liefert diese Version von ACS seit Ende letzten Jahres aus, die neben der Unterstützung für Java SE 11 mehrere neue Funktionen enthielt. Und für IBM i ist der Support von Java 11 avisiert.

Ältere Versionen von ACS unterstützen jedoch nur die Java-SE-Versionen 8, 9 und 10, nicht jedoch Java SE 11. Und weil Java 9 und 10 keine LTS-Releases sind und daher von IBM nicht aktiv unterstützt werden (es werden also keine Patches von Oracle bereitgestellt), ist Java SE 8 für IBM-i-Anwender die einzig sinnvolle Option.

Drei Java-Alternativen für die Clients

IBM empfiehlt die Verwendung von OpenJDK, einem Open-Source-basierten Java-Development-Kit. Oracle stellt seine Java-Technologie dafür unter OpenGDL-Lizenz zur Verfügung – und OpenJDK funktioniert mit den IBM-i-Client-Lösungen. IBM-i-Shops gibt es drei Quellen für OpenJDK:

AdoptOpenJDK basiert auf der OpenJ9-JVM und der OpenJ9-Technologie, die IBM im Jahr 2017 der Open-Source-Welt geschenkt hat.

– Die Hotspot -Distribution von OpenJDK auf Basis einer Oracle-JVM. IBM bietet zwei Optionen für die Unterstützung der OpenJ9-JVM (IBM Runtimes for Business), darunter das ältere 5737-F61-Angebot und das neuere 5737-J49-Angebot.

– Anders als diese beiden OpenJDK-Distributionen, die auch von einem Team unterstützt werden, das Fixes und Sicherheitsupdates langfristig und kostenlos beisteuert, gibt es als dritte OpenJDK-Option Corretto. Das ist ein neues Projekt, das Anfang 2019 von Amazon Web Services gestartet wurde; es gibt Corretto sowohl mit Java SE 8 als auch Java SE 11 für Windows, Mac und Linux. Alle werden von ACS unterstützt, nicht aber von IBM-Mitarbeitern. Es gibt auch keinerlei Aussagen der IBM dazu, wie lange Kunden ACS-Updates für dieses Produkt erwarten können.

Das neue Java 12

Auch wenn Java 12 für IBM i kaum eine Rolle spielt, scheint Oracles Idee mit den halbjährlichen Major-Releases (also regelmäßigen, kleinen Updates) und den LTS-Releases aufzugehen. Der Hersteller hat bisher pünktlich geliefert, und nicht vergessen darf man, dass Java 12 seitens Oracle nur für ein halbes Jahr mit Updates unterstützt wird – bis zum Release von Java 13 im September. IBM-i-Anwender haben jetzt also die Wahl: Entweder bleiben sie bis 2021 beim Java 8, oder sie steigen – sobald der IBM-i-Support da ist, auf das letzte LTS-Release Java 11 um.

Bildquelle: Pixabay

©2019Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok