The Java Platform
By John Clingan on May 08, 2006
Yikes, my last blog entry on Open Source Java stirred some discussion. First, I would like to thank those of you, agree or disagree on the topic, for the comments. It's worth the discussion.
The more I think about this, the more I see two over-arching themes of Open Source Java. The themes are centered around Java as a Platform versus Java as "something else". There were a couple comments on the blog entry criticizing WORA. Fair enough, but I'm (obviously) on the other side of the fence. I see customers regularly develop on Windows and deploy on Solaris, including both JSE and JEE applications. I have no idea how many developers develop on Solaris and deploy on Solaris. It's a small (but growing) minority. I see this portability not only on Sun's JVM, but also on implementations from IBM, BEA and Apple, covering \*many\* hardware/OS combinations. Java's concept of WORA doesn't always get you all the way there. Hence JNI for native code, debuggers for potential behavioral differences, profilers for potential performance differences, etc. However, it no longer takes an army of developers to port a product.
To take that point even further, Sun had an over-documented tough time post-bubble. Want to know why? Because it was easy for customers to take their Java code elsewhere. Java's WORA lowered the barrier to exit from Sun's platform, thanks to WORA. Note that it also lowers the barrier to entry, which is a contributor to why we grew revenue double-digits last quarter. Java's WORA makes it relatively easy for them to come back.
Those that see Java as a platform want to keep it together. Yes, we have 3 primary target (highly-abstract) markets filled by JME, JSE and JEE. IMHO, pragmatism and opportunity for everyone in the industry, Sun included, drove the move to JME, JSE and JEE. Then there is also the fact that JSE and JEE won't fit on a cell phone. I think developers and businesses grok this. And, IMHO, we see the success of those decisions. JME is on some insanely huge number of devices today and JEE is, and continues to be, a huge success. JSE and JEE have been a foundation for open source innovations. JSE for desktop development is under-hyped IMHO. Plus, it's not easy to de-throne a monopoly. Most of my Java work is JSE, by the way. The code I write works on my SPARC box, Solaris X86 laptop, my wife's Windows laptop and our home MAC. I did have to tweak a few things to get it to work on the MAC, which is much better than what had to be done in the pre-Java days.
For those that want to pull out deprecated APIs or create a specific server version that does't have Swing & AWT, etc, I don't get it. The very thing that makes Java the huge success that it is - WORA - would be gone. Having 3 editions of the Java Platform seems to be an appropriate level of courseness that the market bears very well. In fact, the market not only bears 3 editions, it embraces them.