You can’t develop the world’s top mobile operating system
without getting into a few legal tussles. Google has been embroiled in a
complex lawsuit with Oracle over the Java programming language since
2010. The case centers on whether or not Google infringed on Oracle’s
copyright when it copied sections of the Java APIs in Android.
Now, Google has confirmed that it will be doing away with all the
standard Java APIs in the next version of Android. Instead, it will use
only the open source OpenJDK.
The ongoing battle between Oracle and Google
has been messy, to say the least. It all goes back to the way Java APIs
(Application Programming Interfaces) are used in Android. If you want
programs to communicate with each other, you need an API, and Oracle
thinks it should be able to copyright those. Computer scientists tend
to disagree because APIs are essential for interoperability.
Android apps are mostly written in Java, then compiled by
the operating system to native code and run. The part of the system that
handles this used to be known as Dalvik virtual machine, but has since
been replaced by the more efficient ART (Android Runtime). Most of the
code in Google’s VM is original (Google says it’s about 97%), but it
still uses Oracle’s Java APIs.
This has been a sticking point for the last few years. After
a jury found in favor of Google, a appeals court mostly reversed that
judgement. A petition for the Supreme Court to hear the case was rejected earlier this year,
and the case now sits at a lower court waiting to decide on Google’s
fair use argument. In the meantime, Google is making sure this isn’t an
issue going forward.
Because Android is open source (Java is mostly open as
well), you can see all the code commits to the Android Open Source
Project (AOSP). Some developers noticed a large change pop up the other day
that affects 8,902 files. Further digging revealed that it was related
to the Java APIs in Android. When asked about this, Google confirmed
that it is moving away from the standard Java implementation and will
instead use OpenJDK.
Google didn’t mention the case against Oracle, but it seems clear that’s the reason for the change. Google claims
using the OpenJDK will create a common code base for developers. It
also has the benefit of being completely open source and not controlled
by the overly litigious Oracle. Even if Google wins the fair use
argument, that doesn’t mean future fair use arguments would hold up.
It’s best to just move away from Oracle’s platform.
Google says the switch to OpenJDK will take place in the N
release of Android. That’s expected to happen at some point in 2016.
That doesn’t change anything about the current legal battle. If the
court finds that Java APIs aren’t covered by fair use, Google might end
up paying out a large pile of cash to Oracle.
Post a Comment