When Will Sun Open Source Java?
When will Sun open source Java? I think there are some clues from Sun's history about how they open things up that can teach us when it will happen.
Plenty of people have debated if open sourcing Java is a good idea. This isn't about that question; even if you think it would be a really bad idea, it seems inevitable that eventually Java will follow Solaris, OpenOffice, Glassfish and the many other tools that Sun has fully opened up.
The people that argue that it will never happen would probably have said the same about Solaris a few years ago. But Linux forced Solaris to open up or wither away.
Harmony could well be to Java what Linux was to Solaris: the force that may one day force Sun to fully open the source. For most of it's history it's has been a bit of an object of derision, but I think this may be about to change.
It became obvious recently that IBM and Intel and BEA are all putting big bucks into Harmony, and I for one don't believe that they are just blindly chucking code over the wall. There is a plan, and the plan ends up with a full stack open source Java SE; VM, class libraries and all.
So here is how I think the plan of IBM, Intel and BEA goes. The question for Sun is – at which step in this plan does Sun open source Java in an attempt to retain the developer mindshare?
Sun could do it at the next available opportunity i.e. next JavaOne; in order to stop Harmony ever properly taking off. Is this when Sun open sources Java?
Harmony's first major milestone is when I can finally do "apt-get install java", and get a VM that will run any Java program (with the possible exception of Swing based ones). There will be ton of people integrating Harmony into Linux like Java is integrated into MacOS X. Harmony will very quickly become the server-side VM of choice for Linux, and maybe a default install on the bazillions of small Linux devices that we keep being told are just in the horizon.
So does Sun open Java when it sees this happening?
The next step will be Apple. Who is Apple more in bed with - Intel or Sun? That's easy; MacOS isn't being ported to SPARC anytime soon, so Harmony could easily become the default on Macs too. I bet it would save Steve a buck or 2 on licensing at the same time. So Harmony becomes the default install of Java for all Macs.
Does Sun open Java when it sees this happening?
Getting Harmony to be the biggest JVM on Windows will be a bigger challenge, but I think that's part of the thinking behind the Eclipse RCP - a way of shoe-horning control of Java away from Sun. Maybe IBM can create a Swing wrapper around SWT and all of a sudden everyone's Java apps will totally match the native look and feel without any messing around at all.
All this time Harmony will have the benefit of the backing of the hordes of open source zealots that want everything to be totally open, and Sun will become more and more the pariah.
Maybe Sun opens Java when it sees this happening?
Perhaps can use history as our guide. Realistically Solaris is unlikely to challenge Linux's position as Unix golden boy, but had it been open sourced a few years earlier then history might be very different.
Richard Monson Haefel recently commented on Sun's latest round of freeing things up, JES, that is was too little, and too late. So it looks like Sun didn't learn their lesson from Solaris.
If we just take history as our guide then the answer to the question "When will Sun open source Java?" is "Too late".
However one hint that things might have changed is in a recent interview the JavaPosse did with Jonathan Schwartz, where he said fairly clearly that he saw developer mindshare as very important - enough to take the point of view, free it now, worry about how to monetize it later.