Hacker News new | past | comments | ask | show | jobs | submit login

Just a bit of background:

Those lines of code are from OpenJDK's TimSort implementation. It was written by Joshua Bloch, who was actually working for Google at the time, and contributed to OpenJDK. He later re-used the same code for Android's implementation of this same function.

In order for this to be a copyright violation, Bloch would have had to assign exclusive ownership over the code to Oracle.

Quoting from the relevant section of the Oracle Contributor Agreement:

"You hereby assign to us joint ownership", and "grant to us a perpetual, irrevocable, non-exclusive, worldwide, no-charge, royalty-free, unrestricted license to exercise all rights under those copyrights". However, "each of us can do all things in relation to your contribution as if each of us were the sole owners".

So, Bloch still owns this the copyright in this code, and is free to do whatever he wants with it. All he did was grant Oracle the same rights to that code that he has, so that Oracle can do whatever they want with it as well.

So, not copyright infringement. Oracle's own contributor agreement makes that very clear.

Edit: Added references

List of signatories of the Oracle Contributor Agreement (Google cache, because the main site is down at the moment):

http://webcache.googleusercontent.com/search?q=cache:6zsMkHa...

http://sca.java.net/CA_signatories.htm

Oracle Contributor Agreement:

http://www.oracle.com/technetwork/oca-405177.pdf




I don't think you have the facts right (and your citations only back up your logic, not your premises). If it were true, you don't think the lawyers would have maybe mentioned this in court?

Bloch used the function in the course of implementing TimSort, but copied it directly from Sun's version of the Arrays class (it existed long before Bloch worked for Google). And the reason he did that was because he thought TimSort was going to be contributed and added to Arrays, where it would have direct access (and the copying would at that point be removed). That never happened, which lead to this count of infringement.

It's absolutely ridiculous though. Even though they infringed the damages for that infringement should be about $100, which is the maximum amount you'd have to spend to reproduce that in a clean room. Reimplementations of that method would look pretty much byte-code identical so Oracle really has no basis for seeking anything more than trivial damages.


I just went and did some more digging around. Looks like you're right - the method in question was present in OpenJDK's java.util.Arrays first, and seems to have been copied into the TimSort implementation.


Did this not come up in the course of the trial?


Considering the damages from this "copying" amount to the price of a sandwich, I reckon google is not very worried if this is infringing.


Are you talking actual measurable real world damages, or damages as assessed by a court? The latter has nothing to do with reality, like the recent RIAA cases and the obnoxiously high damages per track.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: