That could change soon, though, as the Linux Foundation has announced the Linux Standard Base 4.0, due in "late" 2008", will work with Java SE 6.0. The LSB should at least ensure certified Linux distros and the applications on them work consistently with Java SE 6.0.
LSB 4.0 due to be supported by Asianux 3.0, Mandriva Corporate 5.0, RHEL 5.0, SLES Enterprise 10 and Ubuntu LTS 8.04, according to the Linux Foundation.
Underlying this, though, are two important facts. LSB 4.0 won't - as ever - be supported by all distros so consistent development and administration will remain a challenge.
Also, it's unlikely Java is ever going to be the "de facto" language of choice for Linux developers: they'll stick to their FOSS favorites. Take Glassfish: Sun's failed to prove where Glassfish is being used to change the market or challenge paid-for rivals. Indeed, there's already an established enterprise-edition tuned to a new, light-weight world that's doing very well nicely: it's called Spring.
Next, there's the test compatibility kit (TCK) issue. The TCK provides the compatibility yardstick to measure the Java Virtual Machine (JVM's) purity. Sun seems adamant that the TCK will never be opened: if it were, then it could be forked, then there would be much fear and chaos in this darkened world.
But then, isn't the freedom to choose to fork the whole point of open source? Detractors point out that while the move to put Java out there under the GPL appears to be more than mere lip service, beneath it all Sun hasn't really opened up anything. Sun still holds tight control over its intellectual property.
Then again, one wonders how much Sun would really be obligated to give away, to appease Stallman and the Slashdotters.
What I'm left with is a sense that opening up Java with GPLv2 was the right thing to do and was a shrewd move by Sun: but, while it may have silenced a few open-source zealots, two years later in purely practical terms it hasn't really achieved very much.
The one notable exception was that OpenJDK helped bring Java 6 SE to OS X and looks set to put it in the LSB.
Aside from that it's not clear whether we are really any further forward. You can now download a Java Runtime Environment (JRE) for your mum's favorite brand of Linux, but then you already could. You can now ship the JRE with your own product, but then Sun's licensing allowed that already.
Elsewhere, native Linux developers are as unlikely as ever to use Java to create new applications and if anyone sees fit to fork Java they'll have a hard job without an OpenTCK. As far as corporate programmers go, they may have read about OpenJDK in their lunch breaks but that's probably about as far as it goes for them. Not exactly deep impact.
Java is already king in the land where it matters - on the serverside - and Sun is still doing silly walks when it comes to client-side Java.
It seems that Sun being prepared to talk the talk about OpenJDK had a far greater effect than walking the walk. But for all of that, opening up Java was the right move, and I'm excited to see what inroads the OpenJDK will have made in another two years from now.®
Matt Stephens is co-author of Use Case Driven Object Modeling with UML: Theory and Practice, which illustrates how to get from use cases to source code and tests, using Spring Framework, JUnit and Enterprise Architect.
Additional reporting by Gavin Clarke
Is that still going?
Java and stuff.
My main dev platform lies with Linux; and with a previous job, many flavors of UNIX (Solaris, AIX, HP-UX). My preferred platform for that would be C/C++, but for most web stuff or client/server stuff, Java is the most convenient solution. Plus, the Java EE spec with EJB's is pretty easy to use (at least the J2EE one, I haven't mucked around with the Java EE5 specs.
As for Spring, well it required doing ugly hacks on our already working Weblogic appserver, so I really don't really care for it; it is after all doing the same stuff the J2EE/Java EE framework is already doing anyway!
@andrew -- interesting information
Thank you for that information.
If you're right, and you probably are (you sound like you know what you're talking about), then I think it deserves another look. I'll give it a try.