R.I.P. Harmony
This week IBM announced that it will be joining Oracle in the OpenJDK and subsequently abandoing the Apache Harmony project. While some are excited about the contributions that IBM will bring to the OpenJDK class libraries (IBM probably won't contribute to the JVM because they have their own competing technology), other Java community leaders like Stephen Colebourne, who has been following the Harmony controversy for many years, are disappointed that things had to happen this way. It seems unlikely that another company would step in and keep Harmony alive since Oracle's lawsuit against Google's Harmony-based Dalvik VM essentially destroys any chance that Oracle will release a TCK for Harmony. The project is likely dead in the water (i.e. headed to the "attic").
"In my opinion, Sun Microsystems behaved atrociously towards Apache Harmony," Colebourne blogged. In the JSR 270 specification it clearly stated: "Nothing in the licensing terms will prevent open source projects from creating and distributing their own compatible open source implementations of Java SE 6, using standard open source licenses." Colebourne blames Sun's "executive level" for breaking this promise and the associated legal agreements with the expectation that the Apache Software Foundation (a non-profit) would not sue.
Today, the legal agreements that entitle Apache to the TCK are no longer valid. With the seemingly immanent death of Apache Harmony, Colebourne believes there's a chance that Apache could leave the JCP and this action, he says, "could terminate projects like Apache Tomcat, Geronimo, MyFaces, OpenEJB and OpenJPA in their current form." However, each of those projects also provide good reasons for Apache to stay in the JCP.
The JCP Meeting that Preceded IBM's Announcement - What Was Decided?
IBM made the logical decision when it realized that Harmony would never be recognized as Java and decided to move it's developers to OpenJDK. A JCP meeting was held last week where IBM first announced its decision to join OpenJDK. Oracle's Senior Director of Project Management Henrik Stahl blogged about a few details from the meeting, but he left the Java community guessing when he said, "This organization [the JCP] has been hugely successful in pulling together a wide range of organizations and individuals, but it is 15 years old and there is always room for improvement. There were some really good discussions on this within the JCP last week, but you'll have to wait a little bit longer for a more detailed update on that topic :-)" Hopefully the much-needed reform for the JCP is finally on the way.
"In my opinion, Sun Microsystems behaved atrociously towards Apache Harmony," Colebourne blogged. In the JSR 270 specification it clearly stated: "Nothing in the licensing terms will prevent open source projects from creating and distributing their own compatible open source implementations of Java SE 6, using standard open source licenses." Colebourne blames Sun's "executive level" for breaking this promise and the associated legal agreements with the expectation that the Apache Software Foundation (a non-profit) would not sue.
Today, the legal agreements that entitle Apache to the TCK are no longer valid. With the seemingly immanent death of Apache Harmony, Colebourne believes there's a chance that Apache could leave the JCP and this action, he says, "could terminate projects like Apache Tomcat, Geronimo, MyFaces, OpenEJB and OpenJPA in their current form." However, each of those projects also provide good reasons for Apache to stay in the JCP. The JCP Meeting that Preceded IBM's Announcement - What Was Decided?
IBM made the logical decision when it realized that Harmony would never be recognized as Java and decided to move it's developers to OpenJDK. A JCP meeting was held last week where IBM first announced its decision to join OpenJDK. Oracle's Senior Director of Project Management Henrik Stahl blogged about a few details from the meeting, but he left the Java community guessing when he said, "This organization [the JCP] has been hugely successful in pulling together a wide range of organizations and individuals, but it is 15 years old and there is always room for improvement. There were some really good discussions on this within the JCP last week, but you'll have to wait a little bit longer for a more detailed update on that topic :-)" Hopefully the much-needed reform for the JCP is finally on the way.






Comments
Otengi Miloskov replied on Tue, 2010/10/12 - 11:13am
Otengi Miloskov replied on Tue, 2010/10/12 - 11:16am
Jonathan Fisher replied on Tue, 2010/10/12 - 11:24am
Jacek Furmankiewicz replied on Tue, 2010/10/12 - 11:36am
Martin Spasovski replied on Tue, 2010/10/12 - 1:38pm
Jilles Van Gurp replied on Tue, 2010/10/12 - 2:27pm
Harmony is neither dead nor dying. What happened yesterday was an uncommitted party (IBM) leaving the Harmony ecosystem. This means that the lead defaults now to Google, who was the main stakeholder anyway for some years now.
That is good. Google has single handedly turned around the disaster that was J2ME. Assuming they'll eventually sort out the patent mess (and given the stakes, they will) that removes from the equation all the partners that had very little to bring to the table when it comes to mobile Java. Meanwhile, Oracle and IBM need to demonstrate through actual technical innovation that they are still relevant in the Java world. Last time I checked, the enterprise Java world was dominated by things like Spring (under the Apache license) rather than any JCP efforts. Oracle bought an empty shell. Filing patent related lawsuits left and right is probably not going to be very helpful since that tends to scare away customers. So, I'm hoping that this will end pretty quickly. Once it does, all parties can get back to moving the agenda forward on the run-time, language, and APIs. There is a lot of stuff that needs to start happening there and if Oracle won't do it, others will do it for them. In a nutshell, that's why Google is shipping Harmony rather than CDC. I'm pretty sure Google would have preferred to stay in the Sun community a few years ago if only Sun was not being so unreasonable.
Manuel Jordan replied on Tue, 2010/10/12 - 9:04pm
"could terminate projects like Apache Tomcat, Geronimo, MyFaces, OpenEJB and OpenJPA in their current form."
Very worry about thatJacek Furmankiewicz replied on Tue, 2010/10/12 - 9:43pm
in response to:
Manuel Jordan
Guido Amabili replied on Wed, 2010/10/13 - 4:05am
in response to:
Jacek Furmankiewicz
How is the Google Application Engine platform different from the Dalvik VM ?
It does also not implement the full Java SE specification, so is Google allowed to run such a modified Java Runtime ?
Anyway, since I switched my project from JavaFX to GWT, I think I will soon leave NetBeans and Glassfish.
Not really impressed with Oracle's lead so far......... Shutting down OpenSolaris, Raising the price of MySQL, OpenOffice forked..... looks like they are closing everything just to milk the cow even if it dies....
Igor Laera replied on Wed, 2010/10/13 - 6:01am
For me, the question is: what to we, as coder, expect from Java? I don't think I will ever use a self patched SDK/openSDK in any production; I even doubt I would ever work in a project which would like todo that.
Oracle might be the bad boy here, but -man!- they know techology. I strongly believe, that the SDK will be less stagnant in performance/features and lots of those 10 year old problems in Bugzilla will finally be tackled.
Sun let the "open" part of Java start smelling and people started to invest significant time in non-Java languages like Scala and new ways of dealing with partitioning of services aka OSGi containers. Since JVM 1.5 they were not really able to focus this community power to anything bigger then some lame syntactic sugar and a DOA flash clone.
Harmony is a nice place to play around with an open JVM, but I think this job moves more over to the more general LLVM. And I don't think that I want to bet my (professional) future on the fact that Google has to step always in when the rest of the industry has just a bad haircut day.
IBMs move is logical. Whatever Harmony is or was, the impact was already limited. You simply can't build such infrastructure without more people building it. One company alone wouldn't push Apache or Tomcat, and any serious openJDK shouldn't do either.
Jacek Furmankiewicz replied on Wed, 2010/10/13 - 8:29am
in response to:
Guido Amabili
Dario Laverde replied on Wed, 2010/10/13 - 2:27pm
Peter Blakeley replied on Wed, 2010/10/13 - 5:37pm
Oracle keeps using the word "open" in all blogs and in any mention of java, I find no evidence of open in their dealings as all important decision's are made behind closed doors and the proclaimed by the "Oracle"
Google with GWT and Andriod provide real value for java developers like me (15 years) and Oracle seems hell bent on destroying Andriod (although unlikely). Java's mobile efforts are painful and unprofitable to small developers.
Oracle's behaviour with openSolaris, mySQL leaves me with little confidence in the process.
pb...James Selvakumar replied on Thu, 2010/10/14 - 2:11am
At one point of time I use to bet by "Sun standards" aka stuff like JSF, EJB etc. Fortunately, I'm moving away from these so called "standards" and started using stuff like Spring, Wicket etc. The only thing that I'm still hanging to is the NetBeans IDE (apart from Java itself..!) which somehow is not letting me to move towards Eclipse.
From the comments above, we can sense one thing though! That developers are losing confidence in Oracle and it's bandwagon. (Well, did they have confidence at first place? :-) )
Otengi Miloskov replied on Thu, 2010/10/14 - 10:34am
in response to:
James Selvakumar
Liezel Jane Jandayan replied on Thu, 2011/08/25 - 7:12am