Comment Re:Plagiarizing Yourself? (Score 5, Informative) 234
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.