Project Harmony, which was formally proposed Friday, aims to write from scratch the software, called Java 2 Standard Edition ( ), 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 havefor years but that .
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