„Oracle bringt Kunden gegen sich auf; Oracle kassiert Java-Kunden ab;“ so und ähnlich hieß es in Pressemeldungen im Frühjahr 2023.
Der Anbieter selbst spricht in seinen FAQ von einer „simple and low-cost monthly subscription“ und wirbt auf der Produktseite mit dem umfassendsten Support und modernsten Verwaltungsfunktionen.
In diesem Blogbeitrag erklären wir, was hinter der Aufregung steckt, was Oracles neues Java-Lizenzmodell für Unternehmen wirklich bedeutet und welche Handlungsalternativen Sie nun haben.
Das kann teuer werden: Java SE Universal Subscription
Es wurde bereits im Januar 2023 angekündigt: Oracle führt ein neues Abomodell für Java namens Java SE Universal Subscription ein, dass die bis dahin gültigen Modelle Java SE Subscription und Java SE Desktop Subscription ablöst. Wesentliche Änderungen: Das neue Subscription-Modell deckt die Nutzung des gesamten Java-Portfolios (egal ob Desktop, Server oder Cloud; daher „Universal“) ab und bietet dafür auch Support. Außerdem werden die Subscription-Gebühren nicht mehr nutzungsabhängig, sondern nach der Anzahl der Mitarbeiter eines Unternehmens berechnet, gestaffelt zwischen 15 und 5,25 US-Dollar pro Monat und „Employee“.
Gegenüber den bisher üblichen Metriken nach Desktop-Nutzern („Named User Plus“) oder Server-Prozessorkernen („Processor“), die nur sehr aufwendig zu ermitteln sind, scheint dies eine erhebliche Vereinfachung. Die neue Metrik „Employee“ zählt jedoch nicht nur interne Vollzeit-, Teilzeit- und Zeitarbeitskräfte mit, sondern auch externe Mitarbeiter – Agenten, Auftragnehmer, Outsourcer und Berater – wenn sie interne Geschäftsprozesse unterstützen. Dabei ist es unerheblich, ob die Mitarbeiter Java tatsächlich in irgendeiner Weise nutzen. Unsere Erfahrung aus Projekten zeigt, dass es nahezu unmöglich ist, bei der Arbeit mit Externen die Compliance mit der neuen Metrik sicherzustellen, es sei denn, man einigt sich mit Oracle auf eine entsprechende Vertragsklausel. Kostengünstig ist die neue Metrik jedenfalls nicht.
Das bringt zwei potenzielle Probleme mit sich: Erstens kann es sehr teuer werden, vor allem natürlich für größere Unternehmen. Anhand von Kundenbeispielen haben wir Preissteigerungen bis zum 30-fachen der bisherigen Kosten errechnet. Unternehmen rechnen laut Gartner mit zwei- bis fünffach höheren Java-Abo-Kosten.
Habe ich Handlungsbedarf?
Diese Frage stellen sich viele Anwender und auch Kunden von SoftwareOne. Wahrscheinlich ja, lautet unsere Antwort, es sei denn, Sie wissen genau, dass Sie keine kostenpflichtigen Java-Installationen betreiben. Auf die damit verbundenen Schwierigkeiten gehen wir weiter unten ein.
Die Antwort hängt auch von Ihrer Risikobereitschaft ab. Um das Risiko einzuschätzen, hilft ein Blick in die jüngere Geschichte. Generell ist Oracle dafür bekannt, erhebliche Ressourcen darauf zu verwenden, Lizenzverstöße aufzudecken und vermeintliche Ansprüche juristisch durchzusetzen. Laut Handelsblatt bezeichnen manche IT-Manager das Unternehmen hinter vorgehaltener Hand als Rechtsabteilung mit angeschlossener Softwareentwicklung.
Bei Java war das lange Zeit anders. Nach der Übernahme des Java-Entwicklers Sun Microsystems durch Oracle im Jahr 2010 gab es für die kommerzielle Version von Java einige Jahre lang keine nennenswerte Vertriebsaktivitäten. Deren gezielte Monetarisierung begann 2019 mit der Änderung der Lizenzbedingungen für Java 11. Auch aktuelle Sicherheitsupdates für Java 8 wurden, wie 2016 angekündigt, kostenpflichtig. Seit 2022 führt Oracle auch bei Kunden in Deutschland Audits durch. Durch das Tracking der Downloads besteht immer die Gefahr eines Audits, wenn kostenpflichtige Java-Derivate von der Oracle-Seite heruntergeladen werden.
Oracle sagt zwar in seinen Oracle Java SE Universal Subscription FAQ, dass Kunden ihr bestehendes Legacy-Abonnement verlängern können. Bei einer Verlängerung nach der alten Metrik wird allerdings seit September letzten Jahres immer ein freiwilliges Selbst-Audit durchgeführt und in virtuellen Umgebungen wird eine gegebene Partitionierung im neuen Vertrag nicht berücksichtigt.
Gartner geht davon aus, dass in den nächsten drei Jahren 20 Prozent der Java-Nutzer mit einem Audit durch Oracle rechnen müssen und 30 Prozent nicht compliant sein werden. Gegen die neue Metrik und die damit verbundenen Kosten können Kunden rechtlich vorgehen. Bislang ist jedoch noch keine Streitsache vor Gericht gelandet.
Java ist nicht gleich Java: Alternativen
Welche konkreten Handlungsalternativen haben Sie nun, wenn Sie nicht in den sauren Apfel beißen und für die neue Java SE Universal Subscription bezahlen wollen?
Wenn Sie eine korrekt dimensionierte Legacy-Subscription oder ausreichend gültige Java-SE-Advanced- / Java-SE-Suite-Lizenzen besitzen, müssen Sie – wenn Sie sich wirklich sicher sind (siehe oben) – zunächst gar nichts tun. Auch wenn Sie seit Januar 2019 keine Updates und Sicherheitspatches mehr eingespielt haben, ändert sich für Sie lizenztechnisch nichts – aber Sie leben dann in Sachen Cybersicherheit extrem gefährlich.
Sie können Geld sparen, wenn Sie auf eine kostenlos nutzbare Java-Variante umsteigen. Die LTS-Versionen Java 17 und 21 können auch kommerziell kostenlos genutzt werden und erhalten bis September 2024 bzw. 2026 kostenlose Updates. Da das Java Development Kit (JDK) seit 2006 Open Source ist, stehen mit LTS auch verschiedene kommerzielle 3rd-Party-Produkte zur Auswahl, die auf Oracles freier Java-Implementierung OpenJDK basieren (OpenJDK wird von Oracle selbst nicht mehr langfristig unterstützt). Die wichtigsten sind Red Hat OpenJDK, Adoptium Eclipse Temurin, Amazon Coretto, Azul Zulu und BellSoft Liberica. An diese Konkurrenten verliert Oracle kontinuierlich Marktanteile - nach Zahlen von New Relic von rund 75 Prozent im Jahr 2020 auf 21 Prozent vier Jahre später (siehe Grafik).
Es ist aber wichtig, die Möglichkeiten der verwendeten Anwendungen genau zu prüfen. Wenn z.B. Oracle Web Start verwendet wird, ist es schwierig, auf eine Open-Source-Variante oder auf Java 17 und spätere Varianten umzusteigen (mehr dazu gleich).
Einfach wird es nicht...
Um sich für die optimale Alternative entscheiden zu können, benötigen Sie einen Überblick über Ihre Java-Applikationen, die damit verbundenen Lizenzanforderungen und auch die technischen Rahmenbedingungen. Denn Java-Applikation ist nicht gleich Java-Applikation und Oracle-Lizenz nicht gleich Oracle-Lizenz – eine individuelle Betrachtung jeder Applikation ist unabdingbar. Nur so kann festgestellt werden, was genau benötigt wird und welche Änderungen den größten Nutzen bringen.
Für viele beginnt hier aber auch schon das Problem, denn Java ist eine der populärsten Programmiersprachen und in unzähligen Anwendungen zu finden – in Desktop- und Server-Tools, in Business-Software von Independent Software Vendors (ISV), in Software, die vielleicht von Mitarbeitenden auf eigene Faust installiert wurde, und höchstwahrscheinlich auch in einigen Ihrer Eigenentwicklungen. Je nach verwendeter Java-Version gelten unterschiedliche Lizenzbedingungen: Ältere Software (vor Java 11) steht unter der Binary Code License (BCL), die für JDK und OpenJDK gleichermaßen gilt und bis zu einem definierten Update-Stand und mit Ausnahme bestimmter Komponenten die kommerzielle Nutzung erlaubt. Neuere Versionen bis Java 16 stehen unter der OTN-Lizenz (Oracle Technology Network License Agreement) und sind bis auf Sonderfälle nur für private Nutzung, Test & Development frei. Erst ab Java 17 gilt die NFTC-Lizenz (No Fee Terms & Conditions), die die kommerzielle Nutzung kostenlos erlaubt. Wenn Ihre Java-Applikation von einem ISV stammt, hat dieser vielleicht ein eigenes Embedded License Agreement mit Oracle, das Sie von Lizenzforderungen befreit – vielleicht aber auch nicht.
Ich will Java migrieren – aber läuft meine Anwendung dann noch?
In vielen Unternehmen sind Oracle-Java-Versionen im Einsatz, die besonderen Handlungsbedarf erfordern, insbesondere Java 8 ab JDK 8u211 und Java 11. Hier lauern nicht nur lizenzrechtliche, sondern auch technische Stolpersteine. Anwendungen, die mit älteren Java-Versionen laufen, können Abhängigkeiten von bestimmten Komponenten aufweisen, die nicht in allen Alternativen vorhanden sind. Beispiele sind Java Web Start und Java Applets, die mit Java 8 eingestellt wurden, aber heute noch verwendet werden.
Für Web Start gibt es inzwischen mit IcedTea-Web und OpenWebStart Open-Source-Alternativen. Für andere Funktionen kann dies jedoch nicht der Fall sein. Daher muss jede Java-Anwendung, die für eine Migration in Frage kommt, auf verwendete Features und Abhängigkeiten geprüft werden.
Kosten sind nicht alles – das Optimum aus jeder Migration herausholen
Selbstverständlich unterstützen wir Sie bei der Optimierung Ihrer Java-Anwendungslandschaft – von den Lizenzen bis zum Code der einzelnen Anwendungen. Bei Eigenentwicklungen, deren Quellcode nicht verfügbar ist, arbeiten wir mit dem ISV zusammen, um die Situation zu klären. Bei Individualsoftware, deren Quellcode vorliegt und die keine Oracle-spezifischen Closed-Source-Teile enthält, ist eine Migration auf eine Java-Version Ihrer Wahl oft vergleichsweise unkompliziert.
Häufig sind aber auch Anpassungen am Code notwendig, weil für bestimmte Funktionen neue Open-Source-Frameworks eingesetzt werden müssen. Und wenn Sie ohnehin den Code anfassen müssen, sollten Sie auch gleich über eine Modernisierung Ihrer Anwendung nachdenken.
Denn nur dann können Sie das Optimum aus einer Anwendungsmigration herausholen. Veraltete Software stößt nicht nur bei Funktionalität, Kompatibilität und Performance an ihre Grenzen. Sie birgt auch Sicherheits- und Compliance-Risiken und blockiert oft die Weiterentwicklung durch veraltete Technologien und Architekturen, fehlende Schnittstellen und eine unübersichtliche Codebasis. Durch eine gezielte Modernisierung erhöhen Sie den Standardisierungsgrad Ihrer Anwendungen, senken die Total Cost of Ownership (TCO), verbessern Wartbarkeit, Flexibilität und Integrationsfähigkeit und schaffen die Voraussetzungen, um Technologien wie Cloud oder KI nahtlos zu nutzen und Ihre Agilität und Wettbewerbsfähigkeit zu sichern.
Sie wollen noch tiefer in das Thema einsteigen?
Inzwischen ist es hinlänglich bekannt, dass Oracle bei Java Lizenzierung und Support einige signifikante Änderungen vorgenommen hat. Aber sind Sie sich auch im Klaren, wie sich diese Änderungen auf Ihre Organisation auswirken? Erfahren Sie mehr in unserem Flyer!
SoftwareOne unterstützt Sie bei der Anwendungsmodernisierung
Wenn Sie bei Ihren Anwendungen Oracle Java ersetzen möchten, haben Sie verschiedene Optionen – doch am meisten profitieren Sie, wenn Sie relevante Applikationen gleich gezielt modernisieren. Bei SoftwareOne steht Ihnen ein Expertenteam für cloud-native Anwendungsentwicklung zur Verfügung, das Sie dabei umfassend und bedarfsgerecht unterstützt:
Refactor: Code umstrukturieren und optimieren, um technische Schulden zu beseitigen und nichtfunktionale Eigenschaften zu verbessern (z. B. Containerisierung).
Rearchitect: Code signifikant verändern (Lösungsdesign), um ihn auf eine neue Anwendungsarchitektur umzustellen und neue Funktionen zu nutzen (z. B. Migration auf Cloud-Datenbank-Service).
Rebuild: Anwendungskomponente neu entwerfen und programmieren (Umfang und Spezifikationen können gleich bleiben oder angepasst werden).
Wir nutzen Best-of-Breed-Tools und agile Methoden (z.B. Design Thinking, Event Storming, Domain-driven Design), um die Lösungen zu entwickeln, die Ihre Geschäftsanforderungen am besten erfüllen – ergebnisorientiert, kostenbewusst und DevSecOps-fähig.
Entdecken Sie Oracle-Java-Alternativen!
Erfahren Sie, ob eine Migration Ihrer Java-Applikationen sinnvoll ist und welche Alternativen zu Oracle Java für Ihr Unternehmen in Frage kommen. Jetzt mehr erfahren!
Entdecken Sie Oracle-Java-Alternativen!
Erfahren Sie, ob eine Migration Ihrer Java-Applikationen sinnvoll ist und welche Alternativen zu Oracle Java für Ihr Unternehmen in Frage kommen. Jetzt mehr erfahren!