Yes, its been dog's years since I've blogged...but I just couldn't be silent about this.
Today at JavaONE my pal Geir Magnusson is announcing that Harmony has full support for SWING/AWT. This is really big news if you're following Harmony from the sidelines (as Sun has been doing).
You see, Sun's compatibility rules for for the Java language have long included a "gotcha" in the form of a chunk of code for user interface, for which there are no compatibility tests (SWING/AWT). Original Java Licensees were told they just had to "use Sun's code" or they weren't 'compatible'. Apple's MacOSX integration of Java into their Aqua interface was a notable exception (about which Sun was none too pleased back in the day, but decided it was too small a market to really fuss over). IBM tested these waters as well with Eclipse, an IDE which initially didn't support SWING but later was forced to add SWING support because developers wanted it. But Eclipse wasn't an implementation of the Java language.
Earlier this week we all heard about Jonathan Schwartz and Rich Green hinting they were about ready to release Java under some OSI-approved license. Supposedly they just need to nail down "How to Deal with Compatibility". I read this news with some irony, since I know that they bloody well know exactly what to do already. Its been discussed every year since 1999 inside of Sun. Their covenant with Apache and the Geronimo has already successfully demonstrated that it can be done (compatible FOSS reimplementations of Sun-generated specifications). They are simply being disingenuous. What they really mean is "How can we placate the FOSS community without giving up control?" which is the age-old question for Sun.
For a long time Sun believed that Free Java efforts such as Kaffe/GNU Classpath were not a real threat because they were poorly organized to actually implement the entire set of class libraries (which admittedly is a huge task). But even if the class libraries were implemented in toto, there was always the fact that they couldn't possibly do SWING. Fans of Free Java inside of Sun have been arguing for years that Sun should free SWING to enable the Kaffe/GNU Classpath effort as a hedge against something more organized (and therefor more troubling) such as Harmony.
So...I'm wondering how long it will take the various Linux distros to figure out that they can ship Harmony (as they ship Apache) pre-installed and ready to use (even while they continue to put Sun's JRE in the "non-free" directory, where its still two clicks away from users).
Free Java marches on...