[Java 9] Jigsaw wurde abgelehnt

Bis gestern hatten die Mitglieder des JCP (Java Community Process) Zeit um über das am heftigsten umstrittene Feature von Java 9 – Projekt Jigsaw (das geplante Modulsystem von Java, JSR 376) – abzustimmen. Jigsaw sollte das wichtigste neue Feature von Java 9 werden, nun aber steht es fest: Jigsaw wurde abgelehnt.

Java 9 wurde aufgrund dieses Features und der dazugehörigen Kritik schon mehrfach verschoben und es bleibt abzuwarten, ob Java 9 nicht sogar noch einmal verschoben werden muss.

Java Logo

 

Wie kommen die neuen Java Standards / Erweiterungen zustande?

Alle neuen Erweiterungen der Programmiersprache Java (neue Java Standards) werden Java Specification Request (kurz: JSR) gennant und müssen durch eine 2/3 Mehrheit des JCP Executive Committee (kurz: JCP) verabschiedet werden, um dann tatsächlich im neuen Java Standard zu erscheinen. Diesen sog. Java Community Process (JCP) hat die damalige Firma Sun 1998 bereits eingeführt, noch bevor Oracle Java übernommen hatte. Alle Mitglieder des JCPs (Java) dürfen Vorschläge zu neuen Java Spezifikationen machen, welche dann aber dennoch vom JCP Executice Committee (kurz: JCP EC) bestätigt werden müssen. Das JCP EC wird wiederum von den Mitgliedern des JCP gewählt. Aktuell sitzen 25 Personen (bzw. Firmenvertreter) im JCP Execution Commitee.

 

Nachdem der Vorschlag erst einmal angenommen wurde (und ein JSR ist), wird eine Expertengruppe gebildet, die den JSR mit Informationen anreichert und eine Art “Prototyp” (Early Draft) erstellen soll. Später wird daraus ein Public Draft, den die Öffentlichkeit einsehen & kommentieren kann. Danach hat mit den fertigen Java Specification Request (JSR). Diese muss jetzt erneuert vom JCP Executive Committee bestätigt werden, woraufhin diese Expertengruppe eine Referenzimplementierung beginnt. Erst nach dieser stimmt das JCP Executive Committee endgültig über die Annahme des Java Specification Request ab. Wenn die 2/3 Mehrheit erreicht wird, wird dieses “Feature” (JSR) nun offizieller Bestandteil der Programmiersprache Java.

 

Was ist mit Jigsaw passiert?

Bis zum 08.05.2017 hatten die Mitglieder des JCP Executive Committees Zeit, sich für oder gegen Jigsaw zu entscheiden.

 

Das Ergebnis steht jetzt fest:
13 Stimmen haben gegen Jigsaw entschieden, 10 Stimmen dafür.

Noch nie gab es solch eine große Ablehnung gegenüber eines neuen Java Features, wie bei Jigsaw.

Grund für die heftige Kritik war die Unausgereiftheit dieses JSRs. Schon im Vorfeld hatten Firmen wie IBM, Red Hat oder Hazelcast angekündigt, gegen Jigsaw zu stimmen.

Die gebildete Expertengruppe zu diesem Java Specification Request war sich zum Teil selbst nicht einig, zum anderen hat Oracle versucht, Probleme unter den Tisch zu kehren. U.a. Probleme, die derzeitige Java Anwendungen & Libraries zerschiessen, da Jigsaw einige neue Einschränkungen einführt. So können z.B. alte Java Klassen, welche ursprünglich nur als interne Klassen entwickelt wurden, wie die im Package sun.misc.* nicht mehr verwendet werden. Und da diese Probleme nahezu jede Anwendung betreffen, müssen sie ausreichend geklärt werden.

Red Hat & IBM hatten vorallem damit argumentiert, dass Jigsaw bei der Modularisierung von Java selbst erfolgeich funktioniert habe, aber in “echten” Anwendungsszenarien noch ungeprüft sei. Oracle meinte hingegen, dass Red Hat & IBM aus Eigeninteresse Java 9 verzögern wöllten.

 

Wie geht es jetzt weiter?

Oracle hat jetzt genau 30 Tage Zeit, um dem JCP EC einen neuen Vorschlag für Jigsaw zu unterbreiten. Wenn dieser dann zustimmt, kann es Jigsaw immer noch in Java 9 schaffen. Es lassen sich allerdings erste Vermutungen anstellen, dass Java 9 deshalb noch einmal verschoben werden könnte. Experten fordern schon jetzt eine erneuerte Verschiebung von Java 9, u.a. auch die Organisationen Red Hat, Apache Maven und andere.

 

Quellen & weiterführende Literatur

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.