Blog

Wird Java zur kostenpflichtigen Software?

Aktualisiert Oktober 21, 2025
13 Minuten

"Java wird Geld kosten." - Sie werden im Internet viele Beiträge und Artikel zu diesem Thema finden. Man kann mit Fug und Recht behaupten, dass es nicht aus dem Nichts kam. Es gibt jedoch einige Mythen, die sich um dieses Thema ranken und die ausgeräumt werden müssen, insbesondere wenn Ihre Karriere oder Ihr Unternehmen in irgendeiner Weise mit der Java SE-Plattform zu tun hat.

Kurze Zusammenfassung

Bevor wir uns näher mit diesem Thema befassen, habe ich eine kurze Zusammenfassung für Entwickler und Geschäftsinhaber vorbereitet, damit Sie, unabhängig davon, ob Sie Java 8 oder Java 11 (und höher) verwenden, einen schnellen Überblick darüber erhalten, was als nächstes zu tun ist.

Ich bin ein Entwickler

Sind Sie ein Entwickler, der noch nie für Java bezahlt hat und Java in Zukunft kostenlos nutzen möchte?

Egal, ob Sie Java 8 verwenden (und keine Möglichkeit haben, auf eine höhere Version zu migrieren) oder ob Sie planen, Java 11 oder höher zu verwenden, hier ist, was Sie wissen müssen:

Zunächst einmal sollten Sie wissen, dass sich Oracle JDK deutlich von OpenJDK unterscheidet.

Achten Sie darauf, woher Sie die JDK-Binärdistribution beziehen. Heute ist die beste Wahl für Sie JDK JAVA , während es in 3-6 Monaten Adoptium sein wird. Wenn Sie täglich mit Linux arbeiten, können Sie auch OpenJDK verwenden, das in einem Paket geliefert wird, das von einem Paketmanager (apt, dnf usw.) Ihrer Linux-Distribution verwaltet wird.

Am wichtigsten ist, dass Sie auf die Kompatibilität Ihres Codes mit OpenJDK achten.

Wenn Sie sich jedoch speziell für Oracle JDK entscheiden und es nur zum Entwickeln und Testen Ihrer Software verwenden möchten, können Sie es mit dieser neuen Lizenz weiterhin kostenlos nutzen.

Ich bin für mein Geschäft verantwortlich.

Setzen Sie Java in einer Produktionsumgebung ein, haben Sie nie dafür bezahlt und möchten Sie Java kostenlos nutzen? Dann sollten Sie wissen, dass Sie sich von nun an nicht mehr auf offizielle Garantien verlassen können. Von nun an müssen Sie sich auf die Unterstützung der freien Community des Open-Source-Projekts verlassen. Die Entwicklung der Ereignisse in dieser Gemeinschaft gibt uns große Hoffnung, dass diese Unterstützung auch weiterhin bestehen wird.

Wenn Sie Java 8 verwenden und keine Möglichkeit haben, auf eine höhere Version zu migrieren:

Der kostenlose Support von Oracle für JDK 8 endet im Januar 2019. Es besteht eine sehr hohe Wahrscheinlichkeit, dass OpenJDK noch lange Zeit unterstützt wird; nicht von Oracle, sondern von einem anderen Unternehmen. Wenn Sie also Oracle JDK verwenden (und dessen kostenpflichtige Funktionen nicht nutzen), wechseln Sie zu OpenJDK (siehe die Anweisungen für Entwickler oben).

Wenn Sie Java 11 oder höher verwenden möchten:

Wenn Sie Oracle JDK 11 für kommerzielle Anwendungen verwenden, müssen Sie dafür bezahlen. Wechseln Sie also zu OpenJDK (siehe das Handbuch für Entwickler). Oracle garantiert derzeit kostenlose Updates von OpenJDK 11 für (nur) 6 Monate ab dem Veröffentlichungsdatum. Es besteht jedoch eine sehr hohe Wahrscheinlichkeit, dass ein anderes Unternehmen die OpenJDK 11-Updates übernimmt und OpenJDK auch in den nächsten Jahren weiter unterstützt.

Werden wir für Java bezahlen müssen?

Lassen Sie uns von Anfang an beginnen.

