Harmony, JavaONE 2007 and other thoughts

Dalibor Topic robilad at kaffe.org
Thu Jun 1 18:03:25 UTC 2006

On Thu, Jun 01, 2006 at 12:04:38PM +0000, theUser BL wrote:
> At first I want to say, that I think, it would be nice, if some GNU 
> Classpath-developer would already make an appointment for JavaONE 2007 to 
> to hold a lecture about GNU Classpath.
> So, do it early as possible.

It doesn't work that way. It's Sun's conference, and they chose who to
invite to speak there. Despite several submissions in the past years,
Sun chose not to have someone from GNU Classpath using runtimes speak
about it. 

> And it seems, that there is no problem, if projects of alternative 
> Java-implementations hold a presentation.
> Geir wrotes at
> http://lwn.net/Articles/184394/
> >Today during our JavaOne talk (given by Tim and I) I was proud to 
> >demonstrate JEdit running on Harmony!
> So, why would such a talk not possible with GNU Classpath? GNU Classpath is 
> much more advanced then Apache Harmony. So it would be more interesting.

Because the ASF is something Sun feels they can control through the JCP.
The FSF is not in the JCP, and Sun is hardly interested in giving people
working efficiently outside the JCP a platform. It's bad enough that the
GNU Classpath runtimes have made it necessary for Sun to adapt
their licensing policy for their proprietary runtime, and pushed them
over the edge of commiting to opening their implementation to stem the
tide, that Sun's hardly interested in promoting those alternatives to
Sun's customers at Sun's conference. :)

> But, register eerly as possible your talk. So that the probability of the 
> permission to hold this talk on JavaONE 2007 would be higher.

That has little to do with getting a talk accepted.

> You can also try to don't mention the word "GNU Classpath".

That would be pointless in a talk about GNU Classpath. :)

> For example, you can say, that your talk will be about Java on exotic 
> hardware and exotic operating systems.

GNU Classpath is not Java(TM), so that would be misleading.

> But for the exotic platforms don't existing Suns Java. But a GNU Classpath 
> based JVM. And so you have a lead over to change from the subject with the 
> exotic platforms to the subject with GNU Classpath.

I doubt that Sun cares about Java on exotic platforms at all, or the
JavaOne audience, at large. Where would the money in that be? :)

> And now I want to say, what I think about Apache Harmony.
> Since it is clear that Apache Harmony don't use GNU Classpath and creating 
> its own class library, there existing a problem for GNU Classpath.
> Which will be the right way?

Existence of more free software is not a problem.

> If GNU Classpath don't adopt some classes of Harmony (when GNU Classpath is 
> under GPLv3+special linking exceptions ore before GPLv3), then the slogan 
> "All for one, one for all" is no longer actual.

That is unlikely before GPLv3 arrives, or the ASF updates the Apache
Software License v 2.0.

> If GNU Classpath adopt some classes of Harmony, Apache can say "Harmony 
> exists without GNU Classpath classes. But GNU Classpath don't run or is 
> incomplete without the adopted Harmony-classes".

I doubt that bragging rights are very important to anyone hacking on
either project. :) In the free world, a lot of software relies on each
other to build & run, and often that software comes from different
sources. That's more of a strength of the free software concept, in my
opinion, as it encourages reuse. Some people prefer NIH, though, so to
each his own.

> Thats something which Apache already can say about Suns Java: "Suns Java 
> without Apache-Code is an incomplete Java, but Harmony don't have Sun code 
> in it".
> And so it feels, that Harmony is the one and only.

The and only is w3c, since their DOM classes are in all implementations :)

The ASF is free to use GNU Classpath in Harmony when they feel
like it, and so is Sun. Maybe they will, maybe they won't. It's hard to
predict the future.

> If GNU Classpath put also it classes under the ASL2, then Harmony only 
> profits of it.
> If GNU Classpath don't doing it, Harmony and GNU Classpath are in 
> (friendly) competition to each other.

That's nothing to worry about, afaict.

> But that brings GNU Classpath to a new problem:
> At the moment GNU Classpath works on Linux and MacOSX fine.
> But Swing don't run on MS-Windows. Amd there existing no GNU Classpath 
> based JVM, which tries to be a Sun certified Java version like Harmony 
> tries it to be.

Given that Vista will bundle .NET 2.0, I'd assume that in the long run Java on 
MS Windows for GUI applications will go the way of Netscape, Real, etc.
no matter what the license of an implementation is.

As for certification, that only plays a role for PR and marketing
purposes. If you are selling a GNU Classpath based runtime, that may make
sense. Otherwise, it's just a cute coffee cup logo to impress people
which may or may not be worth the effort and price. 

Note that one can't certify GNU Classpath per se, you'd have to 
certify a specific runtime & GNU Classpath release. I may one day get
around to get the legal landmines from Sun's humorous lawyers pulled from
their TCK scholarship license, but I would not bet on it, as I doubt Sun
cares about having compatible implementations they can't control. See
the forcing of JBoss into submission i.e. a J2EE licensee and fans of 
the JCP. :)

Passing the TCK is just the lowest bar for compatibility with the specs. 
The compatiblity that matters on the ground is the ability to run 
the free software people have written and continue to write without
problems, and that treshold is much higher than the TCK.

> And then the future of Harmony is not sure.
> At the moment only IBM and Intel spends big chunks of code.
> But with this chunks the development the growth of Harmony seems be a 
> steeper rise then the rise of GNU Classpath.

Having IBM and Intel pool their resources together certainly does not hurt.
It's amazing what multi-billion dollar corporations can do, when they
want it. :)

> And then it could be possible that in some years Harmony is more advanced 
> then GNU Classpath.
> Imagine: Harmony is only one year old and GNU Classpath already seven years 
> or so.
> Something like this is already known with Kaffe.
> It begins before GNU Classpath exists. And all the classes are GPL-only 
> licensed. Non of these classes are integrated in GNU Classpath. But GNU 
> Classpath grows faster. And so Kaffe adopt the GNU Classpath classes and 
> helps to improve it, instead of its own classes which a little bit longer 
> exists.

Sure. One of the best decisions Kaffe project made, I think.

> Now Harmony is the new kid. But it seems that it grows harder then GNU 
> Classpath...
> At the moment GNU Classpath are the more advanced Java-classes.
> But lets look, which will be at first nearly 100% compatible to Suns Java.

There is no absolute measurement of compatiblity, so it's hard to tell.

I'd guess it will only be Sun themselves, assuming they'll go open with Java
1.6 or 1.7. Going with 1.6 would allow Sun to capture a lot of momentum,
going with 1.7 would mean two more years of letting GNU Classpath &
Harmony grow further. It'll be fun to watch, anyway, the Java melodrama
is still entertaining.

There is room for everyone, Sun, FSF, ASF in the Java space. The
assumption that GNU Classpath loses because Harmony gains contributions,
or vice versa, is flawed, imho.

If Sun plays their cards well, they could end up with a strong position 
making alternative efforts less attractive to JCP members. It's always
hard to predict what Sun will do, though. :)

dalibor topic

> Greatings
> theuserbl

More information about the Classpath mailing list