Google replaced its implementation of the Java Application Programming Interfaces (APIs) in Android with OpenJDK, the open-source version of Oracle's Java Development Kit (JDK).
The first news came from a "mysterious Android code base commit" from last month's Hacker News. Google confirmed that venture beat that Android N is alone on OpenJDK, but android of your own implementation of the Java APIs.
"As an open source platform that Android is based on the cooperation of the open source community," a Google spokesman said venture beat. "In our upcoming release of Android, we plan to move Android the Java language libraries to a OpenJDK-based approach, the establishment of a common code base for developers to create applications and services. Google has worked for a long time and contributed to the OpenJDK Community, and we look forward to even more contributions for the OpenJDK project in the future."
Android provides specific Java API libraries to support the development of applications in the Java programming language, divided in two parts: the APIs, libraries and the implementation of code developed by Google, the said libraries work. Oracle develops, the Java, has two implementations of these libraries: the proprietary JDK version and the open source OpenJDK version. Google is the decision to consolidate its efforts with OpenJDK, Android already uses in some areas, means it is the sharing of your implementation code.
The code commit in question shows 8902 files were changed significantly notes OpenJDK code has been added to Android:
- Initial import of OpenJdk files.
- Create new libcore/ojluni directory with src/main/java and src/main/native subdirectiories.
- Build ojluni into core-oj jar.
- Use openjdk classes from java.awt.font package.
- Copy all files from jdk/src/share/classes and jdk/src/solaris/classes directories in openjdk into libcore/ojluni/src/main/java.
- Copy following native files from openjdk to libcore/ojluni/src/main/native: [long list of files]
Google hopes that Android developers estimate the change because it simplifies the code on which you create applications - a common code base for these Java API libraries, in contrast to the multiple code bases. That may be true, but if this is the only reason Google made the complete switch, OpenJDK, the company had done years ago.
When we asked why Google now, the company pointed to the version of Java 8 in the last year and the introduction of new language features such as lambdas. As such, Google wants more resources in OpenJDK, where the team can have a major impact on the new features and improvements. That the developers Google pitching is in each case, but there is a massive legal narrative here that can not be forgotten.
Hacker News Users will rightly ask whether the code Commit means that the dispute between Oracle and Google has been settled out of court, or whether Google has decided to protect yourself with regard to future versions of Android in the event it loses. This is a good question, but since the Oracle application is still in progress, Google refused to comment whether this code commit is connected.
Following the acquisition of sun in January 2010, Oracle sued Google for copyright and patent infringement in August 2010, with the argument that Android can use of Java APIs without permission. Google countered by declaring that APIs is not copyright protected because they are essential to software development, cooperation and innovation.
In May 2012, a jury found that Google is not against the patents on Oracle Java APIs that are not protected by copyright. In May 2014, the Federal Circuit partially lifted the Land court decision, judgment in Oracle's favor: Java APIs can be protected by copyright. In June 2015, the U.S. Supreme Court went to hear the case and sent it back to a lower court so Google could argue that the appropriate use of Oracle's proprietary APIs.
Is it just a coincidence that after all the back-and-forth, Google has decided to fully embrace OpenJDK? Unlikely, but the result is what counts: future versions of Android is on OpenJDK, non-Oracle The proprietary JDK version.
Or so that the case is not a thing of the past (Google can not just change existing Android versions), and the final decision will still be observed very exactly as it would have a huge impact on the software development as a whole. If Oracle wins, tech giant could hold a lot of power over developer to create new software on the basis of existing applications and services. If Google wins, fair use laws could in essence Protection The use of APIs.