3 ms·
I think the HN speculation yesterday that there's been a settlement is wrong. This is Google moving to protect itself going forward after it lost the case in th
by guelo 11y ago
I think the HN speculation yesterday that there's been a settlement is wrong. This is Google moving to protect itself going forward after it lost the case in the Federal Circuit. That case was sent back down to the lower court only for ruling if Google's use of Oracle's now apparently copyrighted APIs consists of "Fair Use". Since APIs are now copyrightable I don't see how copying thousands of APIs could possibly consist of "Fair Use" so it's looking like Oracle is going to get paid, big time. And Oracle will probably demand a royalty for every phone sold. So in order for Google to avoid paying that royalty going forward they need to move to OpenJDK quickly with their next release, with the belief that using Oracle's GPL JDK implementation also gives them a license to the API. Problem for Google is that OEM and user adoption of new Android versions is slow, it takes several years for phones with old versions to stop selling, and Oracle will get a cut of each sale.
In any case, I think this is a healthy development for Java developers and the Java ecosystem. Java has been effectively forked between Android and other uses and this will unify the language again. And it will bring the cool new Java 8 features to Android.
- cwyers 11y agoThe answer is, it's fair use if you are trying to be compatible - DR-DOS could be considered a fair use copy of the MS-DOS APIs, because that's the only way to run DOS programs. But ordinary Java programs don't run on Android and Android programs don't run on the JVM. So Google lacks a fair use defense as far as I can tell.
- saurik 11y agoI am sorry to see your comment was downvoted, as it is quite correct: if you read the actual court documents, this is the argument that was made surrounding fair use, and despite their attempts to lie and say they were, Google could not be shown to be trying to build a compatible product (as it is pretty obvious even to non-technical people that they aren't and never intended to even try). Back when this was first being published I wrote a much longer comment pointing out all of the intricacies and quoting the court opinion. https://news.ycombinator.com/item?id=7723853 https://news.ycombinator.com/item?id=7723853
- Zigurd 11y agoHaving tried it myself, standard JVMs and Java bytecode are problematic if you intend to create an efficient handset OS. Danger and Android did a lot of interesting things to Java to make it work better, and the Android runtime has evolved away from from what JVMs look like for some very good reasons.
- guelo 11y agoThis isn't about the VM, it's about the code that runs on the VM. The Java language code, for example Object.equals(), that gets compiled into Dalvik/ART bytecode will now be OpenJDK code instead of Google's own implementation.