The Java Community Looks at Harmony

Since the Apache Project announced their Harmony project to build an Open Source implementation of J2SE, there have been piles of posting, blogs, emails and interviews - both pro and con. Integration Developer News takes a look at the sounds and fury from Java community members, including Sun execs James Gosling and Graham Hamilton, on Harmony.

Tags: J2SE, Harmony, Java, Sun, Apache, Developer, Compatibility,

Since the Apache Project announced their Harmony project to build an Open Source implementation of J2SE, there have been piles of posting, blogs, emails and interviews - both pro and con. Integration Developer News takes a look at the sounds and fury from both the Open Source and Java communities to help answer the question: Is Harmony creating dis-harmony?

IDN spoke with James Gosling last week on the topic, and his view seemed to be that Sun will not obstruct, but that it's not clear just how much help (money, man-hours) Sun can offer. Here is the OET/Gosling exchange on the Harmony topic:

Our take is that there is no real discord in the ar (for now) between Apache Harmony supporters and Sun. While Sun might not be lining up to devote money or manpower to the Harmony project, there doesn't seem to be any call for all-out war. The last we checked, in fact, Harmony committers were still being invited to speak at JavaOne. But, let's let James Gosling talk.

An Integration Developer News interview
with James Gosling, CTO Developer Tools (creator of Java)
Sun Microsystems Inc.

IDN: What are your view on the Harmony project?

Gosling: More power to em. We set up the process so they can do that.

IDN So, are you saying that some independent J2SE project was an end result of some changes in the rules of the JCP and changes in licensing?

Gosling Well, yeah. They way I see it is we [Sun] made a lot of this stuff possible, quite explicitly in fact. So, it's going to be interesting to see how they proceed.

IDN: What do you mean?

Gosling: Well, it is a tremendous pile of work to create a JDK that actually passes all the tests and is reliable and all the rest of it.

OET: Some people I've spoken to have said that it would seem Geir Magnusson, the leader of the Harmony project, would have plenty on his plate as he is also a lead on the Geronimo J2EE project? Would you agree?

Gosling: It is a little hard to fathom. We've got several thousand man-years into [J2]SE. I guess if I were his place, redoing that several thousand man-years worth of effort would not have been on the top of my priority list, but he looks at life differently.

Harmony: Other Voices
Nowhere in our interview did Gosling express concern that Harmony would fragment J2SE, or that Harmony would be an unwelcome "back door" project to Open Source Java.

Initially Sun's chief technologist for Java Software, Graham Hamilton wrote of Harmony is his blog as the "obvious next step" for Apache. But he, like Gosling, did not expressly commit Sun to providing resources.

"Sun is a big supporter of Apache (this includes making donations of hardware and storage) and we're always very glad to see them participate in Java development. In many ways launching a J2SE project is the obvious next step in Apache's work around Java. Personally, I am very curious about how the Harmony project will work out - creating a full scale implementation of J2SE is a mammoth task, as the Sun J2SE team knows only too well. However I wish Apache success and we'll certainly be tracking this as it develops. We'll probably participate in the project at some level, although most of our efforts will continue to be focused on building Sun's reference implementation of J2SE."
Hamilton goes on to provide interesting insights on the legal and political genesis of Harmony, from Sun's point of view:

Apache have always been a strong supporter of the Java compatibility program and I'm glad to see that they are emphasizing that commitment to compatibility as part of the Harmony project. Compatibility is one of the bedrock values of the Java community. As a community we're making a collective investment in creating and using a set of common standards on the basis that all the implementations will actually conform to the same specifications and pass the same detailed compatibility tests. This is what allows developers to create portable applications which can run in a variety of Java environments.

The licensing rules for J2SE 5.0 were carefully designed to allow independent, compatible open-source implementations of the J2SE specification. Personally, I am not entirely sure if the world really needs a second J2SE implementation, but at the same time I am also glad to see that all the effort we put into getting the rules and the licensing issues straightened out is actually proving useful!
As for Harmony's creator Geir Magnusson, his view is quite simply:

There is a clear need for an open-source version of the J2SE runtime platform, and there are many ongoing efforts to produce solutions (Kaffe, Classpath, etc). There are also efforts that provide alternative approaches to execution of Java bytecode (GCJ and IKVM). All of these efforts provide a diversity of solutions, which is healthy, but barriers exist which prevent these
efforts from reaching a greater potential.
And, Magnusson amplified his sentiments on the idea of an "Open Source" Java option in a posting to, a leading J2EE Java community site. In that posting, he said in part….

I think J2SE should be a common "dial tone" on every platform (just like I think that basic J2EE should as well... see a pattern?). Developers should be able to count on a set of services available to them. Those creating the platforms should be able to focus on what makes them different, not what makes them the same, and share in the maintenance of that "commons" if they wish. Then they can make sure that developer's programs run as fast as possible, or as safe as possible, or as griddable as possible, or whatever the value-add is.
OET asked execs from Sun's NetBeans project if Geir of his Harmony team had been in touch to ask for help.

"I know they have just announced this, so if you haven't contacted us yet. We haven't been in the talks. But the [Java] Café guys have come to us and were able to get the NetBeans to deploy to the Kaffe VM," said Tim Cramer, engineering director for NetBeans told OET. "They haven't implemented the entire JRE, they have a portion of it. But, they came in and asked a couple of questions and made it so that NetBeans could deploy to Kaffe,"