Eclipse Foundation Wants OSGi to be Considered for Java 8 - Jigsaw Doesn't Cut it
Although he is very supportive of Java 7, Mike Milinkovich, the Executive Director of the Eclipse Foundation, said in a blog post this weekend that Eclipse would vote against JDK 8 if it doesn't accommodate the OSGi modularity and services framework. Milinkovich said he wants to see OSGi replace the current "greenfield projects" for JDK 8. He believes that the issues standing in the way of OSGi are "not software but social engineering." He adds that, "In the best interest of the Java community, some sort of compromise is going to be required."
According to the new schedule for OpenJDK development, the former JDK 7 specs have been broken up into JDK 7 and JDK 8 under Plan B. While Oracle says they have a bunch of features that are nearly ready, other major platform changes like Project Jigsaw and Project Lambda (closures) are not as mature, therefore, Lambda and Jigsaw have been postponed until JDK 8, which is scheduled to ship in late 2012 (Milinkovich predicts early to mid 2013). Jigsaw is a low-level module system similar to OSGi, but Milinkovich thinks this isn't enough:
This clearly seems like a criticism of Project Jigsaw, although he doesn't mention it by name. OSGi has been very important to Eclipse for quite some time. Milinkovich reminds readers that OSGi is the basis for the Eclipse platform's plug-in model. Eclipse hosts OSGi projects like Virgo and Gemini while also using OSGi as the basis for its ESB implementations and Java EE application servers.
Go here and read the full blog posting.
According to the new schedule for OpenJDK development, the former JDK 7 specs have been broken up into JDK 7 and JDK 8 under Plan B. While Oracle says they have a bunch of features that are nearly ready, other major platform changes like Project Jigsaw and Project Lambda (closures) are not as mature, therefore, Lambda and Jigsaw have been postponed until JDK 8, which is scheduled to ship in late 2012 (Milinkovich predicts early to mid 2013). Jigsaw is a low-level module system similar to OSGi, but Milinkovich thinks this isn't enough:
We are no where near as positive about the Java 8 JSR [as we are about JDK7]. … We are just not comfortable that the direction of the Java 8 team will do an adequate job of bridging the divide between the OSGi world and whatever modularity model is decided upon for the platform. Which potentially means that Java 8 may ship in late 2012 (actually I predict early-to-mid-2013) with a modularity model which is orthogonal to, and incompatible with OSGi. In our opinion, that would be a disaster for the Java platform and the Java ecosystem. --Mike Milinkovich
This clearly seems like a criticism of Project Jigsaw, although he doesn't mention it by name. OSGi has been very important to Eclipse for quite some time. Milinkovich reminds readers that OSGi is the basis for the Eclipse platform's plug-in model. Eclipse hosts OSGi projects like Virgo and Gemini while also using OSGi as the basis for its ESB implementations and Java EE application servers.I am not saying that OSGi is a panacea. There are lots of people out there who will happily tell you about all of the reasons why it is imperfect. For example, despite the fact that its roots are in embedded, it objectively has been a failure in the Java ME space. My point is that it is deeply ingrained in the Java ecosystem and in the architectures of many of the most successful Java products out there. I cannot imagine a scenario where ignoring or trying to replace it in a major Java platform release two and a half years from now can be anything other than a train wreck. … Unless we see sufficient accommodation for OSGi in the Java 8 JSR we will be voting No. --Mike Milinkovich
Go here and read the full blog posting.
Tags:






Comments
Jacek Furmankiewicz replied on Mon, 2010/10/18 - 10:18am
Ronald Miura replied on Mon, 2010/10/18 - 11:42am
Nick Brown replied on Mon, 2010/10/18 - 12:45pm
in response to:
Jacek Furmankiewicz
Jonathan Fisher replied on Mon, 2010/10/18 - 2:16pm
Thanks, but NO!
Mike Milinkovich replied on Mon, 2010/10/18 - 3:11pm
Mitchell, Your headline seriously misrepresents what I said in my blog post. I absolutely did not demand "Standard OSGi in Java 8". That is totally bogus.
What I did say was that OSGi has been around a long time, is the incumbent technology, and ignoring it would be a disaster. There needs to be an accomodation. E.g. some sort of migration or interoperability path that actually allows whatever comes out of Jigsaw to play nicely with OSGi.
The fact is that OSGi is already used in the internal implementations of most JEE implementations out there, including Oracle's own Glassfish and Weblogic. What we are trying to avert is an unnecessary train wreck two years from now. Have you actually thought through what a mess it would be if a brand new modularity story in Java 8 forced a re-implementation or porting of (to name just a few) Glassfish, WebLogic, Websphere, JBoss, JOnAS and Netweaver?
If, in the end, OSGi or a subset thereof becomes the modularity story for Java 8 that would be just fine. But that is not what I said, nor is it what I meant.
Mitch Pronschinske replied on Mon, 2010/10/18 - 9:58pm
in response to:
Mike Milinkovich
Ryan De Laplante replied on Mon, 2010/10/18 - 10:08pm
I know Eclipse Foundation != IBM, but I wonder if part of the reason IBM is now a contributor in OpenJDK is to help with the module system.
Kamal Mettananda replied on Tue, 2010/10/19 - 12:56am
Mike Milinkovich replied on Tue, 2010/10/19 - 8:52am
in response to:
Mitch Pronschinske
Chris Kaminski replied on Wed, 2010/10/20 - 2:09pm
James Ervin replied on Wed, 2010/10/20 - 4:10pm
in response to:
Jacek Furmankiewicz
Alex Clement replied on Thu, 2010/10/28 - 2:33pm
Simple Dynamic Modules.
It works with maven artifacts as modules.