Im September 2017 sollte Java 9 veröffentlicht werden. Doch gemäß der berüchtigten Tradition verzögerte sich diese Ausgabe um fast ein Jahr. Alle hatten gute Absichten, aber es kam, wie es kommen musste: Die für die Implementierung in der "neunten" Ausgabe geplanten Funktionen, insbesondere das bahnbrechende JPMS, verschlangen viel mehr Zeit und Mühe als ursprünglich gedacht. Es gab jedoch einen kleinen Hoffnungsschimmer, dass sich die Dinge ändern würden: Es wurde ein neuer Veröffentlichungsrhythmus für Java-Editionen angekündigt [1]. Von nun an sollen die nächsten Java-Versionen nach einem festen Zeitplan erscheinen. Eine neue Java-Edition wird alle 6 Monate veröffentlicht und wird nur die Funktionen und Verbesserungen enthalten, die zum Zeitpunkt der Veröffentlichung tatsächlich geliefert werden können. Wenn einige von ihnen noch nicht fertig sind, werden sie einfach auf die nächste Version verschoben.

Die Java-Gemeinschaft begrüßte diese Nachricht mit großer Begeisterung. Sie bedeutete, dass Java in Bezug auf die dynamische Entwicklung mit anderen Sprachen und Plattformen mithalten kann. Außerdem können alle, die sich für IT-Innovationen interessieren, Features und Funktionalitäten schneller testen und so der Programmiergemeinschaft wertvolles Feedback geben. Dieses Bewusstsein erreichte langsam alle.

Im September 2018 sollte die 11. Edition von Java veröffentlicht werden - die erste Version in einem neuen Zyklus mit Long-Term Support (LTS). Alle waren gespannt auf die neue Edition, denn die LTS-Edition sollte garantieren, dass wir für eine lange Zeit Patches für kritische Schwachstellen (insbesondere Sicherheitslücken) erhalten, die in der Plattform entdeckt wurden. Daher wurde diese Edition für gut befunden, da man davon ausging, dass sie viele Jahre lang funktionieren würde.

Als jedoch bekannt gegeben wurde, was LTS in der Praxis bedeutet, war das ein großer Schock. Der wichtigste Java-Anbieter wollte tatsächlich LTS anbieten, aber mit einem kleinen Unterschied - es sollte eine kostenpflichtige Option werden.

Es stellte sich heraus, dass die neue Art der Veröffentlichung von Java weitreichendere Folgen haben wird, als es zunächst schien.

Es ist kompliziert...

Um dies zu verstehen, müssen wir ein wenig tiefer gehen und erklären, wie der Prozess der Erstellung (Herstellung) der Java SE-Plattform aussieht. Welche Rolle spielen die verschiedenen Einrichtungen und Personen, die daran beteiligt sind, dass Sie eine andere Version von Java einfach und kostenlos auf Ihrem Computer oder Server installieren können? Es gibt drei Schlüsselrollen, die Sie berücksichtigen sollten:

  • Java Stewards und das OpenJDK-Team - Personen wie Mark Reinhold, John Rose und Brian Goetz. Menschen, die seit Jahren an der Entwicklung der Java SE-Plattform arbeiten und zu den weltweit führenden Experten auf diesem Gebiet gehören. Sie sind verantwortlich für die Entwicklung der Plattform im Einklang mit den Herausforderungen der Gegenwart und mit dem Feedback der Community. Ab heute sind sie Vollzeitangestellte des Java-Sponsors. Dennoch haben sie eine gewisse Unabhängigkeit bei der Gestaltung der Vision für die Entwicklung von Java. Sie nehmen an konstruktiven Diskussionen mit anderen Vertretern der Gemeinschaft teil; ihre Arbeit und ihre Entscheidungen sind weitgehend transparent. Es wäre daher ungerecht, sie als stimmlose Untergebene zu betrachten, die lediglich die Pläne des Sponsors ausführen. Hier ist ein interessanter Vortrag von Javas wichtigstem Steward [2].
  • Sponsor - nämlich Oracle. Das Unternehmen sponsert Entwickler, die OpenJDK implementieren. Diese OpenJDK-Quellen sind, obwohl sie unter der GPLv2 + CE lizenziert sind, Eigentum von Oracle und befinden sich auf den Servern des Unternehmens [3].
  • Anbieter - andere Unternehmen, die OpenJDK-Quellen verwenden, um binäre JDK-Distributionen zu erstellen, zur Verfügung zu stellen (manchmal gegen Geld) und zu unterstützen. Oracle ist natürlich der dominierende Anbieter. Red Hat kann jedoch als weiteres Beispiel für einen Anbieter dienen, der OpenJDK für die Verteilung mit RHEL-Systemen erstellt. In gewisser Weise übernimmt auch das OpenJDK-Team die Rolle eines Anbieters, indem es Binärdistributionen erstellt und bereitstellt. Da OpenJDK unter einer GPLv2 + CE-Lizenz steht, kann jeder, der über die richtigen Fähigkeiten verfügt, ein kommerzieller Anbieter sein [4].

