I guess I must be hallucinating all those S3-compatible libraries and services.
> As the justices pointed out, it's a one-way interoperability.
It makes a large majority of the same code work on both. That's not one-way. Porting in either direction is vastly improved versus them making their own APIs.
Also copyright protections aren’t given up because it makes a third party’s life easier. That’s also what was said during the hearing.
Yeah but if your mandate is to promote the arts and sciences then you desperately want interoperability to be easy and encouraged.
>why should only the implementation be protected?
Because copyright only protects authorship. You are the owner of your own creative works but you are not the owner of other people's creative works. What Oracle wants is to prevent independent reimplementation of Java libraries which is clearly a case of patent law not copyright law.
The Java standard library casts a "shadow". That shadow is the API but the standard library is not the API. Someone who only looks at the shadow can rebuild their own version of the standard library without directly copying the standard library. This is called clean room design and it is done all the time. Patents are the primary way of preventing clean room designs by competitors.
The fact that people on HN are insisting on bloating copyright even further makes my blood boil. IP law already created lots of solutions for all these problems. Stop trying to shoehorn everything into copyright.
Sun had a mobile platform at the time, J2ME. If you wanted to use Java on mobile, it had to be J2ME. There was no option back then to just pay money and pick'n'choose which bits of Java you wanted. In fact there still isn't, the Java guys are zealous about compatibility.
And J2ME was in turn a slow, multi-vendor, standards oriented kind of thing with multiple implementations. It was (a) very limited, (b) very buggy, (c) very poor developer UX. The issue wasn't Java itself but rather the huge variety of bugs and missing APIs between different phones. See the issues Android faced with fragmentation and multiply it by a million. In fact it was an attempt to fight fragmentation that led Sun to take the hard-line "our way or the high way" approach!
Additionally, J2ME was not open source but Google or rather Andy Rubin felt strongly that Android had to be open source under non-GPL licenses because mobile vendors hated the GPL. They could just about tolerate Linux but that was the limit. So Google was going to go to Sun and say, hey, please release one of your own profitable Java products under an open source license, so we can make more money out of Google Maps? No way.
Could Google have made Android using J2ME? Maybe. Perhaps? But it'd have been a huge ball and chain around their ankles and Android would have been radically different, likely different enough to have killed it. For instance J2ME had a simple GUI library but it was limited by the need to run on feature phones. They'd have never been able to make it as advanced as the Android GUI toolkit was, and competing with the iPhone? Forget it.
To some extent this situation was inevitable. From a technical perspective using the Java platform worked out very well for Android. But given Sun's business model at the time and the history of J2ME there was no way to take it to the next level. In hindsight we can say that Google could have replaced the entire revenue stream of J2ME, but what company wants to replace a many-vendor many-customer ecosystem with a single revenue source? Nobody would do that!
They could have yes, with Java SE actually
> The SavaJe OS was a monolithic OS-and-Java platform, an implementation of Sun Microsystems' Java Standard Edition, as opposed to the more limited Micro Edition usually offered on mobile phones.
https://en.wikipedia.org/wiki/SavaJe
Also the Nokia and Sony-Ericson extensions to J2ME were quite good, while keeping compatibility with J2ME related specifications.
So much that they eventually rebooted the whole thing with ART.
Apparently Swing was appropriate for SavaJE, go figure.
I don't see how this type of creative expression is any more or less worthy of protection than any other code.
There are some other silly things mentioned in the proceedings. One is about monopolies, clearly that's wrong because there are multiple platforms and Apple and Microsoft clearly didn't need to copy these Java libraries. The QWERTY keyboard analogy is also not a good one since there's a clear difference between something that is written and consists of tens of thousands of pieces vs. a relatively simple organization of characters that's also not written (it's physical). So that would probably go under a design patent. Another is about transformative use. There were cell phones using these Java libraries before Google decided to use them as well -- the Jasper S20 using the SavaJe OS for instance. Also the doom and gloom that the industry will break is absurdly doomsday. Simple libraries or SSO wouldn't constitute the level complexity and creativity of Oracle's Java libraries.
Google could have invested in creating its own libraries and only using the 57 or so classes that make up the Java language, made its own methods, classes, and packages. But that would have been a large effort to design them, get them battle tested, and to attract a developer community around it. It was easier to cheat to get ahead and ride the coattails of Oracle's community that were familiar with the Java libraries they had created. Google knew what they were doing was wrong at the time, but the cost to get to market meant it was worth it. Google didn't stop there, they continued to copy the changes that Oracle did to its libraries and copied new packages that Oracle created.
Finally, Google had the option to take the community license, but they didn't want to contribute back. I say, hard cheese Google, pay up.