Oracle Not Satisfied With Potential $150,000; Goes Against Judge's Warning
bobwrit writes with news about how the monetary damages in the Google v. Oracle case might shake out. On Thursday, Judge Alsup told Oracle the most it could expect for statutory damages was a flat $150,000, a far cry from the $6.1 billion Oracle wanted in 2011, or even the $2.8 million offered by Google as a settlement. However, Oracle still thinks it can go after infringed profits, even though Judge Alsup specifically warned its lawyers they were making a mistake. He said, "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions." Groklaw has a detailed post about today's events.
I'm thinking that $9 (one dollar for each copied line) sounds like a nice number. :)
Not only that but the function is so simple that it could have been a complete accident.
Those checks aren't run because an exception is thrown before that.
Not only simple and small. The author of both copies is the same person: Josh Bloch. He wrote the original lines while working for Sun, and repeated the same code while working for Google. So, according the law, Josh Bloch plagiarized himself
MOD THE CHILD UP!
The larger figures quoted ($6.1 billion) refer to the estimated total for all infringement claims. The $150,000 discussed today is for one claim. Of course, the whole case doesn't revolve around the nine lines of code. The big (unresolved) questions are about copyright of the APIs and infringement of patents.
He wrote it for Sun/Oracle while working for Sun/Oracle, hence the copyright lies with Sun/Oracle.
Lies. This is from Groklaw's coverage of his testimony:
Q. You left Sun and joined Google in 2004. What did you do at Google?
A. I ported existing Google infrastructure that was primarily accessible from C++ so that it was accessible to Java. I joined the Android team in December 2008 or January 2009. Android had already been released, and phones were in the market.
...
Q. Do you know of the existence of other rangecheck() functions?
A. Yes, there's one in arrays.java. I wrote it. [Timsort: from Tim Peters, and originally in Python. The Java implementation was a port.]
Q. Where did you get the Python version of Timsort? Was it open source [this was 2007, pre-Android]?
A. Yes, Guido [van Rossum] pointed me to it, it's under a permissive open-source license.
Q. What did you want to do with your Java Timsort?
A. Put it into OpenJDK (an open implentation of the SE platform).
Q. Who controlled OpenJDK?
A. Sun.
Q. How does someone contribute to OpenJDK, and had you done it before?
A. Yes. [Discussion about source repositories, and Doug Lee at Oswego, NY].
Q. If you worked for Google, why would you contribute to Sun's JDK?
A. Java is important to me; it's given me a lot.
Q. Why did you use the same rangecheck() function in Timsort as was in arrays.java?
A. It's good software engineering to reuse an existing function.
Q. But why use the exact same code?
A. I copied rangecheck() as a temporary measure, assuming this would be merged into arrays.java and my version of rangecheck() would go away.
[Discussion of Timsort dates and Android work dates.]
Q. Was Timsort accepted and added into OpenJDK?
A. Yes.
In other words, a Google engineer, working at Google, wrote a function and contributed it to Java (for free). Now Oracle is trying to sue over it because of that copyright assignment, and claiming that the freely contributed code is hugely valuable and that the contributor therefore owes them big money for using it. Even if this is technically legal for them to sue over, Oracle really deserves to DIAF over this.