×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Judge to Oracle: A High Schooler Could Write rangeCheck

Unknown Lamer posted about 2 years ago | from the larry-ellison-sues-every-cs101-student dept.

Android 478

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.

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

478 comments

A high schooler? (-1, Flamebait)

PowerRangers (2640847) | about 2 years ago | (#40018175)

I was programming when I was 7 years old. How stupid are Americans?

Re:A high schooler? (3, Insightful)

Anonymous Coward | about 2 years ago | (#40018225)

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?

Re:A high schooler? (5, Insightful)

MightyMartian (840721) | about 2 years ago | (#40018353)

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.

Re:A high schooler? (-1, Troll)

snowsmann (313238) | about 2 years ago | (#40018227)

I am an American. I could have written this when I was 8 or 9 when I started playing with QBasic and all that shit. Not all Americans are stupid. Just the vast vast majority.

Re:A high schooler? (5, Insightful)

Anonymous Coward | about 2 years ago | (#40018491)

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

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

Re:A high schooler? (-1, Troll)

snowsmann (313238) | about 2 years ago | (#40018523)

No equating...just pointing out a correlation. Most of America is stupid. Most of America can't code. You assumed I implied causation.

Re:A high schooler? (1, Insightful)

Registered Coward v2 (447531) | about 2 years ago | (#40018667)

I am an American. I could have written this when I was 8 or 9 when I started playing with QBasic and all that shit. Not all Americans are stupid. Just the vast vast majority.

Many of whom would realize there is no such thing as a vast vast (or even vast) majority. A programmer should realize majority is a binary state, either a 1 (it is) or 0 (it is not).

Re:A high schooler? (2)

Galestar (1473827) | about 2 years ago | (#40018229)

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

Re:A high schooler? (1)

ByOhTek (1181381) | about 2 years ago | (#40018239)

So was I, and I'm an American. Also, how old are you?

Can you say everyone, or even the majority, of those in your country started programming at seven? What about in older age groups? ... No? How stupid are people in your country?

If you don't need to, or aren't interested in it, not being able to program isn't a bad thing. There are reasons for the whole 'justice is blind [and ignorant]" in the US. In some cases, it certainly will bite us, but in others, it also helps because it prevents bias from preconceptions (which can be very wrong).

Re:A high schooler? (5, Insightful)

bistromath007 (1253428) | about 2 years ago | (#40018469)

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.

Re:A high schooler? (5, Insightful)

Soilworker (795251) | about 2 years ago | (#40018257)

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

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

        }
}

Re:A high schooler? (-1, Redundant)

Oracle of Naples (2640867) | about 2 years ago | (#40018321)

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

Re:A high schooler? (5, Informative)

Barbara, not Barbie (721478) | about 2 years ago | (#40018431)

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.

Re:A high schooler? (3, Insightful)

Oracle of Naples (2640867) | about 2 years ago | (#40018481)

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

Re:A high schooler? (0)

Anonymous Coward | about 2 years ago | (#40018591)

So, they're claiming they have a patent on range checking?

Re:A high schooler? (1)

Anonymous Coward | about 2 years ago | (#40018517)

Even if true, the question becomes, "how much did those nine lines unjustly benefit Google?" Based on the judge's commentary, it seems he is leaning toward "not much." I tend to agree: the function is not some absurdly complex bit of logic that would have required millions of dollars in R&D to produce, and any infringement is simply the result of a lazy coder who copied/pasted instead of spending fifteen minutes writing the function out him/herself.

Oracle may have a valid case on its merits, but their valuation of damages is insane. They should have taken Google's settlement offer, because this judge is going to destroy their position.

Re:A high schooler? (2)

h4rr4r (612664) | about 2 years ago | (#40018619)

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?

Re:A high schooler? (0, Funny)

Anonymous Coward | about 2 years ago | (#40018411)

Hello. By posting this, you have violated the copyrights of my company. Because of this, and the profits you will no doubt receive from this theft, we demand reparations of the sum of $1,250,000.51.

Please await your court summons in the mail.

Please have a pleasant day!

Re:A high schooler? (0)

Anonymous Coward | about 2 years ago | (#40018455)

I probably couldn't have written this in 5 seconds, but 7-10 minutes would be reasonable, including all design, compiling, plus all unit testing causing the two exceptions to throw and a sample that doesn't throw either exception.

It's pretty obvious they copied it (variable names are exactly the same). Now the question is whether or not, as a matter of law, this small piece of code should fall under copyright. The method is so simple, and has such a limited scope that there aren't really any other ways to write this.

Re:A high schooler? (4, Funny)

Anonymous Coward | about 2 years ago | (#40018487)

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

Re:A high schooler? (3, Insightful)

garyebickford (222422) | about 2 years ago | (#40018489)

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.

Re:A high schooler? (4, Informative)

CrimsonAvenger (580665) | about 2 years ago | (#40018741)

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

Re:A high schooler? (2)

vlm (69642) | about 2 years ago | (#40018557)

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.

Re:A high schooler? (0)

Anonymous Coward | about 2 years ago | (#40018615)

COPYRIGHT belongs to the author.

SAME PERSON WROTE BOTH and shared them with SUN and Android.

Sun didn't move the copyright from the author.

Re:A high schooler? (0)

Anonymous Coward | about 2 years ago | (#40018629)

Let's weigh the merits of this case. Say we have a developer who gets paid $40/hr, and Oracle is suing for $2.6bn...

rangeCheck(40,0,2600000000);

Re:A high schooler? (4, Informative)

tpstigers (1075021) | about 2 years ago | (#40018295)

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

Re:A high schooler? (1)

cronot (530669) | about 2 years ago | (#40018471)

This. As PJ points out on Groklaw, although the judge alledgedly does code, he still seems to be having a hard time deciding whether APIs can be copyrighted. I wonder if he "does coding" on Basic... :-P

Re:A high schooler? (4, Insightful)

betterunixthanunix (980855) | about 2 years ago | (#40018577)

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

Re:A high schooler? (2)

zero.kalvin (1231372) | about 2 years ago | (#40018307)

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!

Computer access (1)

betterunixthanunix (980855) | about 2 years ago | (#40018349)

I did not even have access to a computer until I was 11; it is not always a question of stupidity. That being said, I am pretty sure that some time shortly after I started programming, I wrote a function like rangeCheck (although in C, so using return values instead of exceptions). This is not an issue of age; someone with two weeks of programming experience could have written that function.

Re:Computer access (1)

MightyMartian (840721) | about 2 years ago | (#40018435)

Absolutely. The only difference between one language to another would be exactly how you produce an informative fail. In C, as you say, you return some sort of failure code. In a lot of higher level languages you throw an exception. There is nothing in this code that is innovative or spectacular. It's the kind of range check function that programmers have been implementing for decades.

Re:A high schooler? (0)

Anonymous Coward | about 2 years ago | (#40018447)

There were no personal computers around when I was a kid. I was in high school before the first personal computers not to mention access to mainframe computers were given to me. So this judge says "high school" and you go half cocked acting like computers have been around since the stone age. Get a real life and think outside the box every once in a while.

Re:A high schooler? (1, Funny)

h4rr4r (612664) | about 2 years ago | (#40018735)

Calm down Grandpa, go take a nap. We all know you had to fight the dinosaurs to get to the mainframe and make punch cards out of leaves of now long extinct flora. These days though this really is the sort of thing a little kids has access too, not everyone on earth can always remember what life was like at such a primitive time.

Re:A high schooler? (0)

Anonymous Coward | about 2 years ago | (#40018593)

"A highscooler could code that" does not imply "anyone younger than a highschooler cannot code that"

Re:A high schooler? (1)

c00rdb (945666) | about 2 years ago | (#40018599)

Is it just me or does pretty much every story on here turn into America bashing lately? Seriously its getting old. Yeah there are problems, just like every single country. We don't need to turn every article into exaggerating that its the worst country in the world.

Re:A high schooler? (1)

meerling (1487879) | about 2 years ago | (#40018625)

I started programming when I was in high school. It was the first time in my life I had access to a computer. About a half dozen of us worked together to figure out how to program the computers, since there were no classes for it and nobody at the school had any idea how use them either. If you are wondering why I didin't just google it, Google.com didn't exist. For that matter, neither did the internet, and aarpanet wasn't available to civilians, much less curious teenagers.

You either forget that access to computers as a fairly ubiquitous thing is very very new. If you want to look at anyone 30+ there is a distinct possibility that they didn't have the opportunity to play with computers until they were adults. There are still plenty of school districts that don't have computers available for the students to use, much less an actual class. And even if they do have computers available for the students, it may be less than would be required for a single class, much less the entire student body.

I think you should re-evaluate your question. You've had an opportunity that many people don't, and that in no way makes them stupid. Though your ignorance of those circumstances, or your out of hand dismissal of that reality, in way shows signs of intellect on your part. Though I can say it shows a distinct lack of critical thinking skills and manners.

Re:A high schooler? (1)

meerling (1487879) | about 2 years ago | (#40018711)

Drat, my keyboard is dropping stuff, the battery is low. And yeah, rangecheck is nothing special, we were doing those same things back in the 80s. We wrote them ourselves in less than 10 minutes since they were simply on requirement our programs were required to do when we got our daily assignments. Also, the smaller any chunk of code is, the more it tends to resemble any other small chunk of code that does the same task. (It's like asking a group of people to write a sonnet, each will be very different. Then asking those same people to write a list of vowels, most of them will look exactly alike.)

5 Seconds (5, Funny)

Githaron (2462596) | about 2 years ago | (#40018187)

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.

Re:5 Seconds (5, Funny)

SailorOrion (2628783) | about 2 years ago | (#40018259)

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

Re:5 Seconds (0)

Githaron (2462596) | about 2 years ago | (#40018333)

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

That is a different problem domain which uses a different scale of time intensity.

Re:5 Seconds (1)

Anonymous Coward | about 2 years ago | (#40018521)

Thanks for the killing the joke, Githaron.

Re:5 Seconds (3, Insightful)

ByOhTek (1181381) | about 2 years ago | (#40018269)

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

Re:5 Seconds (1)

Githaron (2462596) | about 2 years ago | (#40018351)

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

True. Although, I was making the generous assumption that the "infringed" code was already pulled up.

Re:5 Seconds (5, Funny)

Anonymous Coward | about 2 years ago | (#40018393)

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?

Re:5 Seconds (1, Redundant)

Soilworker (795251) | about 2 years ago | (#40018317)

5 Seconds sound like the real thing: from http://news.ycombinator.com/item?id=3940683 [ycombinator.com]

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

                }
}

Re:5 Seconds (1)

LiENUS (207736) | about 2 years ago | (#40018359)

It looks like the lawyer is arguing it saved them a day or two and that since google is making $3 million a day on android that that is $6 million google wouldn't have had if they didn't steal rangeCheck. The judge then points out that as you say... it saved 5 seconds.

Re:5 Seconds (0)

Anonymous Coward | about 2 years ago | (#40018383)

Because 5 seconds make all the difference.

Try telling my girlfriend that

Re:5 Seconds (0)

Anonymous Coward | about 2 years ago | (#40018451)

4-5 = -1

Poor, poor girl.

6 Months for Range Check?!?!?! (4, Insightful)

Gr33nJ3ll0 (1367543) | about 2 years ago | (#40018241)

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

Re:6 Months for Range Check?!?!?! (0)

Anonymous Coward | about 2 years ago | (#40018651)

I don't know.

They're actively ignoring a longstanding security issue, claiming massive legacy DB breakage, yet will be fixed in the newest release of Oracle DB; 12 I think. You could call that innovative marketing, suggesting people upgrade for security reasons, however I'm gonna go out on a limb here and call it bleghhhh.

Faster (1)

Murdoch5 (1563847) | about 2 years ago | (#40018249)

How much slower would it really have been, one day? Even less? rangeCheck from the sounds of it is a quick sit down, sip coffee, program it up and walk away method. I'm not sure that the act of copying it saved any amount of time that in the true sense of a marketing would matter. If they had copied a method which computed the inverse matrix of an image that then could be used to unlock a phone I would see the point.

Calling rangeCheck into question is like bringing a student to court for using compair() in C, anyone could write it but it's so simple no one does.

Re:Faster (0)

Anonymous Coward | about 2 years ago | (#40018343)

If they had copied a method which computed the inverse matrix of an image that then could be used to unlock a phone I would see the point.

That can be done in an hour.

Re:Faster (0)

Anonymous Coward | about 2 years ago | (#40018363)

for using compair() in C.

What is this "compair" you speak of?

Re:Faster (0)

Anonymous Coward | about 2 years ago | (#40018377)

Calling rangeCheck into question is like bringing a student to court for using compair() in C, anyone could write it but it's so simple no one does.

Most people who try to use compair() in C can't spell.

Finally! (1)

Anonymous Coward | about 2 years ago | (#40018275)

If all judges, lawyers, and legislators knew how to write maintainable code, the law would be much simpler.

The refactoring sessions would be amazing.

Re:Finally! (1)

garyebickford (222422) | about 2 years ago | (#40018567)

Law can be viewed as an attempt to impose/construct a partially-complete logical system for managing interpersonal conflict. Of course, the language in which it is written is rife with ambiguity and other issues. So in principle, lawyers (which includes pretty much all judges and at least 1/2 of legistlators IIRC) should be able to follow along pretty easily.

Of course any attempt to impose a rational system (much less a logical one) on reality will suffer from Incompleteness.

And... (0)

Anonymous Coward | about 2 years ago | (#40018283)

The people rejoiced!

English as a second language summary? (5, Insightful)

Anonymous Coward | about 2 years ago | (#40018309)

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

Re:English as a second language summary? (2)

MozeeToby (1163751) | about 2 years ago | (#40018581)

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.

Re:English as a second language summary? (1)

Anonymous Coward | about 2 years ago | (#40018583)

There is a range check function in both Java and Dalvik. They look more-or-less the same, because it's a three-line range check function.

Oracle's lawyer says that the function would take six months to write, and Google plagiarized it.

The judge points out that writing this is a five-minute task at most.

If a lawyer reuses a document... (0)

Anonymous Coward | about 2 years ago | (#40018315)

A lawyer will likely handle similar cases over their career. In doing so, they will very likely reuse some of all of documents over and over. The initial version of these documents were created for a specific client. Is the lawyer stealing from his previous clients?

The same thing could be said about a technical writer. If they write for multiple clients in the same domain, it is likely the intentionally or not, their work will share some sentences, paragraphs or more.

I know that you don't sign a "work for hire" contract with your lawyer so they (as always) have the upper hand. But it does seem that in professions where writing in some form is part of the work output, it is very likely that remnants of previous work will show up in future work. Whether intentionally or not.

Re:If a lawyer reuses a document... (1)

Aryden (1872756) | about 2 years ago | (#40018701)

no because the lawyer maintains those documents as the creator of those documents unless they were obtained from someone.

I'm going to patent i=0 (1, Informative)

StillNeedMoreCoffee (123989) | about 2 years ago | (#40018325)

In for loops, and anyone who uses it has to pay me lots of money. I'll let them use it and as soon as they start making money I'll show up at their door to collect their soul.

Re:I'm going to patent i=0 (1)

tgd (2822) | about 2 years ago | (#40018441)

In for loops, and anyone who uses it has to pay me lots of money. I'll let them use it and as soon as they start making money I'll show up at their door to collect their soul.

Thankfully I always use "x" for my loops.

Re:I'm going to patent i=0 (0)

Anonymous Coward | about 2 years ago | (#40018547)

But the method is the same. I work around that by setting i = 1 then i-- before my loop.

Good News, Everyone! (1)

3vi1 (544505) | about 2 years ago | (#40018345)

This is good news: Because obviously Oracle hired mentally challenged lawyers.

Not only is what their lawyer said obvious hyperbole, but it is totally irrelevant. I don't care how much time it would take for a non-programmer to do it: how long does it take a real programmer to do it.

The answer to that is of course on the order of seconds, since validating input is something every programmer has done thousands of times.

What does it matter (3, Informative)

htnmmo (1454573) | about 2 years ago | (#40018355)

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/ [wired.com]

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

Re:What does it matter (1)

Anonymous Coward | about 2 years ago | (#40018461)

see http://news.ycombinator.com/item?id=3940683

The person who originally submitted it to Java'sOpenJDK was working at google when he wrote it, and thought it was his to re-use for Android later! I'm not so sure that is not so, too.

Re:What does it matter (2)

betterunixthanunix (980855) | about 2 years ago | (#40018495)

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.

Re:What does it matter (0)

Anonymous Coward | about 2 years ago | (#40018699)

Actually Google did not decompile it, a subcontracter broke a contract and did so and put these test files into the google code. These test files were never delivered to the android phones.

The eight decompiled files (2)

DragonWriter (970822) | about 2 years ago | (#40018725)

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] [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/ [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."

Colossal waste... (2, Insightful)

middlemen (765373) | about 2 years ago | (#40018365)

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.

Re:Colossal waste... (1)

Anonymous Coward | about 2 years ago | (#40018675)

Google offered to settle a long time ago to avoid wasting both time and money. This debacle is on Oracle.

filing my own motion (0)

Anonymous Coward | about 2 years ago | (#40018409)

The great thing about having an Android smart phone is I can follow these events from the comfort of the company throne thus killing two birds with one stone! Thanks Google and HTC.

this is a serious problem (-1)

circletimessquare (444983) | about 2 years ago | (#40018413)

rangeCheck checks if a number is within a range. ok. like if 2 is between 1 and 3. but what of 4? you did mention 4? or 5, 6, 7, or 8 for that matter. and what of 2.5? or 3.5?

how about negative numbers? how about irrational numbers? i will tell you what is irrational: that rangeCheck can be trusted to understand these complex issues and give us an answer we can trust

and 0! magic 0. you are telling me that rangeCheck understand 0 and can tell us if is between two numbers? arbitrarily chosen numbers to boot? the audacity! you mean i am going to just say "cehck if 0 is between 1 and 7" and then i'm going to cpompletely mess things up and turn around and say "oh, and check if 0 is between -2 and 3", and you are going to trust rangeCheck to do this? really? really?!

do you not see the danger here folks? do not see the threat to responsiblity, accountability, that trust that blindly putting our faith in this rangeCheck results in?

think about this serious issue very carefully folks, this is a truly tricky and grave conundrum. here be dragons

then why didn't they write it (0)

Anonymous Coward | about 2 years ago | (#40018433)

I mean if it is so easy to write then why copy it?

Re:then why didn't they write it (3, Interesting)

Anaerin (905998) | about 2 years ago | (#40018627)

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.

Re:then why didn't they write it (0)

Anonymous Coward | about 2 years ago | (#40018637)

The guy working for Google that did write rangeCheck wrote it for the OpenJDK and assumed he could reuse his code in Android. This is common knowledge.

Hired Help (1, Informative)

andersh (229403) | about 2 years ago | (#40018663)

Google did not copy it. Their contractor reverse engineered Sun/Oracle's code - despite being told by Google explicitly not to do so!

Google used Noser to provide additional resources and accelerate the completion(?) of Android.

On March 28, 2007, Google hired Noser to deliver a package of Java libraries. /See/ TX 30 (Statement of Work between Google and Noser, dated March 28, 2007)

On April 19, 2007, Andy Rubin wrote to Alan Eustace regarding the "Noser agreement": "This is our final java solution — consultants to take our java libraries as a starting place, and bring our java classes up to J2SE spec, in a clean room environment. They have signed up to a pretty aggressive schedule for quite a bit of work. This deal replaces the $18M approved acquisition that we decided to pass on. Barring any unforeseen surprises, I think this is our last big deal ($4M)." (TX 438.)

Contest (5, Funny)

Chemisor (97276) | about 2 years ago | (#40018467)

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.

Misleading title -- Judge didn't say that! (4, Interesting)

mattdm (1931) | about 2 years ago | (#40018661)

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!

Quite right (4, Insightful)

gweihir (88907) | about 2 years ago | (#40018687)

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.

Yeah, no. (1)

JustAnotherIdiot (1980292) | about 2 years ago | (#40018697)

'I'm not an expert on Java — this is my second case on Java, but I'm a complete retard, and I probably couldn't program that in six months.'

Because this is the only way that statement is true, even I could figure this out in quicker than 6 months.
Glad to see the judge called this guy on his BS.

The juicy bits (5, Informative)

RemyBR (1158435) | about 2 years ago | (#40018703)

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

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...