Oracle stellt neues Release-Modell zur Diskussion

Java SE: Neue Versionen zukünftig zweimal im Jahr & viele Features auch Open Source

Gabriela Motroc

© Shutterstock.com / Levitskaya

Java ist zweifelsohne eine der beliebtesten Programmiersprachen, wenn nicht sogar die beliebteste. Es gibt allerdings eine Kleinigkeit, die selbst die größten Enthusiasten stört: Das Warten auf eine neue Version. Möglicherweise wird dieses Problem nun gelöst, denn Oracle hat ein neues Release-Modell zur Diskussion gestellt. Zudem sollen zahlreiche Features zukünftig auch im OpenJDK und damit Open Source zur Verfügung stehen.

In unserem Interview mit Java Champion Stephen Colebourne sprachen wir über Java 9, das Projekt Jigsaw und darüber, welche Features er sich für Java 10 wünscht. Sein Statement lautete: „Ich hoffe zunächst einmal, dass die Wartezeit auf Java 10 kürzer ausfallen wird, als die auf Java 9.“ Keine große Überraschung, denn viele Nutzer sind der Meinung, dass die Veröffentlichung neuer Versionen viel zu lange dauert. Jetzt, da sich das Release von Java 9 schnell nähert, fragt sich mancher Benutzer vielleicht bereits, wie lange er noch bis zur nächsten Version wird warten müssen. Wie sich herausstellt, steht das historische Feature-getriebene Release-Modell kurz davor, selbst in die Geschichte einzugehen.

Java SE alle sechs Monate – So sieht Oracles Vorschlag aus

Mark Reinhold, Chief Architect der Java Platform Group bei Oracle, schlug vor, das „derzeitige Feature-getriebene Release-Modell in ein striktes, zeitbasiertes Modell“ umzuwandeln. Ein neues Feature Release solle dann alle sechs Monate erscheinen, Update Releases vierteljährlich und ein sogenanntes Long-Term Support Release alle drei Jahre.

In retrospect, a two-year release cadence is simply too slow. To achieve a constant cadence we must ship feature releases at a more rapid rate. Deferring a feature from one release to the next should be a tactical decision with minor inconveniences rather than a strategic decision with major consequences. That’s fast enough to minimize the pain of waiting for the next train yet slow enough that we can still deliver each release at a high level of quality, preserving Java’s key long-term values of compatibility, reliability, and thoughtful evolution.

–Mark Reinhold

So soll es nach Java 9 weitergehen

Auf seinem Blog geht Mark Reinhold deutlicher auf die Details des neuen Release-Plans ein:

  • Feature Releases können jede Art von Feature enthalten. Dazu zählen nicht nur neue und verbesserte APIs, sondern auch Sprach- und JVM-Features. Neue Features werden erst dann gemergt, wenn sie fast fertig sind, sodass die sich in der Entwicklung befindliche Version immer feature-complete ist. Feature Releases werden jeweils im März und September eines jeden Jahres, beginnend im März 2018, ausgeliefert.
  • Update Releases sind strikt auf die Behebung von Sicherheitsproblemen, Fehlern und Bugs in neueren Funktionen beschränkt. Jedes Feature Release wird zwei Updates bekommen, bevor ein neues Feature Release veröffentlicht wird. Die Update Releases werden im Januar, April, Juli und Oktober veröffentlicht werden, wie das bereits jetzt der Fall ist.
  • Alle drei Jahre, beginnend im September 2018, wird das Feature Release ein Release mit Langzeitunterstützung sein. Updates für diese Releases werden für drei Jahre verfügbar sein, ggf. sogar länger.

Was ist nun der Unterschied zu dem bisherigen Modell? Laut Mark Reinhold wird es durch diese Änderung im Veröffentlichungsprozess deutlich mehr Möglichkeiten geben, innovative Ideen umzusetzen. Die Feature Releases werden natürlich kleiner sein, als dies bislang nach mehreren Jahren Entwicklungszeit der Fall war. Das hat unter anderem den Vorteil, dass die Aktualisierung leichter umzusetzen sein wird. Auch der Druck, neue Features auf ältere Versionen zu portieren, wird voraussichtlich schrumpfen, hofft Reinhold, da das nächste Feature Release nie mehr als sechs Monate entfernt sein wird.

Sogar zur Art und Weise, wie die neuen Versionen heißen werden, hat sich Reinhold geäußert; das Namensschema soll wie folgt aussehen: $YEAR.$MONTH. Die Java Version im nächsten Jahr könnte also Java 18.3 heißen, das erste Release mit Langzeitsupport wäre Java 18.9, vorausgesetzt der Vorschlag wird angenommen.

Lesen Sie auch: Die Tücken der Migration auf Java 9

Auswirkungen

Sollte der Plan umgesetzt werden, betrifft das natürlich nicht nur Oracle. Auch Entwickler, Nutzer und Unternehmen, die sich auf Java verlassen, werden von dieser massiven Änderung betroffen. Eine Umsetzung wird auch, so Reinhold, große Änderungen in Bezug darauf nach sich ziehen, wie die Mitglieder der OpenJDK Community das JDK selbst produzieren.

Weitere Informationen zu dem Proposal von Mark Reinhold gibt es auf seinem Blog und auf der OpenJDK Mailing-Liste. Offiziell wurde das Proposal auch auf dem Blog von Oracle vorgestellt.

