The way Suns Java programming language has been developed is something of a paradox. Sun owns the core code behind Java, which is used to create applications that can run across an almost-unlimited number of computers in a "distributed" environment, such as the Internet. But a majority of the underlying technology for the version most widely used by corporations, Java 2 Enterprise Edition, came from outside Sun. This code was developed by the "Java Community Process," sort of a standards group created by Sun and other Java proponents. In fact, a lot of that technology actually comes from Suns rival, IBM.
Yet Sun may not be able to have it both ways. Java has become too big for Sun to maintain by itself, say key programmers at the company. Meanwhile, major partners are loath to contribute more intellectual property while still having to pay Sun licensing fees for using Java technology.
Those partners keep pushing Sun to make Java an "open source" piece of programming.
Now, according to a number of technologists inside and close to Sun, the company is preparing to do just that.
If it did, that would lower the costs of developing Java applications. Users could modify Java code to their own needs, without having to rely on—and pay—Sun for upgrades.
"Open source" doesnt mean "free software." Despite what Microsoft or SCO Group might tell people, it doesnt mean "flesh-eating bacteria" either. It just means allowing others to build new features atop that code—provided that those features can be reviewed by the original owner of the code, and made freely available to everyone else who uses it. The original owner then can decide what is included in the next upgrade.
Until now, at least publicly, Sun has resisted the pressure to open up Java, jealously guarding its licensing revenue. Instead, it has turned several Java-related pieces of technology into open-source projects—such as the NetBeans Java development tool.
Sun also has launched java.net, a collaboration site for open-source development with Java, and offered up "millions of lines of code" as open-source software—including the Java programming interfaces for Web services and integration with XML (eXtended Markup Language).
Sun has used these open-source projects to turn customers into co-developers. Over the long run, that lowers the cost of software maintenance. If a feature is important enough to someone, that someone will develop it and maintain it—and that feature can be incorporated back into the core product. Sun, presumably, can still sell that product, with the bells and whistles that come along with packaged software—like professional customer support.
So whats keeping Sun from taking the plunge? Lawyers. Sun is still fighting its lawsuit against Microsoft for violating the terms of its Java license. While the injunction that required Microsoft to ship Suns version of Java with Windows was recently overturned, theres still the actual lawsuit itself to be fought over Microsofts violation of its licensing agreement with Sun. Suns lawyers will undoubtedly be very careful about the wording of any open-source license—and what pieces of Java get placed under it—to protect Suns ability to continue making money off Java.
When the dam breaks, Sun may not stop at just opening up the source code of Java. Sun recently bought the rights to some elements of SCO Groups Unix operating system, to help it run its own version of Unix, called Solaris, on Intel processors. Sun released the source code for Solaris for noncommercial use back in 1999; with its intellectual property rights now secured, Sun could conceivably take Solaris completely into open source for commercial use as well.
Which would leave Sun right back where Sun chief executive officer Scott McNealy is most comfortable-in the hardware business.
Discuss this in the eWeek forum.