Oracle has already picked a fight with Google over Java implementations, and it seems to have its sights set on Apache now. Both seem ready and willing to fight back. What is Oracle's endgame?
Oracle has already declared war on Google over Java. Between that and the way Oracle pulled Solaris sources from current distribution, the open source community at large is developing a definite dislike for Oracle. Already, MySQL has been forked, producing MariaDB; OpenOffice.org has been forked, producing LibreOffice; and Solaris has been forked, producing IllumOS. While the usual assumption is that a clean-room implementation — recreating software from scratch, with completely new source code — is legally safer than forking, the case of Oracle suing Google over the Dalvik VM, with patents it recently acquired with Sun as its weapon, casts the Java situation in a very different light.
A majority of the code that comprises the core Java software ecosystem is released under an open source license. The development of the Java specification is a somewhat open process, operating under the aegis of the Java Community Process, or JCP. The Java Specification Participation Agreement provides for Java Technology Compatibility Kit (or TCK) use by JCP members, including the Apache Software Foundation, which develops a copyfree licensed implementation of Java in accordance with the JCP and the JSPA, called Apache Harmony.
For future development of Java technologies, however, Oracle has started trying to rein in the openness of these technologies. Specifically, Oracle aims to deny Java implementors like the ASF (Apache Software Foundation) any free/open source software licensed access to the TCK, which the ASF is concerned would prevent it from continuing to offer Harmony under the Apache license. The key restriction is a Field of Use restriction, which in this case restricts use on mobile platforms — exactly the field of use in which Google's Dalvik is being deployed.
It looks like Oracle's plan is to restrict deployments of Java implementations in certain markets, particularly on mobile platforms, so that it can monetize its own Java offering in those markets without any competition. Rather than leave open source software well enough alone, Oracle seeks to effectively eliminate any competition so it can dominate the market without effort.
The Apache Software Foundation's representatives are obviously not happy with this state of affairs, and they have stated that pulling out of the JCP may be the only reasonable alternative left to them if the Field-of-use (FOU) restrictions are actually imposed. Because the ASF wants to stay involved, it has announced its intention to vote against Oracle's FOU restrictions. ASF co-founder Jim Jagielski added:
Should Java 7 get voted down, then it means there is still some fight in that, that the JCP process is still a community process, in which case we'll stick with it and keep the good fighting going.
It is clear that if Oracle is willing to make a fight of it, the Apache Software Foundation will fight right back as long as there is anything left to fight. The open source community in general is sure to side with Apache on this, and to refuse to continue supporting Oracle's new Java regime substantially. There may be some fighting within the community over it, thanks to the strong support the Java language under Sun's stewardship has built up amongst developers over the years. In the end, though, it is difficult to see how that kind of support for Java in open source communities could survive long with Oracle's scorched earth approach to competition in the mobile devices market.
Oracle has expanded its war on third-party Java from one front to two, at least, so far. It seems likely to spread even further, whether Oracle consciously picks new targets or not at this point. I am not holding my breath hoping that Oracle will stop picking new targets, either, though.