It's been over a decade since Oracle first began its lawsuit against Google over the use of parts of the Java platform in Android. Today, the United States Supreme Court finally ended it, with Google being the long-protracted winner. While the relevant bits of Java haven't been used by Android in years, the end of this court battle sets a precedent in US copyright law that will be important for almost anyone making software platforms in the future.
Oracle's copyright suit against Google for using Java APIs in Android has been an ongoing feud since 2010, and the stakes are only about to get higher. The Federal Circuit denied Google's appeal Tuesday of a March decision that found Google's use of Oracle's Java APIs was not fair use. Now, Google has stated it will take the case to the Supreme Court.
New developments in the longstanding legal feud between Oracle and Google: a federal appeals court has reversed the 2016 ruling that found Google's use of Oracle's Java APIs in Android was fair use. The dispute has been ongoing since 2010.
What is this witchcraft? DeskDock, now available on the Play Store, allows you to share your computer's keyboard and mouse with your Android device. If you've ever used Synergy, it's very close to that.
What's the point of something like this, you may ask? The primary use the developer provided was to make Android development much easier. With this tool, you could work on an application on your computer, push it to your device, and test it without your hands ever leaving your keyboard. But there are plenty of other potential uses as well - you could use your Android tablet as another monitor to watch media on, for example.
According to reporter Sarah Jeong on Twitter, the jury in the long-awaited Oracle v Google trial regarding Google's use of Oracle's Java APIs has found that Oracle's claims for copyright infringement are not valid. Google's use of the APIs structure, sequence, and organization fell under fair use.
GOOGLE'S USE OF THE DECLARING CODE AND SSO OF APIS IS FAIR USE
Oracle had, after a higher court found certain aspects of the Java APIs copyrightable, sought damages against Google for using those APIs as part of Android's Dalvik virtual machine. Oracle's argument had long been considered near-baseless in terms of true technological "theft," but the finding that the structure, sequence, and organization of the APIs were copyrightable led many legal analysts to believe Google may well lose the case.
With last month's release of the Android N Preview, the Tools team launched a preview release of Android Studio 2.1. Not only did the new version add support for the N Preview SDK, but it also brought a few important important and welcomed additions, including adoption and support for many of the language features in Java 8, a semi-official switch to the Jack compiler, an updated New Project wizard, and further improvements to the new and faster Android Emulator. As of today, Android Studio 2.1 has been promoted to Stable and is available to all developers.
The biggest advantage of updating and switching to the Jack compiler, aside from playing with new Android N APIs like Launcher Shortcuts, is probably the addition of Lambda Expressions.
Developers have plenty of great new APIs and features coming with Android N, but perhaps the best thing to look forward to is at the language level itself. Starting with the preview SDK due out today, some of the language features of Java 8 will be supported by the Jack compiler. This will bring things like support for lambdas, default and static methods, streams, and functional interfaces. Google is also declaring that the Jack compiler will also be able to remain more up-to-date with Java language features in the future.
One of the top requests from developers over the last few years has been for a more rapid uptake of new language features for Java, many of which would allow for more efficient use of development time and ultimately easier to read code.
Kotlin has been emerging as a programming language to keep a close eye on. It started as an internal project at JetBrains back in 2011 and was released early the next year. Taking inspiration from both classic C-based languages and a number of modern alternatives like Scala, Kotlin is branded as a "pragmatic" language and modeled to encourage smarter coding and easier readability. JetBrains has been tiptoeing up to an official v1.0 release for a few months, and today, it's finally here.
While it's still a fledgling language, Kotlin has earned some enthusiastic supporters among the Android development community, even a few Googlers have discussed using it in projects.
Android's rapid rise to the top of the mobile market was accompanied by a number of legal battles, and perhaps none of them was so central and so contentious as Oracle versus Google. The fight over the legality of patents and copyrights in some of the portions of Android that used allegedly proprietary Oracle-owned Java software has been raging since 2010, eventually being considered for review by the US Supreme Court before being bounced back to the lower appeals court. The fight was a constant, and sometimes dramatic, part of legal software news at one point.
Apparently Google is as tired of dealing with the legal headache as we are of writing about it, because the company has confirmed that Android will do away with the remaining Java APIs starting with Android N, which will probably be released sometime in 2016.
Most of the standard (non-game) Android apps we use today are created with Java. Alternatives are available, like Apache Cordova and Mono for Android, but there's no doubt that Java is the only true first-class citizen. However, a team at Google is now working on a new cross-platform alternative called Sky, and it's able to deliver 120 FPS out of the box.