Earlier this year, Oracle completed the acquisition of Sun Microsystems. In many respects, this was a pivotal moment for Silicon Valley as these two companies have played a key role in the development of UNIX server technology. Oracle has already decided to re-commercialize Sun Solaris, and now the next target could in fact be Java. How much are you willing to pay for Oracle Java?
Java has traditionally been freely available for download, both the runtime (JRE) environment and the development (JDK) platform necessary to compile and distribute your code. It seems unlikely the JRE could ever be commercialized, it is embedded in most popular operating systems and can be easily downloaded with your favorite web browser. The JDK, on the other hand, is only used by software developers to implement applications and is not necessary for end-users running most standard Java programs.
How much would Oracle be able to charge developers to run the JDK?
Oracle has already decided to re-commercialize Sun Solaris, and now the next target could in fact be Java.This kind of paradigm shift can’t really be understood without first getting a handle on the Java Community Process (JCP). More than ten years ago, Sun established the JCP as a mechanism for organizations to participate in the ongoing development of the Java platform. Using JCP, platform technologies like EJB, JSF, JMX and hundreds more were developed. Each one of these Java features were architected by a working group and subsequently documented in a specification. Finally, the committees integrated the features into the JDK or provided a reference implementation of the proposed platform.
The easiest path is to continue to abide by the GPL but start charging a fee for the JDK download. In order for Oracle to close-source the JDK, it would first be necessary to get a handle on the JCP and have the specification developed by the community but the implementation coded from within Oracle. This kind of arrangement is certainly feasible, and would be one step needed to repatriate the Java development process.
The other challenge is to wrestle control of the Java codebase, which is currently governed by GPL. The easiest path is to continue to abide by the GPL but start charging a fee for the JDK download. There is another maneuver available in which JRocket is re-branded as Oracle Java and the existing Java returns to the community with a different name. Ultimately, Oracle controls the Java trademark, which means they can make the rules as it relates to how the term Java is used.
If this happened, the initial impact would be somewhat minimal. Existing JDK use would probably continue to take advantage of 1.6 and adoption of 1.7 would be slowed while companies assessed which JDK platform to adopt. It seems likely that the open source Java would gain a strong following amongst the developer community, while the commercial server deployments would most likely pay the Oracle licensing fees to run the JDK.
Eventually, with the JCP controls in place the next Java JDK platform will diverge from the open source implementation and developers would be forced to adopt Oracle Java and pay the licensing cost.
It remains to be seen how Oracle plans to maximize profits from the acquisition of Sun, but clearly if they are willing to re-absorb Solaris as a commercially licensed operating system they may have no problem considering other methods of profiting using Java.