Today Google confirmed that the next version of their Android Operating System, Android N, would not be making use of Oracle’s Java Application Programming Interfaces (APIs), and instead they would be replaced by their OpenJDK equivalents in all future versions of Android. While Google states that this change will make the development of Android applications easier in future, it is also likely related to Google’s legal battle with Oracle relating to Google’s use of its Java APIs.
The switch from Oracle to OpenJDK was first spotted last month due to a commit made to the Android open source repository, clearly showing changes to a massive 8092 files and the commit message documenting the initial addition of OpenJDK code to the repository. Now Google has gone public with the change, making this statement to Venturebeat:
“As an open-source platform, Android is built upon the collaboration of the open-source community. In our upcoming release of Android, we plan to move Android’s Java language libraries to an OpenJDK-based approach, creating a common code base for developers to build apps and services. Google has long worked with and contributed to the OpenJDK community, and we look forward to making even more contributions to the OpenJDK project in the future.”
So while Google’s official line on the matter is that it allows for easier development of applications by developers and allows the community to give more back to OpenJDK, which is impossible with a proprietary product such as Oracle Java, it is unlikely this is the only reason for the switch, else would Google not have done it sooner?
That leaves the matter of Google and Oracle’s ongoing legal battle over the Google’s use of Java APIs, with Oracle claiming that Google had misused their APIs, which are their property, and Google maintaining that the use of the APIs should be protected for software innovation purposes and could not be copyrighted. Since 2010, this legal battle has raged back and forth, with verdicts being handed down and overturned. This switch to OpenJDK could indicate an out-of-court settlement between the companies that has yet to come to light, or that Google are simply insuring themselves in case they lose the legal war and by then would have already instigated the change away from Oracle APIs.
Even if the result of the lawsuit could be made somewhat moot by Google no longer using Oracle’s APIs, the result could have wider ramifications on the software industry on the whole, should code vendors be allowed to consider parts of their code copyrighted, it could spark a whole new blaze of copyright wars over the use of programming languages and tools. At least for the everyday Android developer, the switch to OpenJDK may make future application development for Android a little simpler; how strongly this will affect the backwards compatibility of newer apps remains to be seen.