Should Java be available under an open source format? The debate is raging this week at the 2004 JavaOne conference in San Francisco.
One day after BEA Systems endorsed an open source stance for Java 2 Standard Edition (J2SE), a panel session at the show offered mixed views from varying interests. Endorsing an open source paradigm for Java were panelists including IBM. Vice-president Rod Smith, author of a February open letter urging an open source path for Java; and Brian Behlendorf, who serves on the board of directors of the open source Apache Software Foundation.
Among those opposing the move were James Gosling, who holds several titles at Sun Microsystems including chief technology officer of the company’s Java development platform and tools group; Sun’s Rob Gingell, vice-president and fellow at the company; and James Governor, principal analyst and founder of Redmonk.
Currently, Sun requires that projects officially based on Java be certified as compatible with the Java specification. Amendments to Java must go through Java Community Process (JCP) procedures. Open source advocates seek a more freeform path for Java.
Proponents stressed the possibilities that could emerge for Java technology through open sourcing. Behlendorf pleaded for open source implementations of Java specifications, with the caveat that they cannot claim compliance with the Java specification until passing Java Technology Compatibility Kit (TCK) tests.
"Open source processes tend to be some of the best ways to spread ubiquity," Behlendorf said.
"Creating derivative works that don’t at times implement the complete specification is a natural part of any open source process," he added.
But Gingell questioned what exactly would be gained through open sourcing of Java.
"Really, what I ask people is, if open source is the answer, please tell me the problem," Gingell said.
He vowed that compatibility must be maintained in Java, something that Sun argues it is able to ascertain by being the steward over Java, which Sun invented. Java programs "will not be lied to by things claiming to be Java," Gingell said.
Governor that maybe Sun’s shepherding of Java is not a bad idea. "It seems to me that Sun’s stewardship of the JCP may be the worst governance model but it’s the best one we’ve tried," Governor said, borrowing from a comment he said Winston Churchill had made about democracy.
A lot of innovation is happening in the Java and open source worlds, Smith said. "I think going forward, we want to see innovation happen at a more rapid pace," he said, advocating more of an open source path for Java.
Smith said having an open source sharing of Java 2 Standard Edition (J2SE) would lower the cost of integration and help technologies get to market faster.
Gosling countered that Java information bases already are published in the public domain. "[Sharing] happens already. All the bug databases are published," for example, he said.
"You can find every last wart that everybody has ever found," pertaining to Java, he said.
"You can download the full sources of J2SE," he said.
"When you download the SDK, you get all the sources for all the APIs, and really the source is all out there," Gosling said.
Gosling warned that allowing multiple, open source implementations of Java technologies could yield the incompatibilities that happened with Unix and is happening again with Linux distributions. "They are really close and they are almost interoperable but they are just different enough to be a pain in the butt," said Gosling.
But Behlendorf argued that Java technologies already behave differently on different platforms. Java Message Service, for example, is slower on some platforms and that has to be accommodated, he said.
Many developers at JavaOne this week viewed the idea of releasing parts of Java, including J2SE, under an open source license favorably, saying it could speed up the development of parts of the platform like the JavaSpaces distributed application platform or the J2ME multimedia layer.
But most of the focus on open sourcing Java lies in the J2SE platform that is used in desktops and servers. Because of licensing changes to the JCP, the upcoming J2SE Version 5, code named Tiger, will be the first version that could theoretically be released under an open source license.
Whether Sun itself releases an open source implementation of J2SE, however, is not particularly important, because the release of Tiger will open the door for open source implementations of the platform, in much the same way that the release of J2EE 1.4 let projects like JBoss become certified, said Bruno Ferreira de Souza, a consultant with Summa Technologies.
De Souza believes that Sun could be more effective in lending technical support to existing open source projects, like Kaffe, than by starting its own open source J2SE project.
Paul Krill writes for IDG News Service