Want CNET to notify you of price drops and the latest stories?

Apache eyes open-source Java project

Project Harmony aims to create version of Java desktop software with an open-source license--something Sun has resisted in the past.

Martin LaMonica Former Staff writer, CNET News
Martin LaMonica is a senior writer covering green tech and cutting-edge technologies. He joined CNET in 2002 to cover enterprise IT and Web development and was previously executive editor of IT publication InfoWorld.
Martin LaMonica
4 min read
The Apache Foundation has proposed creating an open-source version of Java on the desktop, a plan that Sun Microsystems has initially welcomed.

Project Harmony, which was formally proposed Friday, aims to write from scratch the software, called Java 2 Standard Edition (J2SE), that is needed to run Java programs on desktop PCs.

The project was proposed by members of Apache--the foundation behind several popular open-source products--and other individuals involved in Java development. The submitters plan to create a Java virtual machine, related "libraries" and testing software--all of which would be available under the Apache open-source license.

If accepted, the project would create something that open-source developers and others have demanded for years but that Sun has resisted.

Sun is the primary author of J2SE and provides testing tools and a reference implementation to ensure compatibility among different Java software licensees. The company has not made its own J2SE software available with an open-source license because of legal considerations and customers' concerns with Java compatibility.

In the Project Harmony proposal and FAQ, the group of submitters said there is "broad community interest" in creating an open-source version of J2SE. It said that Project Harmony does not intend to compete with Sun directly and that it will use a code-submission process designed to avoid legal problems.

The group is taking on the project now because Sun changed the rules in the Java standardization effort, called the Java Community Process, to better accommodate open-source software.

Graham Hamilton, a Sun vice president and fellow, said that Sun welcomes the project, although he questioned the need for it.

"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," Hamilton said in his blog.

Hamilton added that Sun will likely participate in the project in some way.

Although open-source Java advocates will likely welcome Project Harmony, the results of any project could take three years to five years to appear, said Anne Thomas Manes, an analyst at the Burton Group. She said there should not be

compatibility problems because Apache will have to follow Sun's testing guidelines for J2SE.

"I think it's wonderful Apache wants to do (this), but it will be a long time before there's a seriously competitive implementation with commercial vendors," she said. "It will take a long time to do clean-room implementation of J2SE because it's a very big piece of code."

Mixed reaction
Last year, there were loud calls to make Java open source, notably from IBM, which said such a move would simplify the bundling of Java software with Linux.

The initial reaction to Project Harmony from some Java programmers, however, was less than enthusiastic.

Java developers on Monday urged the people behind Project Harmony to concentrate their efforts on other work at Apache. Many noted that the task of creating a J2SE "runtime" from scratch is difficult and that commercial versions are already available. The runtime is software needed to run the Java programs.

"From my experience and after having seen several shows of hands on this question at many conferences, I am confident claiming that hardly anybody cares about an open-source Java," Cedric Beust, a highly regarded Java engineer who left BEA Systems last year to join Google, wrote in a posting on TheServerSide.

"And in the (unlikely) case where you would actually reach a 100 percent compatible version of J2SE, why would anyone use your version of it instead of Sun's?" he asked.

In addition to Sun, BEA and IBM have their own versions of J2SE. However, none of the versions is available with an open-source license, as defined by the Open Source Initiative, which provides guidelines on licenses.

Sun, however, has changed the development process of J2SE significantly by regularly publishing the code that is going into the next version of J2SE, which is due out next year.

There are other types of Java runtimes. Besides the J2SE desktop software, there is a server version called Java 2 Enterprise Edition (J2EE), as well as another for handheld devices, called Java 2 Micro Edition (J2ME).

There already are J2EE servers available with an open-source license, including the JBoss application server and one called Jonas from a France-based consortium called ObjectWeb. The Apache Foundation also has its own project, called Geronimo, which is close to gaining J2EE certification.

Geir Magnusson Jr., a member of Apache and one of the submitters of Project Harmony, said making J2SE available with an open-source license will help encourage new development of Java software.

"I think J2SE should be a common 'dial tone' on every platform," Magnusson wrote in response to critics.

"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," Magnussson said. He reiterated that the effort would seek to create compatible versions of the J2SE runtime.