Kurz gesagt, jede neue Version von Java wird zunächst als Spezifikation entwickelt, die von den Stewards und anderen Führungskräften der Gemeinschaft im Rahmen des Java Community Process erstellt und vereinbart wird. Diese Spezifikation ist eine Sammlung von beliebten Java Specification Requests (JSRs). Für jedes dieser JSR-Dokumente gibt es eine eigene Expertengruppe, die sich aus Personen zusammensetzt, die sich in dem jeweiligen Bereich auskennen - und die oft von außerhalb von Oracle kommen. Sie sind es, die die so genannte Expert Group bilden, die sich aus Experten aus den entsprechenden JSR-Bereichen zusammensetzt. Diese Form der Konsultation mit der Community ist in diesem Prozess von besonderer Bedeutung. Eines der bedeutendsten Beispiele für eine solche Zusammenarbeit war die Teilnahme von Stephen Colebourne, dem Schöpfer der Joda Time Bibliothek, an der Expertengruppe, die die Java Time API, die in Java 8 veröffentlicht wurde, erstellt hat [14]. Wenn die JSRs fertig sind, erstellt das OpenJDK-Team eine Referenzimplementierung dieser Spezifikation. Sobald dies geschehen ist, nehmen die Anbieter die Quellen von OpenJDK, implementieren Verbesserungen, die für ihre Zielhardware oder Betriebssystemplattformen spezifisch sind, und verteilen sie.

Da jedoch bisher Oracle (ehemals Sun) sowohl der Arbeitgeber und Sponsor des Stewards als auch der Hauptlieferant war, lautete die gängige Annahme, dass "Java ein Oracle-Produkt ist" und dass alle Entscheidungen in Bezug auf die Plattform willkürlich von dem Unternehmen auferlegt werden, das nur von seinen besonderen Interessen geleitet wird. Diese Annahme ist nicht ganz zutreffend und gerechtfertigt - und sie wird sicherlich weiter an Bedeutung verlieren, sobald Java 11 veröffentlicht wird.

Kommen wir zurück zum LTS und wie es funktionieren soll. Wie wir bereits wissen, wird das JCP alle 3 Jahre eine Version von Java als LTS herausgeben. Dass die Stewards eine bestimmte Version als LTS bezeichnen, bedeutet jedoch nicht, dass sie die Verpflichtung übernehmen, diese zu unterstützen. Es handelt sich hierbei lediglich um eine "Richtlinie" für Anbieter, damit sie, wenn sie Java in Übereinstimmung mit dem "Gesellschaftsvertrag" der Java-Gemeinschaft vertreiben wollen, ihren Endbenutzern den langfristigen Support für diese Versionen anbieten. Die Hersteller sind also diejenigen, die sich verpflichten müssen, die Supportkosten für einen bestimmten Zeitraum zu übernehmen. Sie können dies jedoch entweder kostenlos oder gegen eine Gebühr tun. Die verschiedenen Anbieter haben also unterschiedliche Ansätze für die Java 11 LTS:

  • Oracle: wird Oracle JDK mit mehreren Jahren LTS zur Verfügung stellen - aber das LTS wird ein kostenpflichtiger Service sein
  • OpenJDK-Team (der "Gefälligkeits"-Anbieter): Im Moment planen sie, OpenJDK 11 zu unterstützen - allerdings nur für 6 Monate ab der Veröffentlichung (was nicht wirklich als langfristige Unterstützung angesehen werden kann).

