Am 26. Februar war es soweit. Das Kind aka Java EE bekommt einen neuen Namen und heißt seitdem Jakarta EE. Notwendig wurde dieser Schritt aufgrund Oracles Veto, die als Trademark geschützte Bezeichnung Java auch nach der Übergabe an die Eclipse Foundation des Java-Enterprise-Standards weiter im Namen führen zu dürfen. Aber ist Jakarta EE einfach nur ein neuer Name, oder geht es nicht doch um deutlich mehr?
„Neuer Name, neues Glück“, wenn auch etwas plakativ, beschreibt dieser Satz doch bestens die aktuelle Situation rund um Java EE, sorry, ich meine natürlich Jakarta EE. Nachdem es Oracle in den letzten Jahren nicht wirklich gelungen ist, den Enterprise-Java-Standard entscheidend, und vor allem im Sinne der Community voranzutreiben, wurde dieser – für viele überraschend – Ende letzten Jahres durch Oracle an die Eclipse Foundation und somit der Open-Source-Community übergeben. Das Projekt EE4J war geboren. Nach etlichen Diskussionen und Abstimmungen zwischen den verschiedenen Stakeholdern bezüglich des möglichen weiteren Vorgehens, wurde Ende Februar nun endlich auch ein neuer Name gefunden. Dieser Schritt war notwendig geworden, da Oracle die weitere Verwendung des Namens Java EE aus markentechnischen Gründen untersagt hatte.
Aber welche Relevanz hat eigentlich der neue Name für die Zukunft der ehemaligen Java Enterprise Edition. Eine enorme, wie ich meine. Aber gleichzeitig eigentlich auch irgendwie nicht. Um dieses Paradoxon zu verstehen, müssen wir zunächst einen kurzen Blick zurückwerfen.
Bereits kurz nach der Bekanntgabe der Öffnung von Java EE [1] wurde klar, dass Oracle zwar bereit ist, neben der Spezifikation und den Sources auch so wichtige Bestandteile wie das TCK freizugeben, spätestens bei den Namensrechten aber die Großzügigkeit ein Ende finden wird. Kein Problem, mag jetzt der eine oder andere denken. Ein neuer Name ist schließlich schnell gefunden. Was aber, wenn der Name das Wörtchen Java nicht enthalten darf und ebenfalls zur Disposition steht, ob die Sources zukünftig überhaupt weiterhin unter javax fungieren dürfen. Ist das dann noch der Java-Enterprise-Standard auf den viele viele Unternehmen und individuelle Entwickler in den vergangenen Jahren gesetzt haben? Oder wird es zukünftig einfach nur noch eines von vielen Enterprise-Java-Frameworks sein?
Genau diese Bedenken haben die Java EE Guardians zum Anlass genommen, um nach Rücksprache mit der Community einen offenen Brief [2] an Oracle zu senden. Extrem verkürzt drückt der offene Brief folgende Bitte aus: Java EE ist eine starke und vertrauenswürdige Marke, daher sollte ... Java EE als Name unbedingt erhalten bleiben und javax als Packaging-Schema für bestehende und neue APIs weiter genutzt werden können
Die Antwort von Oracle [3] fiel recht ernüchternd aus. Man ist gerne bereit, mit der EE4J-Community gemeinsam an einer Branding-Strategie für einen passenden Namen zu arbeiten. Dieser Name wird aber definitiv nicht Java EE sein und auch das Markenzeichen Java nicht beinhalten dürfen (autsch!). Bestehende javax Packages dürfen zwar weiter verwendet und auch erweitert werden (etwa javax.servlet.*), um so die Kompatibilität zwischen zukünftigen EE4J- und bestehenden Java-EE-Releases sicherzustellen. Neue APIs und Technologien dagegen müssen auf einem neuen Namespace aufsetzen. So weit, so gut – oder auch eben nicht.
Ein neuer Name muss her. Und zwar ein Name, mit dem sich die bisherige Java-EE-Community zu 100 Prozent identifizieren kann. Was liegt da also näher, als genau diese Community den neuen Namen bestimmen zu lassen. Gesagt getan. Mitte November wurde ein erster „Brand Name Selection“ Poll #1 [4] eröffnet und um fleißige Mithilfe beim (Er)Finden eines neuen Namens gebeten. Die Resonanz war mit mehr als vierhundert Vorschlägen und Kommentaren enorm.
Während sich die meisten Vorschläge dicht an der bisherigen Namensgebung orientierten, so zum Beispiel Open EE (OEE) in Anlehnung an Open JDK, Open Enterprise Extensions (OEE), Eclipse Java Enterprise (EJE) oder EEJ (Anagramm zu JEE), gab es auch Vorschläge, wie Cappuccino oder HeroJ, die bewusst auf eine nächste, bessere Evolutionsstufe hinweisen wollten.
Leider fiel bereits nach einer ersten Durchsicht ein Großteil der Namen den Rotstift zum Opfer. Entweder entsprachen sie nicht den Oracle- beziehungsweise den Eclipse-Foundation-Namensregeln oder verletzten anderswertig Namensrechte. Übrig blieben am Ende zwei Kandidaten, für die es eine weitere Abstimmung, den „Brand Name Selection“ Poll #2 [5] geben sollte. Der erste Name, Enterprise Profile, ist eher konservativ gewählt und stark an die bisherige Spezifikation inklusive des darin enthaltenen Profile-Konzepts angelehnt. Der zweite Name dagegen, Jakarta EE, steht als klares Signal für einen Aufbruch in neue, bessere (?) Zeiten. Kein Wunder also, dass er schnell den einen oder anderen prominenten Fürsprecher gefunden hat. So unter anderen auch David Blevins, der in einem Beitrag im Tomitribe-Blog [6] etliche Vorteile des potenziellen Namenskandidaten aufgeführt hat.
Der Begriff Jakarta ist in der Open-Source-Community dank des gleichnamigen, im Dezember 2011 eingestellten Apache-Projekts extrem positiv belegt. Gleichzeitig lässt sich Jakarta EE als JEE abkürzen. Ein Kürzel, das bereits heute für Java EE genutzt wird. Etwas tiefgründiger argumentiert spricht für Jakarta, dass es die größte Stadt auf der Insel Java ist und mit seinem aktuellen Wachstum und seiner Innovationskraft viele Parallelen zu der gewünschten zukünftigen Ausrichtung des Java-Enterprise-Standards vorweist.
Jakarta EE – mit einer deutlichen Mehrheit von fast 65 Prozent (Abb. 1)! So symbolträchtig dieser Name aber auch sein mag, so unwichtig ist er am Ende aus meiner Sicht für den zukünftigen Erfolg oder Misserfolg des Java-Enterprise-Standards. Viel wichtiger ist die Tatsache, dass Oracle Java EE geöffnet an die Eclipse Foundation übergeben hat. Natürlich auch das, was wir als Java-Enterprise-Community in der Zukunft daraus machen. Das Projekt Jakarta EE wird sicherlich nicht an einem neuen Namen scheitern, sondern wenn, dann an mangelndem Engagement der Community. Oder wie es Mark Little im Blog von JBoss [7] so treffend ausdrückt: „... collectively we should expend that energy in moving the code and community forward collaboratively. EE4J will not fail because it’s not branded Java EE. EE4J will not fail because new specifications cannot be done under the javax package. EE4J will fail if we spend too much time away from driving these specifications forward and adding new specifications to adapt to changes in the developer space.“
Sollte sich übrigens jemand fragen „Wer hat’s erfunden?“, dem sei an dieser Stelle geholfen. Der Vorschlag für den Namen Jakarta EE kam von Kenneth J. Jaeger (@kjjaeger).
So schön es ist, dass die Java-Enterprise-Community mit Jakarta EE einen neuen symbolträchtigen Namen gefunden hat, so irrelevant wird dieser Name für die Zukunft des Java-Enterprise-Standards am Ende sein.
Wie sagte schon Goethe so schön in Faust I? „Name ist Schall und Rauch“. Oder anders formuliert: Namen sind vergänglich, viel wichtiger ist das, was dahintersteckt beziehungsweise das, was wir daraus machen. Oracle hat uns als Java-Enterprise-Community die Chance gegeben, den zukünftigen Erfolg selbst in die Hand zu nehmen. Was wir am Ende daraus machen, entscheiden alleine wir – wir alle! Natürlich können wir uns das Ganze von außen anschauen und hoffen, dass die großen Player das Ruder in die Hand nehmen. Alternativ können wir aber auch die Chance nutzen und aktiv an der Zukunft des Java-Enterprise-Standards mitwirken. In diesem Sinne: Stay tuned and engage!
Lars Röwekamp ist Geschäftsführer der OPEN KNOWLEDGE GmbH und berät seit mehr als zehn Jahren Kunden in internationalen Projekten rund um das Thema Enterprise Computing.
[1] Opening up Java EE: https://blogs.oracle.com/theaquarium/opening-up-java-ee
[2] Joint Community Open Letter on Java EE Naming and Packaging: https://javaee-guardians.io/2018/01/02/joint-community-open-letter-on-java-ee-naming-and-packaging
[3] Feedback to Joint Community Open Letter on Java EE Naming and Packaging: https://dev.eclipse.org/mhonarc/lists/ee4j-community/msg00884.html
[4] Brand Name Selection #1: https://github.com/eclipse-ee4j/ee4j/issues/1
[5 ] Brand Name Selection #2: https://github.com/eclipse-ee4j/ee4j/issues/9
[6] http://www.tomitribe.com/blog/2018/02/java-ee-to-jakarta-ee
[7] https://developer.jboss.org/blogs/mark.little/2018/01/18/java-ee-naming-and-package-discussions