Tuesday, January 23, 2007

Java Goes Open Source

In November of this year Sun Microsystems moved to "open source" status for Java, after a decade of maintaining proprietary status for the portable programming language. Specifically, Sun has placed Java into the public domain by putting it under GPL - an acronym for General Public License. What this means is that software programmers will have vastly increased freedom to develop programs based on Java and to develop modifications for the language itself.

It also puts Sun into the mainstream with other major platform developers such as Linux. While the company had put its Solaris operating system into open source status some time ago, Java is a highly distributed consumer platform and providing open source access to it gives the company a real boost in its standing among its peers. Perhaps more important, it will stimulate further development of consumer oriented Java-based programs. It is estimated that eight out of every ten cell phones have a Java application running on them.

A GPL use requires that any product developed under such licensure be returned to the "open source community" and remain, in effect accessible to all. Sun's variation on this principle has an exception for applications built on the Java "Virtual Machine," a platform that the company made available to software developers some time ago.

What this exception does is allow continued development of proprietary software written for Java, which keeps the language viable as a platform for revenue producing products. Prior to the switch to GPL status, Java program developers had to pay a licensing fee to Sun.

IBM has been after Sun to take Java to open source status for years. Their Works Projects has been a center for the development of open source products, primarily based on Linux. From their perspective, Sun's decision to grant GPL status for Java is viewed as an opportunity to unite with Linux and provide a stronger platform to challenge Microsoft. The politics of software can be enormously complicated, especially when there's an elephant like Microsoft in the house. But what Sun has accomplished with this move is provide an opportunity for programmers to zero in on Java products as potentially large revenue sources.

Unlike Linux, which was spun off of UNIX to provide an alternative to Windows, Java stands in a class of its own. While Linux has survived in the marketplace, it has never mounted a major challenge to Windows. Java's unique qualities and the intellectual property that protects those qualities will now be an open book for programmers developing new applications.

It will also provide the opportunity to bundle Java products with Linux based software. Sun's internal interest in this move is to stimulate more developers to use the language, in order to revive its own internal software business. Since taking a huge hit in their high-end server market, Sun has been struggling to find a new path and has increasingly looked to software as an opportunity.

Sun's EVP for software summed up the value of the move for the company and its product. "People have been hesitant to distribute Java worldwide with Linux (distributions) because of (concerns over) license alignment," Green said. "This is the last gate to ensure that Java will be distributed worldwide."