Software Patents, Java, and .NET

by on April 24, 2006

MikeT has a great post comparing the relative performance of Sun’s Java platform and Microsoft’s .NET platform:

Microsoft has refused to open up the .NET platform to the same degree as Sun has, and while there is freedom to implement parts of the base specifications, the legal status of any alternative implementation is in limbo because Microsoft won’t commit to the same open licensing of its patents for .NET that Sun has for Java. There is no “.NET Community Process” that can provide the same sort of assurance that the Java Community Process can provide. One of the benefits of the JCP has been that it has provided a few major corporations with sufficient incentive to write their own Java implementations that a credible open source implementation was not even started until recently whereas no on has hitherto dared to develop a commercial .NET reimplementation.

The very existance of these implementations is important because they provide the developers and users of Java and .NET with the assurance that they are not betting everything on just one vendor. Advocates of software patents almost always underestimate the importance of such multiple, non-patent-encumbered implementations to the success of a platform. Developing Java or .NET may be expensive, but for the actual developers and users who will make use of them, there is often even more to lose by tying an entire infrastructure to a technology that can only be provided by one vendor.

Lastly, consider this, you skeptics out there. Where would the market for Java application servers be today were it not for Apache Tomcat and JBoss providing high quality open source alternatives to the extremely expensive proprietary servers? This alone is a very good reason why software patents ought to go. Had Sun left other companies and open source groups in limbo on what they would do with their patents, few companies would have invested into the development of Java application servers. It was Sun’s decision to not use their patents except as a mechanism to control the purity of the implementation of the Java platform that really got things going. Since Microsoft has not yet committed to allowing others to develop .NET runtimes that are fully compatible with theirs without licensing technology from them, the market for .NET products has been primarily limited to those who wanted to replace existing Microsoft-specific code rather than build a totally new market the way that Java has started.

I can think of a few factors that might help explain Java’s lead (perhaps most notably, Sun had about a 4-year head start) but I think the general point is a sound one. In fact, this is a point I plan to stress at Wednesday’s Cato conference: just as planned economies don’t work as well as decentralized, market-oriented ones, so too do technological platforms controlled by one vendor tend not to do as well as platforms in which anyone is free to participate without seeking permission of a centralized authority. What software patents and the DMCA do, in effect, is encourage the technological equivalent of central planning. Central planning doesn’t work for national economies, and it doesn’t work for software platforms.

Comments on this entry are closed.

Previous post:

Next post: