Developers are approaching the Apache Software Foundations plan to deliver an open-source version of the Java 2 Standard Edition runtime platform with both interest and vigilance.
The Apache Harmony project, launched last week, sets out to create an open-source version of J2SE under the Apache license.
As the “motivation” for the project states: “…there are many ongoing efforts to produce solutions,” such as the Kaffe and Classpath open-source projects, among others. “All of these efforts provide a diversity of solutions, which is healthy, but barriers exist which prevent these efforts from reaching a greater potential.”
Miguel de Icaza, founder of the open-source Mono project to create a platform for running .Net applications, co-founder and former chief technology officer at Ximian Inc. and now vice president of developer platforms at Novell Inc., last weekend discussed the Apache effort in his Weblog.
“I can only speculate that this was done to avoid the side effects of class libraries licensed under the GPL-with-exceptions [General Public License] or the LGPL [Limited General Public License] which make people nervous,” de Icaza said.
“Depending on how this process is managed, this could either become a big delay in bringing a full free software/open-source Java implementation (as people take sides on the licensing debate) or if managed properly could make open-source Java more viable,” he said.
De Icaza said he thinks the Harmony project will take a long time to bear fruit. Others agreed. “More power to Apache, and I hope they manage to attract a huge community, but I suspect it will be a long time before Harmony will be competitive with Sun J2SE, BEA JRocket or IBMs J2SE,” said Anne Thomas Manes, an analyst with Burton Group Inc.
“Because of previous licensing agreements, neither BEA nor IBM can open-source their implementations. I still say that Sun needs to open-source their J2SE implementation,” Manes said.
In his blog, Graham Hamilton, a vice president and fellow on the Java Platform team at Sun, said: “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.”
A developer close to Apache, who asked not to be identified, said, “People in the open-source world have been talking about doing this for a while. Theres been GPLd stuff in the works, but I think doing this in Apache and with the relationship Apache has built with the JCP [Java Community Process] will make this significant when it gets done. Of course, thats going to take a while—but there are a lot of folks signing up to help.”
Moreover, IBMs acquisition of Gluecode Software Inc. Tuesday could have impact on how soon the Harmony project ramps up to produce deliverables, as IBM could put its might and resources behind the project. However, a source close to the situation said IBM would take a wait-and-see approach to Harmony.
Meanwhile, Manes expressed a watchful skepticism. “I dont see Apache being able to deliver a working, highly performing, secure, full-scale clean room implementation of J2SE any time soon,” she said. “And anyone that has even looked at Suns source shouldnt work on the project, because theyll contaminate it.”
Bob Bickel, vice president of strategy and corporate development at JBoss Inc., said, “For Apache to do a black box version of J2SE is a tough technical challenge and theyll always be working from behind. But I think Sun will eventually feel the heat and do the right thing.”
The source close to Apache added, “It puts Sun in an interesting position, but I dont think theyll take either extreme position—fight it or suddenly decide to open-source their stuff. Companies like BEA and IBM are likely to be considering whether they should worry about this or contribute their code bases for the marketing, etc., but there are some legal restrictions those companies have with Sun to prevent from donating too much, and any one major contribution would be discussed among the Apache community as to whether accepting it would be a net positive or negative.”
In his blog, de Icaza focused on the challenges Harmony faces.
“The challenge that the Harmony project faces now is significant,” de Icaza said in his posting. “They need to convince enough of the existing open-source Java developers that they should abandon the current GNU Classpath effort and either relicense their code to be Apache-license compatible, or … rewrite their code to assist this new effort on the grounds that the Apache License is better.”
Hamilton, in his blog, said: “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!”
Moreover, in his blog, de Icaza said that if the Apache Harmony group is “not able to bring these existing contributors over they are going to have to grow this code base from scratch and depend on member companies to contribute code to the effort.” He added, “It is hard to tell what will happen, but without the endorsement of the majority of the GNU Classpath developers this is a major setback for open-source/free software Java.”