Auf in den Ring: Oracle JDK vs. OpenJDK

19.12.2018

Oracle wird seine Java-Versionen, die bisher ohne Lizenzgebühren verwendet werden konnten, ab dem 01.01.2019 für den kommerziellen Einsatz nicht mehr kostenlos zur Verfügung stellen. Welche Auswirkungen hat diese Veränderung auf die Arbeit von Java-Entwicklern und den Einsatz von Java bei subshell? Product Owner Sören antwortet auf Fragen.

Unter Entwicklern wird die Verwendung von OpenJDK als Ersatz für Oracle JDK diskutiert. Was bedeutet das genau?

Um die Programmiersprache Java einsetzen zu können, wird eine Java-Laufzeitumgebung benötigt. Die Firma Oracle, die hinter Java steht, hat bisher das offizielle JDK herausgegeben. Wenn Oracle ab Anfang 2019 Geld für die Software und auch für das JDK nimmt, wird die Nachfrage nach frei zugänglichen OpenJDK-Varianten steigen.

Wieso braucht unsere Kundschaft eine Java-Laufzeitumgebung für die Arbeit mit Sophora?

Weil Sophora in der Programmiersprache Java programmiert ist, benötigt man für die Nutzung von Sophora eine Java-Laufzeitumgebung. Bisher konnten unsere Kunden das freie Oracle JDK verwenden, welches meist auf deren Betriebssystem wie z.B. Linux vorinstalliert war. Ab Januar müssen sie hierfür eine Lizenz kaufen.

Gibt es eine adäquate Alternative zum Oracle JDK?

Die Alternative heißt OpenJDK. Wir hoffen, dass sich OpenJDK identisch zum Oracle JDK verhält. Das weiß man aber noch nicht ganz genau, da bisher nur wenige mit OpenJDK gearbeitet haben. Durch die aktuelle Entscheidung von Oracle werden diese Alternativen jetzt natürlich bekannt und interessant für Nutzer.

Hat subshell Erfahrungen mit dem Einsatz von OpenJDK?

Bisher haben wir das JDK von Oracle genutzt und dies auch unseren Kunden empfohlen. Wenn es Softwarefehler gab, die auf das JDK zurückzuführen waren, konnten wir uns auf unsere Empfehlung berufen. Es gab ein paar Kunden, die OpenJDK benutzt haben, aber eigentlich konnten und wollten wir keine Garantie für diese Varianten geben.

Das wird zukünftig anders, denn ein wesentliches Plus von Sophora ist, dass es zusammen mit kostenloser Software läuft. Weil wir bei subshell das beibehalten möchten, unterstützen wir nun offiziell auch OpenJDK. Wir haben in den letzten Wochen die meisten unserer Testserver und Prozesse auf OpenJDK umgestellt. In Kooperation mit unserem Kunden NDR läuft zudem seit Anfang November einer der Sophora-Server mit OpenJDK. Bisher konnten wir keine betrieblichen Probleme feststellen.

Worauf müssen Sophora-Nutzende achten, wenn sie auf OpenJDK umsteigen möchten?

Die Schwierigkeit bei OpenJDK ist, dass es anders als bei Oracle JDK nicht nur eine Distribution gibt, sondern viele verschiedene Anbieter. Beim Umstieg muss also darauf geachtet werden, kein „exotisches“ JDK zu nehmen, sondern etwas einigermaßen Verbreitetes oder ein OpenJDK aus einer seriösen Quelle.

Technisch gesehen empfehlen wir für den Umstieg, OpenJDK zunächst auf den Dev- und Testsystemen mit den unterschiedlichen Sophora-Komponenten laufen zu lassen, also Sophora-Master, Sophora-Importer, Tomcat mit Ausspielung, Sophora-Indexer und dergleichen. Im nächsten Schritt sollten dann mögliche Abnahmesysteme umgestellt werden. Zuletzt kann die Umstellung auf die Live-Systeme erfolgen, am besten auch hier schrittweise. Man stellt also zunächst einen einzelnen Ausspielserver um, dann einen Sophora-Havarieslave und so weiter, bis alle Systeme erfasst sind.

Es gibt allerdings auch Ausnahmen unter unseren Kunden. Für ein Redaktionshaus beispielsweise liefern wir den DeskClient zusammen mit der Java-Laufzeitumgebung aus. In diesem Fall tragen wir die Verantwortung für die verwendete OpenJDK-Version und testen vor der Auslieferung ausführlich das reibungslose Funktionieren.

An wen können Kundinnen und Kunden sich wenden, wenn sie ein Problem haben?

Der erste Ansprechpartner ist unser Support. Je nach Kontext wird sich das entsprechende Entwicklerteam (Server, DeskClient etc.) kompetent mit dem Problem beschäftigen.

Glaubst Du, dass es in Zukunft weitere Veränderungen zum Thema JDK geben wird?

Ich denke schon. Es ging gerade durch die Medien, dass Amazon ebenfalls ein OpenJDK zur Verfügung stellen will. Man muss dazu sagen, dass OpenJDK nicht automatisch „kostenlos“ bedeutet. Amazon hält sich dazu noch bedeckt, aber es gibt Anbieter, die sagen: „Wir stellen das JDK bereit, aber für den Support muss gezahlt werden“. Eine JDK-Variante, die wir bei subshell unter Windows bereits getestet haben, ist z.B. Adopt OpenJDK. Wir können aber für keine Variante garantieren, die Entscheidung liegt bei den Kunden. Im Idealfall wird es für Sophora-Nutzer in Zukunft überhaupt keinen Unterschied geben.

Welche Java-Version des OpenJDK wird von welcher Sophora-Version unterstützt?

Hier halten wir uns an folgende Java-Versionen-Roadmap: Die aktuelle Sophora-Version 2.5 werden wir mit OpenJDK 8 und mit Oracle JDK 8 unterstützen. Die in 2019 kommende Sophora-Version 2.6 wird mit OpenJDK 11 und Oracle JDK 11 laufen.

Deine Botschaft für subshell-Kundinnen und Kunden…?

Ich bin optimistisch, dass wir die Umstellung in Zusammenarbeit mit den Kundinnen und Kunden hinkriegen werden. Einige haben berechtigten Respekt vor dem Thema, aber wir bei subshell werden ihnen zur Seite stehen.

Das Interview wurde von Hêvi geführt.

Sören Müller