Die Java-Community hat jedoch eine neue Initiative ins Leben gerufen, die als AdoptOpenJDK [5] bekannt ist. Was ist das? Es handelt sich um eine CI-Infrastruktur, auf der JDK-Binärdistributionen erstellt und der Öffentlichkeit zur Verfügung gestellt werden - kostenlos. Sie werden aus den OpenJDK-Quellen erstellt, aber außerhalb der Oracle-Infrastruktur. Auf der AdoptOpenJDK Website können Sie JDK herunterladen und auf Ihrem Computer installieren.

Ist AdoptOpenJDK also der neue Anbieter? Nein, das ist es nicht. Die Aufgabe dieser Initiative ist es, eine unabhängige, öffentliche, offene Infrastruktur für die Erstellung von JDK aus Quellen zu schaffen - aber nicht für das Patchen dieser Quellen. Damit Java kostenlos ist und durch langfristigen Support ergänzt wird, wird ein Freiwilliger benötigt, der die Quellen von OpenJDK 11 über einen langen Zeitraum hinweg patcht. Zusätzlich zu einem Freiwilligen ist auch die Zustimmung von Oracle erforderlich, um die Pflege von OpenJDK 11 nach 6 Monaten an eine andere Stelle zu übertragen. Zumindest gibt es bisher zwei gute Nachrichten:

  • Es sieht so aus, als ob Oracle bereit ist, den Support für OpenJDK 11 ohne Einwände auf andere Anbieter zu übertragen. Zumindest lässt sich dies aus dem jüngsten E-Mail-Austausch auf den OpenJDK-Listen ableiten. Siehe [6].
  • Es gibt einen Freiwilligen, der bereit ist, die langfristige Unterstützung von OpenJDK 11 sowie OpenJDK 8 zu übernehmen. Bei diesem Freiwilligen handelt es sich um Andrew Haley, einen Vertreter von Red Hat. Als erfahrener Anbieter verfügt er über die notwendigen Fähigkeiten, um diese Aufgabe zu übernehmen. Eine weitere wichtige Tatsache ist, dass Red Hat seit einiger Zeit ein strategischer Partner von AWS ist - und dieser hat sich bereits bereit erklärt, seine personellen Ressourcen für die Unterstützung von OpenJDK einzusetzen. Siehe [7].

Folglich ist es sehr wahrscheinlich (wenn auch nicht garantiert), dass Red Hat tatsächlich die LTS von OpenJDK übernehmen wird und dass die AdoptOpenJDK-Freiwilligen uns Binär-Builds kostenlos zur Verfügung stellen werden (sogar noch kostenloser als je zuvor).

Wie konnte es so weit kommen? Wohin soll das alles führen?

Seit Jahren hat Java SE ein breites Spektrum an Befürwortern und Gegnern. Eines ist jedoch sicher - Java ist seit Jahren die beliebteste Programmiersprache. Ihre Popularität ist größtenteils darauf zurückzuführen, dass sie immer kostenlos verfügbar war. Ihre plötzliche Kommerzialisierung stellt ein großes Risiko für ihre Marktposition dar. Die Nachricht, dass Java nicht mehr kostenlos verfügbar sein wird, hat sowohl Unternehmen als auch Entwickler dort getroffen, wo es weh tut. Man kann sich fragen, ob sich dieses Risiko, das der Eigentümer der Plattform eingegangen ist, lohnen wird. Wird es nicht eher zu seiner Selbstzerstörung beitragen, anstatt zu einer Einnahmequelle zu werden? Kann ich persönlich, als jemand, der die Sprache benutzt, mit der Überzeugung leben, dass die Dinge in die richtige Richtung gehen?

