Slashdot Mirror


Judge to Oracle: A High Schooler Could Write rangeCheck

mikejuk writes with an update on the Oracle vs Google Trial. From the article: "One month into the Oracle v Google trial, Judge William Alsup has revealed that he has, and still does, write code. Will this affect the outcome? I think so! After trying to establish that the nine lines in rangeCheck that were copied saved Google time in getting Android to market the lawyer making the case is interrupted by the judge which indicates he at least does understand how straightforward it would be to program rangeCheck from scratch: '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 — ' And the lawyer reveals he doesn't: 'I'm not an expert on Java — this is my second case on Java, but I'm not an expert, and I probably couldn't program that in six months.' Perhaps every judge should be a coding judge — it must make the law seem a lot simpler..." From yesterday; the Oracle lawyer was attempting to argue that Google profited by stealing rangeCheck since it allowed them to get to market faster than they would have had they wrote it from scratch. Groklaw, continuing its detailed coverage as always, has the motions filed today.

101 of 478 comments (clear)

  1. 5 Seconds by Githaron · · Score: 5, Funny

    From yesterday; the Oracle lawyer was attempting to argue that Google profited by stealing rangeCheck since it allowed them to get to market faster than they would have had they wrote it from scratch.

    Because 5 seconds make all the difference.

    1. Re:5 Seconds by SailorOrion · · Score: 5, Funny

      Well, if you are flying at orbital speeds because you have the nose up there, it's about 40km of difference...

    2. Re:5 Seconds by ByOhTek · · Score: 3, Insightful

      5 seconds? I'd say 5-10 minutes. Searching for that algorithm probably would take a lot longer than coding it...

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    3. Re:5 Seconds by Anonymous Coward · · Score: 5, Funny

      5 seconds? I'd say 5-10 minutes. Searching for that algorithm probably would take a lot longer than coding it...

      ...you ARE aware who the defendant in this case is, right?

    4. Re:5 Seconds by 19thNervousBreakdown · · Score: 2

      Testing it on the other hand--that's the expensive part.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    5. Re:5 Seconds by Lisias · · Score: 2


      boolean function rangeCheck(
                                              const int value,
                                              const int min,
                                              const int max)
      {
                                              return ( (min <= value) && (value >= value) )
      }

      Ok. More 7 minutes tryiung to figure out why the comparasion operators fucked up a block of what should be a plain text block. X-(

      (thanks, slashdot!)

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    6. Re:5 Seconds by MightyMartian · · Score: 2

      I was thinking a bottle or a coupon drive, myself.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:5 Seconds by 19thNervousBreakdown · · Score: 3, Insightful

      If you go into testing not assuming you're doing it wrong, you're doing it wrong.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    8. Re:5 Seconds by Sulphur · · Score: 2

      boolean function rangeCheck(
                                                                      const int value,
                                                                      const int min,
                                                                      const int max)
      {
                                                                  return ( (min = value) && (value = max) );
      }

      If value is a constant, then the whole thing can be computed at compile time.

    9. Re:5 Seconds by shutdown+-p+now · · Score: 4, Informative

      More 7 minutes tryiung to figure out why the comparasion operators fucked up a block of what should be a plain text block. X-(

      You've used <tt> - it's not a "plain text block", it's a "monospaced span". It can still contain HTML formatting inside.

      Slashdot actually gives you the ability to conveniently format pieces of code and such - that's <ecode>. This treats any < and > as verbatim characters inside the element, except for those that make up its closing tag.

  2. Mistrial! by Hatta · · Score: 4, Insightful

    Obviously this competent, experienced jurist should have recused himself because of this conflict of interest.

    --
    Give me Classic Slashdot or give me death!
    1. Re:Mistrial! by gstoddart · · Score: 4, Insightful

      Knowing facts is a conflict of interest?

      If you're Oracle, and you're claiming that "checking if an integer is within a range is your super top secret IP that Google stole" it is. Their lawyer was outright saying this would be difficult to write.

      A judge with a working BS meter is never a good thing for the plaintiff -- I believe you missed the inherent sarcasm.

      --
      Lost at C:>. Found at C.
    2. Re:Mistrial! by Bob+the+Super+Hamste · · Score: 2

      In the US court system yes. Actually knowing anything is probably a conflict of interest.

      --
      Time to offend someone
    3. Re:Mistrial! by idontgno · · Score: 2

      Competence and resistance to manipulation conflict with the interests of the plaintiff in winning the case even with a complete lack of legal validity.

      See also "I object on the basis that it makes me look bad!"

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    4. Re:Mistrial! by Luckyo · · Score: 2

      You're taking the argument too far. Essentially by your standards a judge who did anything related to murder investigation could not preside over a murder case. A judge that ever sold a house could not preside over a real estate dispute. Etc.

      It's inane. Judge cannot preside over a case in which he has a significant interest over, such as a murder case he had to experience personally or witness. But not all murder cases in general.

      Same here. Judge who understands coding could and should preside over a case that has code-related disputes. He should not however preside over a case if he has coded anything actually disputed. A base experience in the case field is not only allowed, it's recommended for judges.

  3. Re:A high schooler? by Anonymous Coward · · Score: 3, Insightful

    Apparently, you are stupid enough to take a Judge's dismissive comment to the plantiffs as an absolutely specific assessment on the population's programming skills. Perhaps you are the moron here?

  4. Re:A high schooler? by Galestar · · Score: 2

    Pretty much this. Half the people on slashdot could have written it when they were in Elementary School.

    --
    AccountKiller
  5. 6 Months for Range Check?!?!?! by Gr33nJ3ll0 · · Score: 4, Insightful

    I think I'm beginning to understand why Oracle has chosen to sue, rather than innovate, they're idiots and lazy to boot! :)

    1. Re:6 Months for Range Check?!?!?! by medv4380 · · Score: 4, Funny

      So they have 1 of the Virtues of truly great programmers.

  6. Re:A high schooler? by Soilworker · · Score: 5, Insightful

    For those interested: (from http://news.ycombinator.com/item?id=3940683)

    From OpenJDK:
    private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
                    if (fromIndex > toIndex)

                            throw new IllegalArgumentException("fromIndex(" + fromIndex +
                                                  ") > toIndex(" + toIndex+")");

                    if (fromIndex arrayLen)
                            throw new ArrayIndexOutOfBoundsException(toIndex);

            }
    From Google:
    private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
                    if (fromIndex > toIndex)
                            throw new IllegalArgumentException("fromIndex(" + fromIndex +
                                                  ") > toIndex(" + toIndex+")");

                    if (fromIndex arrayLen)
                            throw new ArrayIndexOutOfBoundsException(toIndex);

            }
    }

  7. Re:A high schooler? by tpstigers · · Score: 4, Informative

    Here's a news flash for you: complete idiots can (and do) program. The ability to code is a piss poor measurement of intelligence.

  8. Re:A high schooler? by zero.kalvin · · Score: 2

    Has nothing to do with age. I had my first PC when I was 16. First computer course in school was at 17 ( no programming just basic stuff ). I officially started coding during my second year of university, I was 19! But if I ever knew it existed when I was younger and had access to a PC I would have coded at that age. Some people simply don't have access or don't know!

  9. English as a second language summary? by Anonymous Coward · · Score: 5, Insightful

    Reading that summary made me feel like I was taking crazy pills. So many mixed tenses. Could someone clean that shit up for readability?

    1. Re:English as a second language summary? by MozeeToby · · Score: 2

      If I can't parse a sentence after three tries I give up.

      I gave up trying to read the summary... I suppose there's no sense in lamenting the state of the editing that (doesn't) get done on submissions though.

  10. Re:A high schooler? by MightyMartian · · Score: 5, Insightful

    Fore chrissakes, anyone who has been writing any degree of code for more than a few years has implemented a range check function, and whatever the language C, C++, Java, C#, BASIC, 80x86 assembler, they all basically look the same. If this is truly what Oracle's case boils down to, then they literally have nothing, and this comes out looking no different than what SCO's claims against Linux ended up being. It's fucking ludicrous. To claim that somehow a nine line range check function gave Google some vast market edge to my mind breaks credibility. I'm guessing this is pointing pretty heavily towards Oracle being handed their balls on a platter over this.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  11. What does it matter by htnmmo · · Score: 3, Informative

    What does it matter how easy the code was to write? And if it was so easy why did google need to copy it?

    I tried to submit this over the weekend but it wasn't selected. http://www.wired.com/wiredenterprise/2012/05/google-oracle-decompile/

    "Judge William Alsup ruled that evidence presented during the trial had shown that Google infringed on Oracle’s copyrights by decompiling eight Java files and copying them in their entirety for use with Android."

    As someone who really likes Java and Google I don't like this lawsuit one bit.

    Sun created Java and mostly gave it away for free except for the mobile part which they were licensing to create revenue. Sun and Google couldn't come to terms regarding licensing and Google decided to just make it themselves.

    Sun didn't seem to care, or didn't have the money/will to fight it. Then comes Oracle.

    Please resolve this amicably soon. I don't like it when mommy and daddy fight.

    1. Re:What does it matter by betterunixthanunix · · Score: 2

      What does it matter how easy the code was to write?

      It matters in determining whether or not the copyright infringement in any way helped Google. Oracle is trying to claim that Google got to market faster because they copied the code; but if the code is so simple that it could be written as quickly as copied, that argument basically falls apart.

      And if it was so easy why did google need to copy it?

      I am not even convinced that Google copied those 9 lines. They do not do something particularly unique, and we are only talking about 9 lines -- 3 of which are generic things like braces. It would be pretty easy for a programmer who is adhering to Java conventions to produce identical lines of code without having seen those lines.

      Please resolve this amicably soon. I don't like it when mommy and daddy fight.

      Programming languages should not be ruled by mommy and daddy. You are asking for trouble when you use a programming language whose fate is left to the hands of industry titans.

      --
      Palm trees and 8
  12. Colossal waste... by middlemen · · Score: 2, Insightful

    What a colossal waste of money !

    Oracle and Google waste money on lawyers on such silly functions instead of spending the money on building more useful technology.

    We as users are the only losers in this non-sensical fight.

  13. Re:A high schooler? by chill · · Score: 4, Funny

    And you wrote that comment without once referring to PHP. Bravo!

    --
    Learning HOW to think is more important than learning WHAT to think.
  14. Re:I'm going to patent i=0 by dkleinsc · · Score: 2

    Unfortunately, when you did that, you violated this patent, so all the proceeds of your patent have to go to those guys.

    --
    I am officially gone from /. Long live http://www.soylentnews.com/
  15. Re:A high schooler? by MightyMartian · · Score: 3, Insightful

    It's a range check function. They all look largely the same.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  16. Re:A high schooler? by Barbara,+not+Barbie · · Score: 5, Informative

    It is an exact 1:1 copy. Google is screwed.

    Of course it's an exact 1:1 copy - the guy who wrote it gave it to both Sun AND Android. And if you've been following the trial, Sun never registered a copyright on that specific function.

    Oracle is *SO* screwed.

    --
    Let's call it what it is, Anti-Social Media.
  17. Contest by Chemisor · · Score: 5, Funny

    Ok, let's have a contest. Gather a bunch of high schoolers who have some idea how to program in Java, give them the spec for rangeCheck, and see how long it takes them to write it. The winner takes the prize equal to the damages Oracle is asking for. Bonus points if completed in less than 15 minutes.

    1. Re:Contest by thunderdanp · · Score: 2

      No, de minimis copying wouldn't give rise to copyright infringement. One may argue that what Google copied here is de minimis. However, if a plaintiff can show substantial similarity between the allegedly infringing work and the original work, then yes, the defendant in that case could be on the hook. I don't think a plaintiff in the suit you described would be very successful.

  18. Re:A high schooler? by bistromath007 · · Score: 5, Insightful

    No. Not even a little.

    If the judge's statement is even a half-truth, the code in question checks a number, and passes it somewhere if it's a good number.

    That is what all goddamn code does. A dumb American high schooler could accomplish that in about twenty minutes if you refused to let them leave until they did, because if you aren't doing that, you haven't written a program! A seven year old could probably do it faster; they haven't "learned" yet that they're dumb.

    The lawyer is a disingenuous jackass who assumed that the judge, like him, would see a piece of code and assume it's an arcane fucking ritual without even trying to parse it. He deserves derision.

  19. Re:A high schooler? by Oracle+of+Naples · · Score: 2, Insightful

    You don't need to register copyright. That is only for patents. Since the guy was working for Sun, all his work belongs to Sun/Oracle (unless otherwise stated in contract).

  20. Re:A high schooler? by Anonymous Coward · · Score: 4, Funny

    You idiot! You just caused $2.6bn of harm to Oracle!

  21. Re:A high schooler? by garyebickford · · Score: 3, Insightful

    Nowadays the recommended method of coding is to use variable names and function names that are self-descriptive. Given that, it seems to me that the code is pretty much the natural way anyone might write it. Google did say that they copied it, but really, how else might one write it? It's definitely the level of a first year programming course. The only interesting bits are (IIRC) the use of a ToIndex that is one more than the length, to eliminate a bit of arithmetic in the loop. So were they inclined to dissemble, Google could have claimed that it's just a coincidence.

    --
    It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
  22. Re:A high schooler? by Anonymous Coward · · Score: 5, Insightful

    Not being able to write code doesn't mean you're stupid.

    However, equating them means you're ignorant and arrogant.

  23. Re:A high schooler? by Lunix+Nutcase · · Score: 3, Informative

    You haven't had to register copyrights in the US for decades. Ever heard of the Berne Convention?

  24. Re:A high schooler? by vlm · · Score: 2

    Slashcode ate that all up. F you /. my reply looks like shite also because of that and I can't be bothered to figure out how to post code without it being de-htmlized. Fix that, right after you fix UTF-8 mkay? I checked the link, in psuedocode its:

    fromIndex has to be from 0 to toIndex
    toIndex has to be from fromIndex to arrayLength

    Anybody else see a bug? I donno their array implementation, but it looks like they are zero indexed arrays while also allowing a "array's length" equal to the to index value. Classic noob array out of bounds mistake staring at me.

    Lets make up moron array
    index 0 is first value
    index 1 is second value
    index 2 is third value

    array length is 3, don't believe me, count the lines. I see 3 lines so thats a 3 long array.
    Set fromIndex to 1 and toIndex to 3.
    Does it pass fromIndex GT toIndex? Yes, indeed 1 GT 3 is false so no exception.
    Does it pass fromIndex LT 0? Yes indeed 1 LT 0 is false so no exception is thrown.
    Does it pass toIndex GT arrayLen? Yes indeed 3 GT 3 is false so no exception is thrown
    I'm imagining the next step, something somewhere accesses index 3, runtime says WTF are you doing we're only defined up to 2 here, kaboom.

    Now I don't do java so I donno if GT LT are actually impled GTE LTE in java, or there is some extra code or purpose of this such that array(toIndex) will never be accessed, or there is some extra error code detection that handles out of bounds array access.

    I just thought it was pretty funny looking when looked at completely out of context.
    Like when you see something like lparen x LT 2 vbar vbar x GT 10 rparen and you just know thats a bug because its obviously supposed to be AND not OR and they were probably trying to check an interval.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  25. Re:A high schooler? by betterunixthanunix · · Score: 4, Insightful

    The issue of whether or not an API can be copyrighted has nothing to do with whether or not the judge is a programmer. APIs can be complex, and a lot of design may go into an API (what patterns to expose to programmers, etc.). Some programmers would not even object to APIs being copyrightable; many people use proprietary languages that are implemented by a single vendor, and would not even be affected by such a ruling (unless they also use Java).

    --
    Palm trees and 8
  26. Re:A high schooler? by h4rr4r · · Score: 2

    How would it not be?
    There is nothing creative there. If you had a 100 people do it you would probably get lots of exact copies.

    This guy was working at google when he wrote both by the way. Can you now steal your own copyright?

  27. Re:then why didn't they write it by Anaerin · · Score: 3, Interesting

    It's such a short and simple function that you could conceivably get two different people to write it and they'd end up with exactly the same code. The code reads:

    private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
    if (fromIndex > toIndex)
    throw new IllegalArgumentException("fromIndex(" + fromIndex + ") > toIndex(" + toIndex+")");

    if (fromIndex < 0)
    throw new ArrayIndexOutOfBoundsException(fromIndex);

    if (toIndex > arrayLen)
    throw new ArrayIndexOutOfBoundsException(toIndex);
    }

    There's nothing you could really remove or change about it. Sure, you could put the checks in a different order, but it wouldn't fundamentally alter the code.

  28. Misleading title -- Judge didn't say that! by mattdm · · Score: 4, Interesting

    Title says implies that the judge made the statement about the code being trivial. The judge makes no such claim -- instead, he says that a previous Google witness made that claim. This is a world of difference!

    1. Re:Misleading title -- Judge didn't say that! by shutdown+-p+now · · Score: 3, Informative

      He didn't say the part about "a high schooler", but he did say something that pretty much amounts to the same thing:

      "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. "

    2. Re:Misleading title -- Judge didn't say that! by StormReaver · · Score: 2

      The judge makes no such claim

      The judge most certainly did make the statement that the rangeCheck code was trivial:

      Caleb Garling tweets: "Alsup says he's been writing code since this trial started. He's written rangeCheck code a "100 times". Incredulous Oracle claiming damages...."

      The judge didn't say that a high school student could do it (that was a witness, as the judge mentioned), but he did say it was trivial, and implied that he agrees with the witness:

      "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-- "

  29. Quite right by gweihir · · Score: 4, Insightful

    There is zero inventive value in that function. It is a completely standard approach that everybody writing containers has used hundreds of times.

    This Judge seems to get it.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  30. "I probably couldn't program that in six months." by ibic00 · · Score: 5, Funny

    A truly exceptional lawyer.

  31. The juicy bits by RemyBR · · Score: 5, Informative

    For those of you who don't want to read all the transcript, this is what the judge said:

    Oracle: I think the law with respect to infringer's profits, rather than damages, only requires us to show that there was a product that contained infringing material and that the product produced revenue, and then the burden shifts to the other side. If I'm wrong about that, I still think it's possible to demonstrate a nexus by showing that speed was very important to Google in getting Android out, and by copying they accelerated that.

    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--

    1. Re:The juicy bits by MightyMartian · · Score: 3, Interesting

      It's so beautiful, it makes me want to cry... We should have it carved in a great stone monolith for all to see.

      If only this judge had been around when SCO was trying to claim ownership to the Linux scheduler.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
  32. The eight decompiled files by DragonWriter · · Score: 2

    What does it matter how easy the code was to write?

    Because it goes directly to the claims that it infringing it was the source of a substantial quantity of Google's profits.

    I tried to submit this over the weekend but it wasn't selected. http://www.wired.com/wiredenterprise/2012/05/google-oracle-decompile/ [wired.com]

    "Judge William Alsup ruled that evidence presented during the trial had shown that Google infringed on Oracleâ(TM)s copyrights by decompiling eight Java files and copying them in their entirety for use with Android."

    The decompiled files are a different issue than rangeCheck. Google didn't decompile them, Noser -- a contractor for Google -- did, against the express prohibition in the Google-Noser contract, which required all original work or open-source code, and expressly prohibited copying or decompiling proprietary code.

    I tried to submit this over the weekend but it wasn't selected. http://www.wired.com/wiredenterprise/2012/05/google-oracle-decompile/

    "Judge William Alsup ruled that evidence presented during the trial had shown that Google infringed on Oracleâ(TM)s copyrights by decompiling eight Java files and copying them in their entirety for use with Android."

    1. Re:The eight decompiled files by SydShamino · · Score: 3, Funny

      It doesn't really matter who decompiled the files. The point is that they were decompiled and copied.

      If I hire you to go buy me a car and you do so I pay you for it. If it turns out you stole the car, should I get to keep it?

      That also leaves the question of whether that contractor, or other contractors had violated Sun/Oracle copyrights in less obvious ways.

      You have the analogy all messed up. Google has already stopped using this code, so in your analogy they've already stopped using the car and given it up.

      Instead, what happened was Google hired Noser to buy them a car, and in the contract specified that the Noser was absolutely not allowed to steal the car. Noser stole it anyway, and when Google found out they stopped using it. Later, Google was sued by Oracle, who didn't actually own the car when it was stolen but bought it later. This suit wasn't to stop Google from using the car any longer, but to seek billions in damages for misuse of the car during a time that Google thought they owned it (due to deception by Noser) when Oracle didn't actually own it, either.*

      --
      It doesn't hurt to be nice.
    2. Re:The eight decompiled files by MightyMartian · · Score: 2

      Oh for fuck's sakes. It's a range check function. Jesus, you'd think it contained the cure for cancer the way Oracle goes on. Even if there are damages, they are going to be absurdly small, so small that any victory at this point for Oracle is very much Pyrrhic. Google has won the important war.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    3. Re:The eight decompiled files by niado · · Score: 2

      I haven't read all the details of Boch's testimony, but if I had to guess I would surmise that the range check function is something the poor guy keeps in a TXT file with a bunch of other routine things that he has to copy and paste a lot while doing work. He was probably working on Java and was like 'oh, need a rangecheck function AGAIN, let me paste in the one I always use!' and then did the same for Dalvik.

      I would argue this is a legitimate practice, as the code for that particular function should not be copyrightable in the first place.

    4. Re:The eight decompiled files by DragonWriter · · Score: 4, Funny

      So this guy's never heard of a the subtroutine concept?

      I've never heard of the subtroutine concept! What's that, when a bigger fish calls a smaller fish to perform a function required by the bigger fish?

  33. Re:A high schooler? by CrimsonAvenger · · Score: 4, Informative

    Google did say that they copied it, but really, how else might one write it?

    Espically when you consider that the programmer who "copied it" for Google is the programmer who originally wrote it for Sun....

    --

    "I do not agree with what you say, but I will defend to the death your right to say it"
  34. Re:A high schooler? by denobug · · Score: 2

    You cannot copyright logic or match. Range check is pretty much what it is. The function/method exist before Java was first created. If someone don't know how to write code similar to this (at least in a simpler function) they shouldn't be holding a programming job.

  35. Re:A high schooler? by WaywardGeek · · Score: 5, Insightful

    Oracle's lawyers are being brilliant at what most lawyers do well: make insanely stupid arguments in order to run their clock as long as possible. It's not about justice. It's about that new yacht Oracle's head lawyer is saving up for. Those nine lines of code might be worth only $20, but the lawyers are making a killing.

    --
    Celebrate failure, and then learn from it - Nolan Bushnell
  36. Re:A high schooler? by daniel78 · · Score: 5, Informative

    Google pretty much admitted it was copied - claiming it was accidental (the same guy wrote it for Oracle and later, Google). It has since been replaced. The jury - completely reasonably - found that it infringed. This is no longer in debate

    The question is whether it is worth anything.

    Google says no. Oracle's own expert witnesses said no. The judge - who has apparently revealed he is a programmer - says no. Oracle are arguing it's worth millions.

    Someone is desperate here, and its not Google

  37. No wonder Gore lost by srussia · · Score: 4, Funny

    That "Oracle lawyer" is none other than David Boies.

    --
    Set your phasers on "funky"!
  38. Been waiting for this to hit /. by sl4shd0rk · · Score: 3, Insightful

    I've been following the Oracle vs Google trial on other websites. Not sure why /. hasn't been covering it routinely. It's a pretty big deal not just to Google , but there are some issues being judged which may affect the programming community in general, down the road.

    Alsup seemed to be a little perturbed with some of Oracle's ploys to captialize on the assumed "programming ignorance" of the jury. I haven't seen the RangeCheck code, but from Alsups statement it sounds like Oracle is trying to make a case from egregiously far-reaching evidence. One which basically means Oracle doesn't, and never had, much of a case to begin with.

    --
    Join the Slashcott! Feb 10 thru Feb 17!
    1. Re:Been waiting for this to hit /. by shutdown+-p+now · · Score: 2

          private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
              if (fromIndex > toIndex)
                  throw new IllegalArgumentException("fromIndex(" + fromIndex +
                             ") > toIndex(" + toIndex+")");
              if (fromIndex < 0)
                  throw new ArrayIndexOutOfBoundsException(fromIndex);
              if (toIndex > arrayLen)
                  throw new ArrayIndexOutOfBoundsException(toIndex);
          }

  39. Re:A high schooler? by Volante3192 · · Score: 2

    What's logical and what's legal per the law ain't ever exactly been similar.

  40. Re:A high schooler? by Anonymous Coward · · Score: 2, Insightful

    You must register copyrights if you wish to sue for punitive damages (eg: damages that are in excess of your loss because the intent of the damages is to send a message to anybody else who infringes on your copyright). If you have not registered your copyright, then you are only allowed to sue for compensatory damages (eg: the damages that have affected you directly).

    In this case, Oracle has apparently not registered the copyright yet (there is nothing stopping them from doing so now or in the future and suing again), so they can only sue Google for compensatory damages, which in this case, as the judge pointed out, is over a rangeCheck function that literally every programmer that has ever done any non-negligible work has done. That means that the losses Oracle suffered as a result of Google's alleged infringement (9 obvious lines of an obvious function, to me, is not infringement) are likely zero or not worth suing over (being next to zero).

    The only complications are that those 9 lines were written for Sun, and then for Google, by the same person. That is the only infringement theory available, because in the US you have to use clean-room reverse engineering; you cannot just hire somebody to reimplement something they did for your competitor (unless you're Microsoft and you are reimplementing the NTFS filesystem and the WinNT kernel as "brand new" and "original" technology). So, once Oracle registers the copyright, Google will need to hire somebody to clean-room reverse engineer the rangeCheck function, which should consist of the guy who originally wrote it staring at his code on one side of a wall and talking to another engineer (who has never seen the rangeCheck function code) writing code on another computer about the purpose of the function, possible tests and results for the function, and basically describing the function in every way except going through the algorithm explicitly.

    So, once Oracle registers for the copyright, Google will do this (it would take, literally, more time to setup the clean room than to actually implement the function appropriately), and the Dalvik code, including the rangeCheck function will be available to anybody and everybody under whatever license Android is under (read: free to use and modify by anybody in the world). In other words, Oracle is damned if they do sue, and damned if they don't sue. They are losing, and will lose, this fight completely, but they will have shot themselves in the foot because now companies are afraid to use Oracle's Java over patent and copyright concerns (because Oracle is an asshole company run by an asshole). It's a good day to be IBM, Google, and Microsoft because your platforms are looking more legally bulletproof by the minute.

  41. Re:A high schooler? by dan828 · · Score: 4, Insightful

    Having lived in a lot of places in the world, I can assure you that Americans are no stupider than people anywhere else.

  42. Re:A high schooler? by amicusNYCL · · Score: 2

    Nowadays the recommended method of coding is to use variable names and function names that are self-descriptive. Given that, it seems to me that the code is pretty much the natural way anyone might write it.

    It seems like someone would copy something like this because it's so simple enough that you would end up writing the same thing, so instead of spending the minute to do that you might as well just copy it and move on. Sort of like how Javascript lacks an Array.indexOf method to find a certain item in the array. I could spend the minute or two to write and test that loop myself, or I could spend 30 seconds looking it up on Google and using what I find there. Either way it's going to be the same thing, a loop that runs through the array looking for the item. The rangeCheck function is just a pair of if statements that compare one number with 2 others. As G.W. Bush would say, this isn't rocket surgery.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  43. Re:A high schooler? by ewanm89 · · Score: 2

    well, they'll certainly be very similar, they would probably end up the same if you instructed them to follow certain code conventions on variable names and the like.

  44. Re:A high schooler? by Lisias · · Score: 3, Funny

    To tell you the true, this gives us a clear hint about Oracle's future.

    SCO did exactly the same thing in the past - but, honestly, I think SCO's lawyers did a better job.

    --
    Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
  45. Re:then why didn't they write it by AngryDeuce · · Score: 5, Insightful

    Because to do it differently would be to make the code worse. Go to your local hardware store, and look at the hammers. Despite many different manufacturers, they all look and function basically the same. The reason why is because mankind worked out the most efficient hammer design a long time ago and there is nothing left to innovate there.

    Imagine how retarded competitor's hammers would have to be designed to get around a patent like the one Oracle is asserting here. This is why there is so much folly in patenting something so elementary, like 'slide to unlock', or a range check.

  46. Re:A high schooler? by snowsmann · · Score: 3

    No need to be so pedantic. Regardless of the binary-ness of the situation, there is still always an analog component. For something to become binary there needs to be a threshold, a majority has it's threshold set to 50%. If one then passes the threshold, but barely, then one could say that there is "barely a majority". This concept can be extended to vast majority (i.e. ~75%) and what I meant with vast vast majority is that some percentage (well over 50%) of Americans fall into that category. Probably asymptotically approaching 100% given the way the World populace is headed...

    Btw, not all programmers are computer science/information theory types. There are those of us who are real electrical engineers who realize that a transistor has infinite states and it is only a simplification that we see it as binary; greatly reducing the complexity of computer style circuit design.

    --
    timeo Danaos, et dona ferentis
  47. Re:A high schooler? by Guspaz · · Score: 2

    bool rangeCheck(int value, int lowerBound, int upperBound)
    {
        return value >= lowerBound && value <= upperBound;
    }

    So, Oracle is suggesting that Google would rather copy something like this to save time than spend the thirty seconds to type it out themselve? OK, sure, the Java one is 9 lines long, not one line long, because it has some exception handling, but seriously...

  48. that was far too kind by sribe · · Score: 4, Insightful

    It's well within the grasp of most middle schoolers, and it wouldn't take long to find an elementary school child who could write it ;-)

  49. Re:A high schooler? by Ihmhi · · Score: 3, Funny

    And the other half coulda banged out the code in binary using a toy xylaphone in pre-school.

  50. Re:A high schooler? by Anonymous Coward · · Score: 3, Funny

    I know right.

    Why I bet that half of the population of America is below average even.
     

  51. Re:none other than by TaoPhoenix · · Score: 2

    I wanna know whether David Bowie could programs those nine lines faster than David Boies.

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  52. Re:A high schooler? by Mike+Buddha · · Score: 4, Funny

    You sir, are incorrect. By copying this software that would have taken a lawyer 6 months to write, they were able to gain an unfair 32 seconds on the rightful coder Oracle.

    --
    by Mike Buddha -- Someday the mountain might get him, but the law never will.
  53. Re:A high schooler? by MightyMartian · · Score: 4, Informative

    J2ME is a pretty feature-limited version of Java. It certainly was never going to be suitable on the mid to high end smartphones. Pretty much every smartphone out there now is perfectly capable of running the full-blown JRE out of the box. In other words, with or without Dalvek, mobile Java editions are a fading proposition.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  54. Re:A high schooler? by jbengt · · Score: 5, Informative

    SCO had the same lawyer.

  55. Re:Ya but... by Eponymous+Hero · · Score: 2

    lame troll attempt? patents have to describe a process that isn't obvious. range checkers for any language have a very limited number of ways they could be implemented efficiently, and are thus obvious.

    --
    insensitive clod overlords obligatory xkcd car analogy russian reversals whoosh pedant fanbois ftfy in 3...2...1..PROFIT
  56. Re:A high schooler? by secret_squirrel_99 · · Score: 4, Interesting

    To tell you the true, this gives us a clear hint about Oracle's future.

    SCO did exactly the same thing in the past - but, honestly, I think SCO's lawyers did a better job.

    In what way? Oracle is the 2nd biggest software house on the planet, the clear leader in several verticals and makes and/or sells literally hundreds of products. Which of these things in even a remote way, describes SCO?

    --
    If privacy had a tombstone it would read "We did it for your own good" . -- John Twelve Hawks
  57. Re:A high schooler? by alonsoac · · Score: 2

    There are all kinds of majorities defined for things like voting for laws in parlament. Some types of laws require bigger majority, one could say a vast majority, to be approved. A programmer should be aware of these real-world situations and code appropiately.

  58. Re:Oracle is abusing the courts by spacepimp · · Score: 4, Insightful

    This case is about how Oracle can monetize Java. They spent 6 billion dollars on Sun and what Google is doing without direct compensation to Oracle devalues Java. This is the first step of many by Oracle to force profits from their purchase. Ellison is fairly adept at making money, and doesn't seem concerned about whether or not he is liked. This first case of making the Sun purchase pay for itself is not going in his favor currently.

  59. Re:Hired Help by squiggleslash · · Score: 2

    You're talking about a different copyright infringement.

    In the rangeCheck instance, there was actually no copying involved. The author of the piece made the mistake of assigning copyright to Sun for the work after submitting it for inclusion in Java. He later then used the same code - that he'd written - into the Android libraries.

    Let that be a lesson to anyone who is willing to assign copyright for unpaid work to a corporation. Even if it's a nice friendly, non-evil one like Sun. The non-evil ones sometimes get eaten by the thoroughly evil.

    --
    You are not alone. This is not normal. None of this is normal.
  60. Re:A high schooler? by Darinbob · · Score: 2

    Which is exactly why Boies says he couldn't program it in 6 months. He needs more billable hours than that! Only chumps like poor high schoolers would write it more quickly.

  61. Oracle surrenders? by DragonWriter · · Score: 4, Informative

    Google pretty much admitted it was copied - claiming it was accidental (the same guy wrote it for Oracle and later, Google).

    Actually, its not the "the same guy wrote it for Oracle and later, Google". It wasn't written twice.

    Its that the Google employee who wrote it on his own time both included it in the Android source tree and contributed to to the OpenJDK (including the required copyright assignment.)

    The question is whether it is worth anything. Google says no. Oracle's own expert witnesses said no. The judge - who has apparently revealed he is a programmer - says no. Oracle are arguing it's worth millions.

    Actually, Oracle's pretty much given up on that, too. In a joint stipulation filed today, Oracle has agreed to waive both jury trial and its claim for actual damages and infringers profits on the copyright claims for which liability has already been found if the API SSO issue isn't resolved in its favor, and accept statutory damages for rangeCheck and the decompiled files.

    1. Re:Oracle surrenders? by DragonWriter · · Score: 2

      The argument is not about the 9 lines of code

      Part of it is, part of it isn't.

      the lawyer isn't a coder,

      Well, he certainly claims not to be a "Java expert"; whether he is a coder or not is, I don't think, a point on which there is much basis to make a conclusion, nor is it particularly relevant in any case.

      the idea is that Google copied the original java to get an idea on how the VM worked.

      No, its not (well, not in the copyright portion of the trial) because ideas aren't protected by copyright, and not even Oracle's lawyers -- as close to it as they come with the API SSO issue -- are going to try to outright make "they stole our idea" the basis for a claim for copyright liability, since even the most clueless federal judge imaginable would have to throw out that argument.

      (Obviously, there claim is that specific ideas were stolen in the patent phase, but that's a whole different ball of worms. And, no, the mixed metaphor is not accidental.)

      They also aren't making the argument you suggest since, aside from ideas not being so clearly outside the scope of copyright protection that not even BS&F would try that argument, the decompiled files at issue aren't part of the VM at all, but part of Sun's compatibility test suite.

      The 9 lines of code, by the way, aren't even the same issue as the decompiled files -- the 9 lines of code are code that a Google employee wrote and contributed both to Android and OpenJDK, and have nothing to do with the 8 files decompiled by Noser while under contract to Google.

      PS = IMNAL but IRTFA:

      Assuming the obvious interpretation of the acronyms there, I must point out that "read" and "understood" are two different things.

  62. Re:A high schooler? by uncqual · · Score: 4, Funny

    Oracle being handed their balls on a platter over this.

    I have the feeling that the judge may even order them run though a meat grinder before returning them to Oracle on said platter.

    --
    Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
  63. Re:A high schooler? by GofG · · Score: 2

    Never hire?

    Oracle's lawyer is David Boies, who is widely reputed to be the best lawyer around today. He did Microsoft vs United States, he did Justice Department vs IBM, he did Bush vs Gore (!!!!!!!!!!!!).

    --
    GFA/M/S d-- s: a--- C++++ UBL++$ P+ L+++ !E- W++ N+ !o K- w--- !O !M !V PS++ PE Y+ PGP+ t+++ 5- X+ R tv@ b++ DI++++ D+ G
  64. Re:"I probably couldn't program that in six months by Jeng · · Score: 2

    I know absolutely jack shit about programming, but I am fairly certain that if I went to school for six months to learn how to program that it would be trivial for me to write that function.

    The concept is just so simple that even I get it.

    --
    Don't know something? Look it up. Still don't know? Then ask.
  65. Re:Google's Lawyer Says Otherwise by squiggleslash · · Score: 2
    Uh, yeah. I'm sure about that. Google's lawyer's comments really don't relate to the history of this, they're just convenient off-the-cuff wording.

    From a copyright point of view, yes, there was copying because the author of the code was not the copyright holder. From an actual copying point of view, there wasn't, because the author of the code was the author of the original.

    --
    You are not alone. This is not normal. None of this is normal.
  66. Re:A high schooler? by Hognoxious · · Score: 2

    He knows. I know. Everybody knows.

    The point is that if Orible lose, Larry's armada will sally forth and sink the shyster's new toy.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  67. Re:A high schooler? by Hognoxious · · Score: 3, Funny

    Sort of like wml. Before it could fix bayonets and form a defensive square Moore's cavalry had ridden right over it.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  68. Re:A high schooler? by hey! · · Score: 5, Interesting

    J2ME is a pretty feature-limited version of Java

    Well, having spent a number of years watching J2ME, I'd say the problem wasn't that J2ME was feature limited. I had things I could do even in MIDP that were quite useful, to say nothing of the Personal Basis Profile.

    As an early app developer, we had two concerns with J2ME: how to get our app in our users' hands, not getting tied to a particular carrier (and thus losing access to corporate customers who used different carriers) or even handset. You got your J2ME SDK from the handset vendor and the handset vendors were the mobile carriers' slaves. The same phone would have different capabilities on different carriers because they deleted features the carriers didn't want (for price positioning or because the features conflicted with the carriers' laughable ambitions to become content companies).

    When Apple came along with the iPhone, they did three important things. First, they didn't take any crap from the carrier (AT&T), they defined the product themselves. Second, they made it possible to run an app on any iOS device (originally just the iPhone, but later the iPod Touch too). Third, they had a simple mechanism for getting your app into the customer's hands. That made it possible to create a successful product for iOS in a way it had never been possible in J2ME.

    I believe the fact that it Apple made it easy to sell apps for iOS is what is responsible for the success of attracting developers to the platform early on. It wasn't some kind of Apple UI secret sauce, although touch screens standard was a big advance. J2ME could have been an entrenched mobile standard years before the iPhone came out, if Sun had only taken steps to create a market (not necessarily an app store) for developers to target.

    Then Android came along, and it was everything I'd ever hoped for: well thought out, robust, open source, feature-rich, vendor independent, even *app store* independent. But by then I was out of the business.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  69. Re:A high schooler? by the_B0fh · · Score: 3, Informative

    Please. Boies was the lead lawyer in the Microsoft monopoly trial - against Microsoft. He was one of the best trial lawyers to break up illegal monopolies then.

    Lawyers argue for the side that is paying for them. Just like everyone else - you do the work you're paid to do.

  70. Re:A high schooler? by Anpheus · · Score: 2

    On the contrary, they could be negatively affected if all those proprietary languages which are locking them in cannot be re-implemented under the force of law. Those proprietary languages right now have to stay competitive knowing that high prices would encourage an alternative to enter the market. To put it another way, if Microsoft doubled the price of Windows, they might retain enough users to make more money, but they'd also risk a flight to WINE, and I guarantee you a lot of those potential customers, particularly large businesses, would look at moving away from a dependency on Win32/Windows. Now imagine if Microsoft didn't have to worry about the competitive pressure of WINE, and no one else could legally duplicate Win32?

    Now, of course, Microsoft has other competitive pressures, and their price choice is probably not dominated by the potential for competition, but for niche programming languages and environments, I would guess they are. My friend, an economics major, was faced with the potential of having to spend $500 for a single user license for some very niche regression analysis software that had a particular API and programming language. If they can get away with charging college students and academics $500, they must not be overly concerned with competition. A ruling on the copyrightability of APIs in favor of Oracle would make it so they wouldn't have to worry about any competitors claiming "compatibility" with their software.

  71. Bloch worked (works!) for Google, not Noser by DragonWriter · · Score: 2

    Bzzt. Wrong.

    Only a Google employee in the sense that he worked for a 3rd party firm (Noser Engineering AG) Google hired to help create Android.

    No, not at all. Josh Bloch worked for Google as Chief Java Architect (not for Noser) when he wrote rangeCheck (and still works for Google in the same role.) You seem to be confusing rangeCheck with the 8 decompiled files, which were done by Noser Engineering AG. Those are the two independent issues on which copyright infringement has been found in Oracle v. Google.

  72. Re:A high schooler? by Teancum · · Score: 2

    Because of the complexity of the case and the amount of time being spent on discussing programming concepts, the judge decided to take some personal time and learn how to program. In other words, he learned how to code while he was adjudicating the case.

    I am impressed by somebody in a position like his taking that effort, and it shows not only the intelligence of the judge but that he was trying to apply the principles he was learning about in the course of the trial. I don't think there is any indication that the judge had studied or knew much about coding prior to the trial, but it does show that he is trying to make extra effort to understand the issues involved.

    I admired the extra effort that Judge Jackson did with the DOJ v. Microsoft case where he went out of his way to explicitly try to remove Internet Explorer from his computer and noted how difficult Microsoft had made the task. I could name a few other examples but it is a rare judge to make that kind of effort.

  73. Doh! by ikedasquid · · Score: 4, Funny

    ummm...I wouldn't submit this for peer review just yet.

  74. Re:Google's Lawyer Says Otherwise by DragonWriter · · Score: 2

    Misreading on several points.

    To quote Google's lawyer in court today:

    Your post ws posted at 2:57pm on Wednesday, May 16; the article you link to was posted on (and transcribes court discussions that occurred on) Tuesday, May 15. So, "today" probably isn't the word you are looking for.

    More importantly, you've confused Oracle's lawyer with Google's. I've broadened the excerpt that you provided to include the part that shows who is talking (material that was excluded from your excerpt is bolded):

    Oracle: I'm not an expert on Java -- this is my second case on Java, but I'm not an expert, and I probably couldn't program that in six months. Let me come back to rangeCheck after I've reminded the Court about the test files.

    These test files were created by decompiling the Oracle code -- Sun code. That was not an accident, and not something they did by mistake. They did it intentionally, and they did it for the purpose of saving money, or time, or both. You can't look at those decompiled files and say there's no meaning in that; it accelerated Android, that's why they did it.

    [PJ: Let me remind everyone that the testimony was that a contractor, Noser, did it, and it did it contrary to specific instructions from Google.]

    Let me come back to rangeCheck. Every time I talk about this, I feel like I'm either saying it's important or it's not important. That's a false dichotomy. No one can say it's a big thing. But it was something that was copied, and it was important to TimSort, which had a significant performance advantage.

  75. Re:A high schooler? by inode_buddha · · Score: 2

    He's also SCO's lawyer. He doesn't actually give a damn about the tech, its about the money. Which is why he made SCO pay millons up front. That way, he gets rich no matter how stupid he has to look in court. Seriously - subscribe to groklaw and you'll be amazed how US law works. Much like constant code refactoring by idiots.

    --
    C|N>K