Long time no see! The same way you enjoy writing open letters to IBM and others in your blog -- I wanted to write an open letter to you and Sun, and see if I can get a little clarity about your open source software strategy. As I am sure you have noticed, there has been quite a bit of momentum around LAMP in the industry, ranging from innovators like Google, Yahoo!, and Amazon, to the "Web 2.0" crowd like Friendster, MySpace, and Flickr. In addition, LAMP has increasing usage in the enterprise.
The "P" languages in LAMP -- PHP, Python, and Perl -- are all open source, and each provide their own virtual machine. It would be ideal if the Java JVM was open source so that open source projects like PHP could join up with the Java Virtual Machine. In turn, Java would be much more competitive with .Net, which supports numerous languages out of the box. Initiatives like adding dynamic language support in the JVM will not go far if Java can not meet existing languages on a common ground of open source.
What is unfortunate about Sun's open source strategy is that it is very unclear. Can you please answer the following question with a single coherent sentence that people can remember and repeat? If I ask five Sun employees this question, I get five different answers, so having simple answers to these questions will clearly help your own workforce as well as your customers and prospects!
"Why is it good to open source OpenSolaris and OpenOffice and bad to open source Java?"
We all know the standard Sun answer that Java will get fractured and that the JCP is great. However, OpenSolaris and OpenOffice have not been fractured since being open sourced. And most of the Java innovation nowadays comes from open source projects like Spring and Hibernate, not the JCP, which then has to recreate all of these open source projects. Some of the biggest supports of Java, including IBM and BEA and others in the JCP executive committee, have long asked for Java to be open sourced.
So what's up? Can you guys let go a bit and let us all share a single, open source virtual machine? It would be good for Java, good for LAMP, and good for customers. Combining two of the three leading development platforms would make them both more competitive against .Net.
Eweek quotes the father of Java, James Gosling, on the topic:
"Well, there are lots of different answers. One is, 'Beats the hell out of me.' You never know what the future will bring. … If you look at the way that we interact with the community, the way that we have all of our sources out there, we have a lot of people from the community that contribute the way any open-source projects do. Really, the major thing that's an obstacle to truly being open source is the nits in our license about testing. And having our license require testing disqualifies us from the religious blessing of the open-source community."
Java turns 10 at JavaOne 2005: Jonathan Schwartz and James Gosling
Tim Bray, director of Web technology at Sun, explained the Java open source issue as follows in a discussion I had with him last month:
"With Java, we have one concern. From an end user point of view open source is good. They get bug fixes faster, but the Java definition is a binary that passes the TCK [Java Compatibility Kit]. I suspect that open sourced Java would not result in faster bug fixes because of the way it is defined. If you go to JavaOne and talk to developers, they care about compatibility. So, I am definitely of two minds, and I'm not convinced that it will produce practical upside or developer benefit. But, we are not deaf. Legions of voices are crying out for it. At some point, you decide it's more important to make [the cries] go away."
"Solaris doesn't have an explicit careful definition like Java. The TCK is a mammoth piece of work, and that's why Java is portable to such an extent. The potential forks arising would be damaging to the entire marketplace. I'm getting less worried about forking as years go by, but some commercial entities might find some advantage in forking Java. I think it's absolutely clear that when and if company takes positon to open source Java, it would be a big job and take time."
JavaOne is coming up in mid-May, and given the direction Sun is heading with open sourcing everything, I wouldn't be surprised to hear a very specific announcement of direction for open sourcing Java...