The first nine projects proposed by the Eclipse Foundation destined to be included in the Eclipse Enterprise for Java (EE4J) have been made. They are:
- Eclipse Grizzly
- Eclipse OpenMQ
- Eclipse Mojarra
- Eclipse Message Service API for Java (JSR 914)
- Eclipse Tyrus
- Eclipse Java API for RESTful Web Services (JAX-RS)
- Eclipse Jersey
- Eclipse WebSocket API for Java (JSR 356)
- Eclipse JSON Processing
As described in the EE4J charter, these projects were created as part of the process of transitioning Oracle Java EE 8 and GlassFish technologies to the Eclipse Foundation. All new projects follow the Eclipse Development Process for integration into EE4J.
Two additional projects, EclipseLink and Eclipse Yasson, are already in the process of migration to EE4J. Pertinent information for all of the Eclipse Foundation projects can be found in their project activity news website.
Dmitry Kornilov, senior software development manager at Oracle, and Mike Milinkovich, executive director at the Eclipse Foundation, spoke to InfoQ about these nine new projects.
InfoQ: How were these projects chosen to be part of EE4J?
Dmitry Kornilov: These nine projects were chosen from more than 30 projects we (Oracle) are planning to transfer to the Eclipse Foundation. Our goal was to choose projects that the community is most interested in and transfer them to Eclipse as soon as possible. We worked with the early participants in the EE4J project (since formalized into a larger Project Management Committee) to select these nine projects.
Mike Milinkovich: Basically we used the Goldilocks rule: not too big, not too small, just right.
Moving Java EE to the Eclipse Foundation is an enormous effort, and we wanted to select a number of projects to exercise the process of on-boarding them. These projects were selected because they represented a reasonable sample of the projects which need to move, but were not the biggest ones out there (think Glassfish).
InfoQ: Will there be more projects coming from Java EE 8 and GlassFish?
Kornilov: Eventually all of Oracle's Java EE 8 projects included in GlassFish, as well as other GlassFish technologies, will be transferred to Eclipse Foundation. We in Oracle have started preparing the second batch already.
Milinkovich: Yes. All of them are coming. All of Glassfish, and every Oracle-controlled Java EE reference implementation project will be moved to the Eclipse Foundation. In addition all of the test compatibility kits (TCKs) will be brought over and for the first time made available under an open source license. In addition, the specification process for future versions of Java EE will happen at the Eclipse Foundation. So we will be creating a brand new specification process to replace the role that the JCP was playing for Java EE in the past.
As a follow-on comment, I would like to emphasize how cool it is that the TCKs are going to be open sourced. Historically the TCKs were only available under NDAs to Oracle licensors. This has been quite a choke hold on innovation in enterprise and cloud native Java. I think that the importance of open source TCKs has not gotten enough attention to date. It has the possibility of enabling a lot of new innovation in this ecosystem.
InfoQ: What has been the community response so far?
Kornilov: The response has been very positive. The community has requested transferring Java EE to open foundation some time ago and is very happy that it's going on now. On our side, we take it seriously and are trying our best to do it smooth and fast.
Milinkovich: It has been awesome. It has been great to see how many developers are excited that this technology will be moving to the Eclipse Foundation. There have been a few minor bumps along the way, as people start to wrap their minds around all of the changes that we are going to be making to the Java EE ecosystem. All change is hard, even one as enormously positive as this.
InfoQ: How long will the community review last?
Kornilov: According to Eclipse Foundation rules, proposals will be opened for community review for a minimum two weeks.
Milinkovich: It is a little unclear at the moment. Ideally the projects will be created by Monday, December 18th and we start moving the source code in shortly thereafter. But there a few legal details that need to be worked out before that can happen. In the worse case scenario, the projects kick off early in 2018.
InfoQ: What's on the horizon for EE4J?
Kornilov: There are a lot of things are going on. The first goal is to transfer all Java EE projects to the Eclipse Foundation and release a first EE4J version. The plan is to make it Java EE 8 compatible. The second goal is to define a new standardisation process which will be used by EE4J and replace the JCP process used by Java EE. And the final goal is based on defined process release a new fully community driven version of Enterprise Java.
Milinkovich: Here are the priorities for the next six to nine months or so:
- Establish EE4J as a functioning open source project and community. This will involve moving about 50 projects into Eclipse, and tens of millions of lines of code. Each of those 50 projects will have their own project leaders and committers. We expect a few hundred new committers to be added to the Eclipse community, all of which need to learn how to participate as part of an Eclipse project team. As part of this, we will have to re-license all of that code to the EPL-2.0 license, and do our normal intellectual property reviews.
- Move all of the build infrastructure for these projects from Oracle to the Eclipse Foundation's common build infrastructure.
- Open source the TCKs. This is going to be a big job, as we are talking about thousands of tests, and a lot of code that has never been previously open source.
- Ship a first release from EE4J which is Java EE 8 compatible. This is where things really start to get real. Making running code available to developers is at the heart of any open source community. The faster we can get this done, the better in my opinion.
- Establish a brand-new specification process to replace the previous JCP-based approach to evolving Java EE standards.
- Create a new name and brand for the technology formerly known as Java EE. This will include a consortium to support it, and a certification process for compatible independent implementation such as WebLogic, WebSphere, JBoss, Apache Tomee, and Payara.
I hope you agree that is a very ambitious set of objectives. We are going to be very, very busy as we set all of this up. I highly encourage everyone to be patient.
InfoQ: What are your current responsibilities at Oracle, that is, what do you do on a day-to-day basis?
Kornilov: I am managing a development team in Prague responsible for various Java EE components including JSON-B/P, JPA, JAX-RS, JAX-B, JAX-WS, Metro and others. I am also representing Oracle in the EE4J Project Management Committee (PMC). I normally spend half a day on a various meetings (managing, planning, reviewing, brainstorming, designing) and another half a day answering emails (this is what I do now :) ).
InfoQ: What are your current responsibilities at the Eclipse Foundation, that is, what do you do on a day-to-day basis?
Milinkovich: For the past 13 years I have been the Executive Director of the Eclipse Foundation, an independent member-supported open source foundation. My day-to-day activities are focused on helping both our open source projects and our commercial ecosystem get better every day.
Resources
- Source Repositories:
- Eclipse Grizzly
- Eclipse OpenMQ
- Eclipse Mojarra
- Eclipse Message Service API for Java
- Eclipse Tyrus
- Eclipse Java API for RESTful Web Services
- Eclipse Jersey
- Eclipse WebSocket API for Java
- Eclipse JSON Processing