This is the first time I've read anything in depth about this and I gotta say Oracle's case feels stronger and google is tilting at windmills. Oracle wrote something, google copied it.
Oracle isn't arguing that you can't use java api's in general without a license. Its arguing that if you wanna create a new platform you can't copy copyrighted code. Doesn't matter how small it is, google has demonstrated that it was intentional and instrumental in helping android grow.
Google’s argument is that method declarations are not code. And since this case is about copyright the question is whether declarations like that are ideas that can be protected under copyright law.
Is math.abs with one parameter copyrightable? What about Math.abs?
If it was so cut and dry this case wouldn’t have dragged on
They copied the API interfaces. I'm sure every developer has done the same a multitude of times. If you want to talk to the same REST API using the same client, you've probably written an exact copy of the code a bunch of others have written.
Computer science reverse engineering often means recreating the same code, maybe even line by line. Allowing anyone to copyright an API would break the internet.
Imagine writing quicksort in a popular language as an excercise. Usually there's only a few straightforward ways to do it, so the same code has been written tons of times. If the original writer had copywrite, nobody could use quicksort.
Correct me if I'm wrong, but my understanding of copyright is that if you come up with something independently you're not violating copyright. So if you and I both write code to interact with the same REST API and end up writing identical code, there's no violation.
But Google didn't just coincidentally happen to match the Java api; they intentionally copied the method signatures then reimplemented the methods. The issue at hand is copying all the method signatures, not reimplementing the methods. I don't know whether that is or should be a copyright violation or not, but it's different from what you described in your comment.
Not really, the interface signatures need to be the same for normal Java code to work. There's only one way to write the interfaces, code would be identical even reverse engineered.
This is the same as writing an S3 compatible java client. If you want to be able to substitute one directly for another, the method signatures have to be the same even if all the implementations are different.
This also mirrors how kernel interfaces work. Xen, GVisor, and many others implement the exact same kernel interfaces as Linux because they have to to work. If the API was copyrightable any contributor that designed one of these interfaces could prevent these projects from existing
But what would have been the solution? They could have just made it ToString_Google() and HashMap_Google. This is so far beyond anyone actually having their rights impinged upon at this point that the only winner to this whole thing can be the lawyers making money hand over fist.
That's akin to saying that someone wrote about English grammar and you copied it in your comment by structuring your sentence in a certain way, using punctuation, etc.
Pretty much. I'm not saying that Oracle is the right party here but it was a sleazy move by Google. The fact that many of us benefited from Google's actions as users shouldn't prevent us from seeing this.
Imagine if Google pulled the same stunt targeting your startup - i.e. verbatim copying your software's method signatures - would you be ok with it?
I'm having a little trouble understanding the distinction. An API is still defined by code though. It's basically just the publicly facing part of the code, right?
You can reimplement a compatible API in a different language that would share no code. This would be a clone, not a copy, as no work from the original author was used. The real issue here is if an API is just an interface, or could be considered code itself.
(IMHO, it's an interface, like a power socket or a light switch. You make it fit, and then it works.)
This seems like a question that has previously been answered and that is why we register software copyright as a literary work. It seems unless actual text was copied, it's not a violation. I've recently started learning more about this, so I could be wrong.
You could argue that API's aren't code -- they are merely descriptions on how to call a piece of code. And those kind of directions are not copyrightable.
It seems if they wrote their own code from scratch but it defined a similar API then that wouldn't be covered by a copyright. My understanding is that is what basically happened when they began treating code as a literary work.
Yeah, that's the thing: Google knew it should've paid, it looked into a license, and then decided to claim it didn't need one and go without. It's certainly not fair use, it was specifically to build a competing product/commercial ecosystem to Oracle's and they state it was fundamental to their strategy to do so.
This case has been going on since 2010. It's time Google let it go. They lost.
What Google looked into licensing was considerably broader than the APIs, and included material that everyone agrees is copyrightable.
We don't learn anything from the fact that Google negotiated for a broad licence, decided not to take one, and used a clone which copies only the API definitions.
If API definitions aren't copyrightable then Google didn't do anything wrong. If they are then it did.
The idea that API definitions may not be copyrightable certainly isn't a wild theory that Google made up for this instance.
> It's certainly not fair use, it was specifically to build a competing product/commercial ecosystem to Oracle's
The commercial nature of the work is just one factor determining fair use. Another is "the amount and substantiality of the portion used in relation to the copyrighted work as a whole". And the API structure is a quite small part of the JDK as a whole, and has a different nature than implementation code as well.
Oracle isn't arguing that you can't use java api's in general without a license. Its arguing that if you wanna create a new platform you can't copy copyrighted code. Doesn't matter how small it is, google has demonstrated that it was intentional and instrumental in helping android grow.