Die Fragen „Muss ich Java lizenzieren?“ und „Wie kann ich Java kostenfrei weiter nutzen?“ treiben noch immer viele Entscheider um, obwohl Oracle schon vor über einem Jahr die Java Standard Edition (SE) für den kommerziellen Einsatz quasi kostenpflichtig gemacht hat.
Hintergrund:
Zunächst wurde der weitere Support für die Java SE 8 an den Abschluss einer kostenpflichtigen Subscription gebunden und darüber hinaus sind Java SE 11 und höher nur noch unter der OTN-Lizenz verfügbar, welche den kommerziellen Einsatz weitestgehend kostenpflichtig macht.
Immer dann, wenn auf die „commercial features“ zurückgegriffen wurde, war jedoch der Einsatz der Java SE auch zuvor schon kostenpflichtig.
Beispiele für diese „commercial features“ sind der MSI Enterprise JRE Installer sowie für Bundled Patch Releases, welche oftmals unbewusst von Unternehmen und Behörden eingesetzt werden. Als Lösung bietet Oracle seinen Kunden sogenannte „Subscriptions“ für die Nutzung von Java SE auf Servern und Desktops an. Die Nutzung von Java SE auf Desktops wird hierbei nach der Metrik „Named User Plus“ lizenziert, bei der Nutzung von Java SE auf Servern werden diese anhand der Anzahl der eingesetzten Prozessorkerne gezählt, welche je nach Prozessortyp mit einem zusätzlichen Faktor gewertet werden. Die Faktoren der eingesetzten Prozessoren und Prozessorkerne können der von Oracle veröffentlichten „Processor Core Factor Table“ entnommen werden. Diese Lizenzierungsmetrik hat zur Folge, dass bei einem breiten Einsatz von Java SE auf Basis von Virtualisierungstechnologien oftmals komplette Rechenzentren lizenziert werden müssen.
1.) Durchdringung von Java und Java SE
Die erste Herausforderung für viele Organisationen ist es, überhaupt festzustellen, wo und in welchem Umfang Java im Einsatz ist. Dabei sollten nicht nur Oracles Java SE, sondern auch mögliche historische Versionen von Sun oder auch OpenJDKs und Derivate überprüft werden. Erst wenn ein ganzheitlicher Überblick über den aktuellen Einsatz von Java-Technologien auf Desktops, weiteren Endgeräten, Servern oder auch Cloud-Deployments vorliegt, kann überhaupt ein erstes Lagebild erstellt werden. Ein besonderer Fokus sollte dabei auch auf den Einsatz von Java als Programmiersprache, z. B. für Eigenentwicklungen, gelegt werden.
2.) Die Lizenzbedarfe für den Business Case / den Worst Case kalkulieren
Auf Basis der Analyse des aktuellen Einsatzes von Java-Technologie sollte sich der mögliche Bedarf an Java SE-Subscriptions ableiten lassen. Um keine potenziellen Lizenzbedarfe zu übersehen, sollten an dieser Stelle schon vorhandene Java SE-Nutzungsrechte – z. B. durch bestehende Verträge mit Oracle für andere Produkte – mit eingerechnet werden.
Dabei kann das Szenario „Wir machen weiter wie gewohnt“ meist als Ausgangsbasis genutzt werden, da hier oftmals der „Worst Case“ mit abgedeckt wird.
3.) Zeit gewinnen und Optimierungspotentiale heben
Je nach Agilität der eigenen Organisation kann es sinnvoll sein, zunächst Zeit zu gewinnen und für 1 – 2 Jahre Java SE zu lizenzieren. Da Java SE oftmals tief in der eigenen Infrastruktur verankert ist, haben viele Organisationen keine andere Möglichkeit, außer sich bewusst den Risiken von ungepatchten, alten Java-Installationen auszusetzen. Die damit gewonnene Übergangszeit kann nun für die Migration von Java SE zu Alternativen genutzt werden. Als Budget dafür können die zukünftig eingesparten Lizenzkosten angesetzt werden.
Ziel sollte es sein, die Java SE-Nutzung soweit wie möglich einzuschränken, sodass nur noch ein kleiner Teilbereich der IT lizenziert werden muss. Im optimalen Fall ist aber auch ein vollständiger Wechsel auf eine kostenfreie Variante (z.B. OpenJDK) möglich.
Wie diese Optimierung angegangen werden kann, erfahren Sie im zweiten Teil, welcher in den kommenden Wochen an dieser Stelle veröffentlicht wird.