„Verpasst man heute den Release-Termin, kann es Jahre dauern, bis ein neues Java-Feature endlich veröffentlicht wird. Nach dem neuen Modell wären es lediglich sechs Monate.“

Wir haben mit Donald Smith, Senior Director of Product Management for Java SE bei Oracle, über Mark Reinholds Vorschlag und dessen mögliche Auswirkungen gesprochen.

JAXenter: Während die OpenJDK Binaries zukünftig als primäre Quelle dienen sollen, um von Entwicklerseite auf die neuesten Features der Java-SE-Plattform zuzugreifen, wird das Oracle JDK als Langzeitsupport-Angebot für kommerzielle Kunden und sogenannte Support Customers von Oracle verfügbar sein. Wie kam es zu dieser Entscheidung?

Donald Smith: Die Diskussion dreht sich aktuell um die Erhöhung der Veröffentlichungskadenz der Java SE. Neue Sprach-, Bibliotheks- und VM-Änderungen können so schneller eingeführt werden, ohne dass sich das negativ auf Unternehmen auswirkt, die eine eher konservative Update-Politik pverfolgen möchten. Der Vorschlag, den wir unterbreiten, ist ausgewogen und nutzt ein „LTS“-Modell, das bereits bei vielen Open-Source-Plattformen im Einsatz ist.

JAXenter: Oracle plant, eine Reihe von internen Entwicklungsprojekten – inklusive des Java Flight Recorders – Open Source zur Verfügung zu stellen, nachdem dies mit den Mitgliedern der OpenJDK Community diskutiert wurde. Gibt es dazu bereits weitere Details?

Donald Smith: Unser Ziel ist ein möglichst nahtloser Übergang zwischen den Binaries vom OpenJDK und dem Oracle JDK – was impliziert, dass es an dieser Stelle keine Unterschiede in Sachen Features geben sollte. Auch wenn es sicher recht aufregend wäre, eine Liste von Projekten zu veröffentlichen, die dafür in Frage kommen, gehen wir lieber den gewöhnlichen Weg des OpenJDK-Prozesses und diskutieren unser Angebot zunächst mit den potentiellen Mitwirkenden.

JAXenter: Warum wird eine möglichst schnelle Weiterentwicklung immer wichtiger? Wie genau werden die Feature Releases funktionieren und wie stellt man sicher, dass die Qualität nicht unter den schnelleren Veröffentlichungszyklen leidet?

Donald Smith: Der Markt für die Anwendungsentwicklung hat sich verändert. Aktuell ist die Norm, zeitbasierte Release-Modelle für Plattformen zu haben. Unser neuer Ansatz wird die Qualität sogar fördern, denn das Verpassen eines Release Trains mit einem Feature ist nicht mehr so schlimm, wenn man nur sechs Monate und nicht jahrelang auf die nächste Version warten muss. Die halbjährlichen Feature Releases werden in Bezug auf das Ökosystem schlicht die Major Releases und deren (nun hoffentlich) historische Relevanz ersetzen.

Einige Leute haben sich bitter darüber beklagt, dass Java 9 wegen Projekt Jigsaw verschoben wurde. Hat der Vorschlag dieses neuen Ansatzes etwas damit zu tun? Gibt Oracle damit indirekt zu, „einen Fehler gemacht zu haben“, indem man Java 9 erst dreieinhalb Jahre nach Java 8 veröffentlicht?

Donald Smith: Seit Java 1.4 beträgt die Veröffentlichungskadenz immer ein wenig mehr als drei Jahre, Java 9 ist also diesbezüglich keine Besonderheit. Durch die Änderung des Marktes für die Anwendungsentwicklung ist es für Entwickler einfacher geworden, Anwendungen zu erstellen, testen und bereitzustellen. Tools für Contuous Integration und Continuous Deployment erleichtern die Einführung neuer Funktionen in die Produktion. Project Jigsaw wird das noch weiter unterstützen, indem es Entwickler vor der „Jar-Hölle“ bewahrt.

Wie sieht das Worst-Case-Szenario aus und wie bereitet sich Oracle auf mögliche Hindernisse vor?

Die entsprechenden Vorschläge wurden in der JCP und der OpenJDK Community zur Diskussion gestellt und auf der JavaOne und der JAX London werden wir uns mit dem breiteren Ökosystem darüber unterhalten. Die beste Vorbereitung ist es unserer Meinung nach, die Pläne offen mit allen Stakeholdern zu diskutieren und sie dem Feedback gemäß sinnvoll anzupassen.

JAXenter: Vielen Dank für das Interview!

Geschrieben von
Gabriela Motroc
Gabriela Motroc
Gabriela Motroc ist Online-Redakteurin für JAXenter.com. Vor S&S Media studierte Sie International Communication Management an der The Hague University of Applied Sciences.
Kommentare
  1. Java 9 erscheint heute - Business -Software- und IT-Blog - Marketing, Vertrieb und Service2017-09-21 09:40:05

    […] Zukunft nicht mehr auf das Erscheinungsdatum von Java-Releases auswirken, könnte Oracle künftig Releases im Halbjahrestakt herauszubringen. Dies schlägt Mark Reinhold, Chief Architect der Java Platform Group bei Oracle […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.