Sun Microsystems' quiet announcements today at a small gathering at the San Francisco W Hotel (a stone's throw from LinuxWorld Expo) about open sourcing the Standard Edition (SE) version of Java, while a welcome step, won't change the long-baked perceptions about Sun and Java.
This validation by Sun of the long dribble march to Java neutrality does not effectively accomplish what Sun needs to do:
Sun needs to be clear -- and not cute -- about all of Java going open source on a common trajectory, and that means Enterprise Edition (EE) and Micro Edition (ME) with some cohesion. So now we have ME going to some license this year, SE next year, and EE at some distant point. Will they all be under the same license? Which one? Having different licenses for different elements of these Java tiers emerge under different distribution scenarios over years of ongoing "openings" will be the death knell for Java's effective advancement as an innovative and inclusive environment.
Varying licenses and a linear timing path to opening aspects of Java will, ironically, on a time-line basis alone fracture Java -- the very thing Sun has used to rationalize its control over the specifications and certification process for 10 years.
Sun should take the bold and necessary step on SE and go GPL so that Java can be part-and-parcel with Linux and other GPL-oriented middleware stack distributions. It's my understanding that Sun is still ruminating on which license to take SE out on. Go GPL. And then take that model and inject as quickly as possible under ME and EE, too. Same with the tools.
How about OpenSolaris while you're at it? Swap CDDL for GPL with OpenSolaris, and continue the strong go-to-market path of these open distributions as spring-boards to commercial Solaris and other commercial software infrastructure that then spur sales of all that great Sun hardware, storage, and datacenter gear.
Otherwise, the developers, ISVs, and enterprise architects will see more complexity and potential for legal and procedural "gotchas" amid a software license stew, and just side-step the whole party.
Either totally open Java or not. No pseudo open source. Those really are the only options for Java to maintain its leadership and impactful role inclusive of open source communities and distributions, and as a long-term viable alternative to .NET.
As long as Sun salespeople are calling on Java licensees every month to query them on their Java re-upping plans, Sun will continue to alienate their commercial partners and base of support. Continue to push CDDL on Sun stuff and further alienate the open source communities and partners. Harp on NetBeans's strengths and remain at arms length to lots of Eclipse developers.
So cash the checks from IBM and Oracle, give them some preferential treatment on support and maintenance, and end the Java licenses payment process. Or at the very least drop the prices to the point of inconsequence. Sun is pushing up against $3.5 billion in revenue per quarter, so the amount they bring in from Java licenses is not worth the destruction in good will these Java taxes continually incur.
Yes, know that IBM and HP will do well by all of this, too, and live with it. So will Oracle, BEA, Red Hat, and SAP, and they might sell more of your platforms in the process. Then find ways to hit IBM in the pocketbook on its still-commercial softwares. Hasten the day for when software is no longer a growth engine for Big Blue, but do it in such a way as not to shoot yourself in the foot in the process. Make better hardware than HP at a better price, and support it well. Let Microsoft wither on the vine of high-cost, exclusivity, write-anywhere and run-once rigidity, and suffer the R&D pain of solely care-taking the Jovian hairball.
Also, Sun should stop calling their commercial products Java this and Java that. Sun is Sun, Java is Java. So be it.