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.

Source: Groklaw.net


_________
Want something on the XDA Portal? Send us a tip!

Adam Outler

AdamOutler is an editor on XDA-Developers, the largest community for Android users. Electronics Tech/ Developer View AdamOutler's posts and articles here.
Mario Tomás Serrafero · Jul 29, 2015 at 12:10 pm · 1 comment

OnePlus 2 vs Moto X Style: Which is The Better Flagship?

Two big industry names have announced their newest flagship phones within the past few days. Both have also promised great performance for a cheap price, and now that we know the specifications and details about both the Moto X Style and the OnePlus 2, we can begin planning our next purchase and debating which one is better. So, judging from everything we know, which phone is more impressive?

DISCUSS
Mathew Brack · Jul 29, 2015 at 10:35 am · 2 comments

Making Your Own Xposed Modules Is Easier Than You Think

Close to the heart of XDA is the Xposed Framework by Rovo89. Most of us will have used it but you may feel that the module repository is missing something. We have the solution with several guides aimed at getting you started to build your own modules, something that may be daunting but can open an entire new field of development with a little time and effort.     Where better to start than at the beginning? Rovo89 has created a straight forward tutorial for getting started with development for Xposed....

XDA NEWS
Jimmy McGee · Jul 29, 2015 at 06:00 am · 2 comments

ZenFone 2 Lolliflash and ZenPower Giveaway!

We recently did an in-depth review of the Asus Zenfone 2 but one of the things people may not be aware of is that ASUS has actually created a line of accessories to compliment the ZenFone, or any other Android device. The Lolliflash is a Lollipop-shaped external flash and the ZenPower is a thin 10,000mAh external battery. In today's video, Jordan shows off the Lolliflash and the ZenPower Accessories. Additionally, ASUS and XDA have teamed up to give away 5...

XDA NEWS