
Viele unserer Kunden haben sich in den letzten Wochen verunsichert bei uns gemeldet. Grund war der oben abgebildete Hinweis während der Installation von Java. In diesem heißt es wörtlich:
Es stehen Änderungen an, die sich auf den Zugriff auf künftige Releases von Oracle Java SE auswirken.
Unternehmensnutzer sind bereits ab Januar 2019 davon betroffen.
Folgt man dem Link auf diesem Hinweis, landet man direkt auf einer Seite von Oracle.
Auf dieser heißt es:
Öffentliche Updates für Oracle Java SE 8, die nach Januar 2019 veröffentlicht werden, sind ohne kommerzielle Lizenz nicht für Unternehmens-, kommerzielle oder Production-Nutzung verfügbar.
Was heißt das aber nun genau? Müssen Unternehmen ab 2019 für den Einsatz von Java Geld an Oracle bezahlen? Und gibt es vielleicht Alternativen?
Um diese Fragen zu beantworten, muss ich kurz erläutern, was Java SE überhaupt ist und warum man es braucht.
Was ist Java überhaupt?
Kurz und bündig: Im Kern eine Programmiersprache.
Programme die auf verschiedenen Betriebssystemen laufen sollten, mussten für jedes einzeln programmiert werden, da sich die Systeme in ihrem Kern stark unterscheiden.
Hier tritt Java auf den Plan. Für in Java geschriebene Programme gilt diese Einschränkung nämlich nicht.
Dies wird dadurch erreicht, dass auf dem Zielcomputer die Java Laufzeitumgebung ausgeführt wird. Hier wird einfach eine zusätzliche Schicht zwischen Betriebssystem und der auszuführenden Software geschoben. Diese fungiert als eine Art Dolmetscher zwischen Betriebssystem und Programm.
Dieses (damalige) Alleinstellungsmerkmal hat für eine starke Verbreitung von Java in den letzten Jahrzehnten gesorgt. Auf welchem Betriebssystem die Software ausgeführt wird, konnte dem Entwickler damit egal sein. Solange die richtige Laufzeitumgebung auf dem Zielgerät lief, war die Software auf einem Windows Computer, einem MAC, einem Ford Mustang oder sogar auf einer Kaffeemaschine funktionsfähig (letzteres ist tatsächlich KEIN Witz).
Dann brauche ich ja nur die Laufzeitumgebung. Kostet die was?
Die Laufzeitumgebung von Java gibt es schon seit einiger Zeit nur noch zusammen mit Java SE. Und genau für dieses Produkt gilt der Lizenzplan um den sich hier alles dreht.
Allerdings muss man nicht für alle Versionen bezahlen.
Lediglich für die Version Java SE 8 werden ab Januar Lizenzkosten fällig, wenn man nicht auf Updates verzichten will. Die Updates für die aktuelle Version Java SE 11 sind weiterhin kostenlos verfügbar. (Die Versionen 9 und 10 sind inzwischen schon end-of-life)
Warum kosten Updates für die alten Versionen jetzt plötzlich was?
Um das zu erklären, nehme ich jetzt mal ein bekannteres Beispiel aus der Windows-Welt.
Der Support für Windows XP endete 2014. Dies war auch schon um 2007 von Microsoft angekündigt worden.
Das die deutschen Behörden nicht gerade sonderlich flexibel auf Veränderungen reagieren ist allgemein bekannt. Deshalb wurde eine Migration auf Windows 7 auch fachmännisch verschlafen.
2014 kam dann das unausweichliche Problem. Viele Computer, auf denen sensible Bürgerdaten verarbeitet werden, würden in Zukunft keine Sicherheitsupdates mehr bekommen, da sie noch auf Windows XP liefen.
Eine Migration dieser Größe auf ein neues Betriebssystem ist allerdings nicht in 2 Monaten gemacht, sondern benötigt entsprechende Vorlaufzeit. Zeit, in der die Computer nahezu ungeschützt im Internet gewesen wären.
Da dies nicht nur die deutschen Behörden sondern auch einige klein- und mittelständische Unternehmen betraf, bot Microsoft hier Hilfe an: Weitere Updates für das alte System gegen die Zahlung einer zusätzlichen Supportgebühr.
Hört sich bekannt an? Genau darum geht es hier. Auch Oracle (die Firma hinter Java) hat das Problem, dass viele Endkunden (hier sind es hauptsächlich Entwicklerstudios) noch Java SE 8 verwenden.
Hauptziel dieser zusätzlichen Gebühr ist natürlich die zusätzlichen Entwickler zu bezahlen, die das „tote“ Produkt künstlich am Leben halten müssen. Auf der anderen Seite soll aber auch ein Anreiz zum Update auf das aktuelle Produkt geschaffen werden.
Was kann ich jetzt machen?
Unseren Kunden rate ich aktuell zu folgender Vorgehensweise:
1 Java deinstallieren
Hört sich falsch an? Ist es inzwischen aber nicht mehr unbedingt. Es kann gut sein, dass Java auf den Endkundengeräten gar nicht mehr benötigt wird. Die Art wie Java Programme ausgeführt werden, hat sich inzwischen stark verändert.
Während man früher noch die Laufzeitumgebung auf dem Rechner installiert haben musste, bringen inzwischen viele Java Programme ihre eigene Umgebung einfach mit. Dies hat den Vorteil, dass sich der Entwickler auch keine Gedanke mehr darum machen muss, ob die richtige Version auf dem Zielrechner installiert ist.
Deswegen: Java deinstallieren und alle Programme testen, die man täglich benutzt. Falls keines meckert, braucht man Java wahrscheinlich gar nicht.
2 Auf aktuellere Programme prüfen
Falls es tatsächlich Programme gibt, die Java unbedingt voraussetzen, erst mal prüfen, ob der Hersteller nicht eine aktueller Version im Angebot hat. Neuere Software ist (entgegen landläufiger Meinung) immer besser als veraltete.
Die neue Version läuft dann wahrscheinlich schon ohne die vorinstallierte Laufzeitumgebung.
3 Java SE 11 installieren
Falls es wirklich keine andere Möglichkeit gibt und Java wirklich benötigt wird, einfach hier die aktuellste Java SE Version herunterladen. Diese bekommt (zumindest nach aktuellem Stand) Updates bis 2023.
Falls Hilfe bei der Java Umstellung benötigt wird, stehen wir natürlich gerne mit Rat und Tat zur Seite oder kümmern uns auch auf Wunsch ganzheitlich um das Projekt. Einfach kurz mit uns Kontakt aufgenommen und schon gehören Probleme wie diese der Vergangenheit an.
PS: Die OpenJDK habe ich jetzt in diesem Beitrag unterschlagen, da es dafür noch keinen „kundenfreundlichen“ Installer gibt. Falls diese Lösung eingesetzt werden soll, ist auf jeden Fall der Weg zu einem IT-Dienstleister anzuraten.