Adam Outler · May 16, 2012 at 03:00 pm

Update on the Oracle Versus Google Trial

The case which, was proclaimed by some to end Android or raise the prices of future Android devices, is turning out more favorable by the day for Google and its star OS. If you haven’t already read our primer on the topic, now would be a good time to do so.

At the end of the day on Tuesday, the closing statements for phase 2 of the trial were issued by each side and a rather humerous transaction between Oracle and the Judge took place.

Quoted from Groklaw:

Judge: We heard the testimony of Mr. Bloch. I couldn’t have told you the first thing about Java before this problem. I have done, and still do, a significant amount of programming in other languages. I’ve written blocks of code like rangeCheck a hundred times before. I could do it, you could do it. The idea that someone would copy that when they could do it themselves just as fast, it was an accident. There’s no way you could say that was speeding them along to the marketplace. You’re one of the best lawyers in America, how could you even make that kind of argument?

Oracle: I want to come back to rangeCheck.

Judge: rangeCheck! All it does is make sure the numbers you’re inputting are within a range, and gives them some sort of exceptional treatment. That witness, when he said a high school student could do it–

A major portion of the Oracle’s claims are based on 9 lines of code contained within Java.Util.Arrays.rangeCheck().  Here is the code in question:

  792       private static void rangeCheck(int length, int fromIndex, int toIndex) {
  793           if (fromIndex > toIndex) {
  794               throw new IllegalArgumentException(
  795                   “fromIndex(” + fromIndex + “) > toIndex(” + toIndex + “)”);
  796           }
  797           if (fromIndex < 0) {
  798               throw new ArrayIndexOutOfBoundsException(fromIndex);
  799           }
  800           if (toIndex > length) {
  801               throw new ArrayIndexOutOfBoundsException(toIndex);
  802           }
  803       }

This block of code can be very much simplified if we remove some jargon.  We have some exceptions thrown.  An exception’s job is to print some information. And if left unhandled, an exception will stop the application from running. We also have some variables.

Lets simplifiy the exceptions down to printing errors, and lets simplifiy the  integer variables down to A, B, and C.  I’ve writen the following pseudo-code to demonstrate the simplicity of this method in question.

rangeCheck(integer A, integer B, integer C) {
  if (B > C) {
    print(“ERROR: B is invalid because it is greater than C”);
  if (B < 0) {
    print(“ERROR: B is less than 0″);
  if (C > A) {
    print(“ERROR: C is greater than A”);

At the beginning of the day on Tuesday, Google offered Oracle a grand total of 2% profit from Android.  Oracle declined.  At the end of the day in court on Tuesday, it seems that 2% would have been more than generous on Google’s part.

So lets do a quick recap of what’s happened so far. The trial was broken into three Phases: Patents, Infringement, and Damages.

Phase 1 was left unconcluded, as there has not yet been a ruling on whether APIs can be copyrighted.  Considering the implications of copyrighting an API, it would not make sense to give this one to Oracle. If API copyrights were granted, every plug-in or 3rd party tool for any application ever created would automatically be subject to scrutiny.

Phase 2 seems to be going in Google’s favor.  What Google is infringing upon is an accidental 9 lines of code and 8 test files.  The test files were never released in Android, and therefore should be considered irrelevant as no profit was generated from them directly.

We shall see in Phase 3 how the trial will go. I, for one, am interested to see how Oracle can prove that the 9 lines above could possibly damage their profits or business.


Want something on the XDA Portal? Send us a tip!
Mario Tomás Serrafero · Mar 5, 2015 at 10:09 am · no comments

Huawei: A Giant the Western World Should Look Out For

The smartphone landscape is drastically changing its focus. What was once a North-America-centric monopoly of high-specification phones is now merely an afterimage of the past. The meat of the game is elsewhere now; emerging markets looking for good bang-for-buck are what OEMs are increasingly aiming towards, and in this new game the old players must adapt-or-die. Xiaomi has grown at one of the most notable rates in the industry, leading it to become the world's most valuable start-up; and its...

Jimmy McGee · Mar 5, 2015 at 06:00 am · 1 comment

RAVPower RP-WD02 – Android Accessories Review

There are so many Power Banks out there. However, they are not all the same. Some sacrifice weight for capacity. Others do the opposite. Some come with two ports and some come with more, while others come with less. Some are just batteries with a case around it, but others have some unique features. In this episode of XDA TV, Producer TK reviews the RAVPower RP-WD02 Wireless Filehub & Portable Travel Router. This device is the successor to the RP-WD01...

GermainZ · Mar 4, 2015 at 07:09 pm · no comments

A Look at the Telegram+ Situation

Most of this article doesn't only apply to Telegram+ -- it just happens to be an example that got a lot of coverage elsewhere, with many authors or commentators putting the full blame on Google, Telegram, the Telegram+ developer or even WhatsApp Inc (eh?). In this article, we'll try to look at the different aspects to provide a clear view of what actually happened, and what can (and hopefully will) improve with regards to developers in general and the Play...

Share This