Oracle hat sich nicht offiziell dazu geäußert, warum es sich entschieden hat, seine Java-Plattform und -Laufzeitumgebung zu einem kostenpflichtigen Dienst zu machen. Daher können wir nur spekulieren, warum das so ist. Wir können jedoch in der Vergangenheit nach Hinweisen suchen, die etwas Licht in diese Angelegenheit bringen könnten:

  • Mit der Entwicklung von Cloud-Lösungen, die stärker als je zuvor auf Java basieren, profitieren verschiedene Unternehmen (in erster Linie Cloud-Anbieter) von der Nutzung der Java SE-Plattform. Die Suche des Sponsors nach Möglichkeiten, andere Unternehmen an den Kosten zu beteiligen, ist eine natürliche und verständliche Tendenz, insbesondere wenn man bedenkt, dass diese Unternehmen (z.B. Amazon Web Services) der direkte Konkurrent von Oracle auf dem Markt für Cloud-Lösungen sind.
  • Ein weiterer Aspekt im Zusammenhang mit dem Aufblühen von Cloud-Lösungen ist die Universalität von Java SE. Die moderne Realität zeigt, dass seine Entwicklung als Monolith zu viele Probleme schafft und an Bedeutung verliert. Um universell zu bleiben, muss es seinen Hauptnutzern (d.h. den Cloud-Anbietern) die Möglichkeit einer stärkeren Anpassung geben. Die Annahme eines solchen Kurses spiegelt sich in der Einführung des Java Platform Module System in Java 9 wider, das es ermöglicht, die JRE für sehr spezifische Bedürfnisse anzupassen. Ein weiteres Beispiel ist die verbesserte Isolierung der Java Garbage Collector API, die in Java 10 eingeführt wurde und die Ersetzung dieser Implementierung erleichtert. In Java 11 geht es noch einen Schritt weiter: der No-Op Garbage Collector wird hinzugefügt - ein Tool, mit dem Sie Ihren eigenen GC testen können.
  • Stewards und das OpenJDK-Team sind auch nur Menschen; sie haben nur eine begrenzte Zeit zur Verfügung. Die Konzentration auf die Entwicklung der Plattform und die Gestaltung ihrer Zukunft wird eine bessere Investition dieser Zeit sein als die langfristige Unterstützung der alternden OpenJDK-Versionen.

Natürlich kann jeder seine eigenen Schlussfolgerungen ziehen. Man kann sich jedoch nur schwer des Eindrucks erwehren, dass Java sich in die richtige Richtung entwickelt. Nämlich in eine Richtung, die den Bedürfnissen und Herausforderungen der sich verändernden Welt gerecht wird.

Fazit

Wir verfolgen die Geschehnisse und achten genau auf die Entscheidungen, die Oracle, Red Hat und andere Giganten in Bezug auf OpenJDK treffen. Gleichzeitig drücken wir den Freiwilligen von AdoptOpenJDK die Daumen.

Geschäftsperspektive

Trotz der Änderungen von Oracle ist es immer noch möglich, offene Quellen für Java zu verwenden und möglicherweise werden Freiwillige und andere Organisationen ihr Bestes tun, um einige Varianten frei und offen zu halten. Es besteht kein Grund zur Panik, wenn es um Java geht, aber wir werden es sicher im Auge behalten.

Referenzen

  1. Mark Reinhold (2017/09/06) "Java schneller vorantreiben"
  2. Mark Reinhold (2018/08/01) "Die Zukunft der Java-Plattform und des JDK: Wer hat das Sagen?"
  3. OpenJDK Projekte
  4. GNU General Public License, Version 2, mit der Classpath Exception
  5. AdoptOpenJDK
  6. Was bedeutet LTS für OpenJDK?
  7. Andrew Haley (24.09.2018) "Die Zukunft von Java und OpenJDK-Updates ohne Oracle-Unterstützung"
  8. Das Handbuch für OpenJDK-Entwickler
  9. (OpenJDK) JDK 11 Allgemeinverfügbare Version
  10. Nicolai Parlog (25.09.2018) "Alles, was Sie für die Migration auf Java 11 wissen müssen"
  11. Mehr zur GPLv2 mit der Klassenpfad-Ausnahme
  12. Stephen Colebourne (2018/08/28) "Java ist immer noch zum Nulltarif erhältlich"
  13. Stephen Colebourne (26.09.2018) "Oracles Java 11-Falle - Verwenden Sie stattdessen OpenJDK!"
  14. JSR 310: Datum und Uhrzeit API

Contact

Let’s discuss how we can support your journey.