Why Bother Open Sourcing Java?

I was making a serious point on Tuesday when I commented that the number of developers interested in the source code to Sun's Java SE implementation would be quite small (I guessed in the low hundreds). OSDir may make fun of it and C|Net rather miss the mark too, but Neil Ward-Dutton, who asked the question I was answering, has a better understanding of the matter but still misses the heart of the matter. That's not to say that monetisation at the point of value isn't crucial for Sun, but the Java platform is more a market-maker than a direct revenue generator.
All that the 4 million plus developers of applications on the Java platform really care about is that there's a full Java implementation everywhere they see the Java logo, which works the same as all others and includes all the class files their application needs. I call this "works-the-same compatibility", and it has always been the core value of the Java platform. It allows you to upgrade the operating system without breaking the applications. With a little care, it allows you to have one application and target multiple platforms.
Almost none of those 4 million plus developers will ever want to join in with any activity that's maintaining the internals of the Java platform. As Alan notes, the only regard most Java developers will have for open source Java implementations is a fear of incompatible forks (and I remember your concerns from TSS in Spain, Kirk).
But there will be some who are interested. There has already been enough interest for 30 or so developers to collaborate on GNU/Classpath, and there's another group (dominated by IBM and Intel) working on Apache Harmony. I'd guess that as many as 400 people could eventually form a core developer community around an open source code base sparked by Sun's implementation.
So why do something that, if it works, goes unnoticed by the 4 million? It's not just for the 400. I'm keen to ensure that the Java platform finally finds its place at the heart of the Free software movement, but to do that it needs to be released under Free license. While there are people who assert that requirement for ideological reasons, there are a much greater number who do so for purely pragmatic reasons. Developers aren't lawyers, and they mostly don't want to hire lawyers either, so the only license terms they'll accept are ones that have been vetted by an authority they trust. Without an OSI-approved license, the cost of including software in an operating system is just too much. So they won't.
Now, the Java platform makes perfect sense in a world of free operating systems (and I disagree profoundly with Scott Handy's assertion that the world only needs one - I am running four different Free operating systems here as I type). It allows the developer to work independently of the platform, insulated from different distributions, different versions and even different CPU architectures. It means you can choose the perfect operating system for the job, yet still use the same application.
While the actual code-base will only be touched by the 400, the 4 million will benefit from the extended deployment range, the greater pool of expertise and the greater diversity of interests that will result (and I firmly believe, again unlike Scott Handy, that opening the source is essential). Open sourcing Sun's Java implementations is hard, has risks and affects only the 400 now, but it will quickly grow benefits that the 4 million will reap. That's the motivation - preparing for the world where, as I've said elsewhere, the network is the computer, and open source is its soul.





Posted by webmink