Sun Blesses Open-Source Java Effort

Project Harmony debuted last Friday, appearing as a formal proposal on an Apache email discussion list. The proposal lists 12 founding members, including both U.S.-based and overseas developers active within the Apache and Java communities, and several of whom are already active in existing open-source Java projects.

The Harmony group's proposal, posted to the email list and elsewhere by Apache member Geir Magnusson, cites a "clear need for an open-source version of Java 2, Standard Edition (J2SE)."

"There are . . . efforts that provide alternative approaches to execution of Java bytecode," the introduction states. "All of these efforts provide a diversity of solutions, which is healthy, but barriers exist which prevent these efforts from reaching a greater potential."

This Time, It's Soup To Nuts
According to the Harmony proposal, the group intends to create a complete set of class libraries, a Java Virtual Machine (VM) implementation, and a test suite for interoperability testing, all under the terms of Apache's open-source licensing model. Although a variety of open-source projects have attempted to duplicate various parts of the J2SE specification with varying success, the current Harmony proposal is the first attempt to create a complete open-source version of J2SE to receive widespread credibility and support as a project with legitimate prospects for success.

Sponsored post

The Harmony proposal and accompanying FAQ acknowledge several key challenges, including concern over possible intellectual property conflicts during the course of the project.

Among other precautions, the project will require members to disclose prior experience with proprietary code and to avoid aspects of the project where prior knowledge might "contaminate" an open-source recreation. The proposal will also pass all non-original contributions through Apache's standard provenance and licensing process, which itself is expected to cause fewer complications than a project based on the GPL licensing model.

The entire project will also have to wait for Sun's release of its next major J2SE update. The J2SE 6.0 implementation, dubbed Mustang, will be the first to include Sun's proposed licensing changes that remove possible legal barriers to reverse engineering.

Harmony members state in the project FAQ that they also expect to benefit from Apache's status as a non-profit member of the Java Community Process (JCP): A Sun-organized group that, among other things, manages the testing suite used to certify compatibility with the official Java specification. Although access to the TCK suite is typically carefully controlled and extremely expensive, Apache is entitled to use the TCK on much more reasonable terms, due to its JCP affiliation and tax-exempt status.

Under the current Apache Foundation rules, if the proposal is approved, Harmony will reside initially in the organization's Incubator project, created to manage Apache's rapidly growing stable of new open-source projects. At some point in the future, a project management committee will either promote Harmony to a full project, reclassify it as a sub-project, or retire it.

Sun Shines, But Others Take A Dim View
Graham Hamilton, Sun's chief technologist for Java Software, discussed the proposal in a blog entry posted the day after Harmony's public debut. Hamilton, who apparently was in contact with Harmony members well before the announcement, notes that Magnusson had agreed to deliver a talk--presmably at his or another Sun executive's request--on Harmony at Sun's JavaOne event, to be held in San Francisco in late June.

"Personally, I am not entirely sure if the world really needs a second J2SE implementation," Hamilton stated in his blog entry. Although Hamilton also cautioned that "creating a full scale implementation is a mammoth task," on the whole, his comments indicated that both he and Sun welcomed the effort.

"I wish Apache success and we'll certainly be tracking this as it develops," Hamilton said. "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."

Other highly-placed Sun employees, including chief technology evangelist Simon Phipps, also welcomed the announcement, confirming that Sun has decided to endorse and possibly to support the effort.

The discussion at, where Magnusson posted a copy of the proposal and replied to some comments, mostly reflected skepticism about various aspects of the project. Many of the comments echoed Hamilton's concern over the group's ability to complete such an ambitious project in a reasonable time, while others questioned whether Harmony was the best use for the group's collective time and talent.

"Aside from the possible academic gains of an open-source version of J2SE, what will the mainstream developer gain?" asked one writer, adding, "why must this talented group of folks run off and create their own flavor of J2SE instead of helping along Sun's [Java Virtual Machine}?"

Souza Keeps His Cool
Bruno Souza, a Brazilian consultant and Java advocate, took the comments in stride. "An open source [J2SE] implementation helps in research, discussions, and even in the evolution of the Compatibility Kit," Souza stated in his own blog.

Referring to a recent conversation with long-time Sun executive and Java inventor James Gosling, Souza recalled that Gosling "commented on how important a clean room implementation" would be to validate the JCP's own J2SE specification, referring to the process of reverse-engineering a proprietary technology in a legally defensible manner.

He also challenged the notion that Harmony would squander the work of existing, smaller Open-Source projects, such as the Free Software Foundation-backed Classpath and Kaffe efforts. "My hope is that all the existing efforts around J2SE . . . can discuss and prototype around Harmony on architecture and modularization," Souze stated. "And then Apache can propose modifications in the Java standards, bringing them back into the JCP."

Souza is a veteran of several open-source Java initiatives, founding the Brazilian Javali project and later co-founding the Roxo project, which sought to use Kaffe and Classpath as the basis for a J2SE package capable of passing the TGws.

"The fact that Harmony is committed to do it all the way, is important," he stated. "How imprtant would [J2EE be] if we had a single application server?"