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