That's why Google was so cautious to avoid using the Java trademark, and strictly talked about the Dalvik bytecode and compiler and so on.
Java compatibility is enforced by trademarks. In order to call something Java it has to pass certain tests and there is a cost attached to it. There has been many free Java implementations before that had to call themselves something else to be in the clear, IcedTea being perhaps the most well known.
This litigation, however, was never about trademark law. Oracle knows that would be a short lived process. They instead made up argument about how function definitions under certain circumstances could be copyrighted, that could keep their lawyers busy for a long time. By throwing a lot of money at this they could sow fear about their competitor's business model. It's straight out of the Microsoft, by way of SCO, playbook.
Ironically, given that Android Java is a J++ copy cat regarding the damage to the Java portability story, trademark or not.
Worse, Google cleverarly takes advantage of their Android Java fork stagnation to sell Kotlin over Java, while being fully aware that modern Java makes many of those code examples pro Kotlin worthless.
This is all pretty irrelevant whatboutism. It is all entirely unrelated to Oracle sueing Google.
Google could be 100% tracking newer Java language features and Oracle would still have made this lawsuits. It's financial compensation or competitive advantage they are after or something, compatiblity and feature parity is very low on Oracle lawyer's list.
Sun and Oracle never sued other JVM implementations, only Microsoft and Google, aka J++ and Android Java.
If Google did not wanted a lawsuit, they could have easily made an offer to buy Sun after torpedoing their profits helping the company to close doors, no love for Google from my side on this story.
The whole thread in about hating Oracle. It's probably warranted, but Google shouldn't get a pass. They induced this situation. Someone did a back of the envelope calculation and decided a lawsuit was going to be cheaper than licensing Java would be. Or maybe they'd get really lucky and Sun would go under. But, Oracle bought Sun and brought along the suit that Google had counted on. And then Oracle kept throwing things at them until one stuck.
This all would have been avoided if Google wasn't a bad actor in the first place. They wanted to play by different rules than everyone else and thought they had enough weight to get their way. Now someone in their own weight class came along and we all get to live with the fallout.
> Someone did a back of the envelope calculation and decided a lawsuit was going to be cheaper than licensing Java would be.
I don't think it was an issue of monetary value. Sun simply wasn't going to offer terms that would allow Google to make Android with Sun's blessing, because Sun wanted to retain tight control over the feature set of different Java editions.
> This all would have been avoided if Google wasn't a bad actor in the first place. They wanted to play by different rules than everyone else
Please don't do this. The irony of making such a silly claim using a software stack that is so thoroughly built on those "different rules" is too much.
Okay. If you need a license for something and someone isn't going to license it to you, you don't have carte blanche to do whatever you want with their IP.
> Please don't do this. The irony of making such a silly claim using a software stack that is so thoroughly built on those "different rules" is too much.
Give me a break. You just said yourself they circumvented Sun's licensing. If software licensing and trademark usage doesn't matter, then why do even bother with them?
> You just said yourself they circumvented Sun's licensing. If software licensing and trademark usage doesn't matter, then why do even bother with them?
Please don't conflate trademark licenses with copyright licenses.
> It's probably warranted, but Google shouldn't get a pass.
If Google doesn't get a pass on doing what the whole industry is doing - then no one will get a pass - that is a bad thing regardless of your thoughts on Google. Reimplementing interfaces is the lifeblood of compatibility, and has been for decades. A win for Oracle is a win for vendor lock-in: open source and upstarts lose.
There's a lot more going on here than just implementing an interface. If Google had just used OpenJDK, there wouldn't have been a problem. I fail to see how what they were doing is any different from what Microsoft tried to pull with Visual J++.
> I fail to see how what they were doing is any different from what Microsoft tried to pull with Visual J++.
That's because you're repeatedly failing to see the distinction between trademark law and copyright law. The Visual J++ lawsuit that was settled was a trademark infringement suit, because the Java trademarks are what Sun had locked behind license terms mandating compliance to their compatibility test suite. Google was more studious about avoiding use of Sun trademarks in Android, and chose to not seek a license for those trademarks. Now they're being sued over copyrights, not trademarks.
I'm not failing to see any distinction. They were sued over a bunch of things. Copyright is what stuck. Lawyers are going to use every tool in their belt. And since there's a lot around software licensing, copyright, and fair use that haven't been established by case law because no one really wants to find the limits of it, now the lawyers get to duke it out.
At the end of the day, Google wanted to use Java and not really be compatible with Java, so they tried to skirt around it and got called out for it. This was evident by pages they had that stilled referred to it as Java and by passages of code taken in whole. So, yes, I'll contend that Google tried to get away with something and hoped they were big enough to come out of it unscathed.
It's not like this was unforeseen. And it's not like Sun or Oracle has sued any compliant Java implementations. They could have just used OpenJDK, but didn't want to play by those rules either. If you don't like how this is shaping up in the courts, it's fair to say that it could have all been avoided by Google being a better actor.
I think you're missing the bigger picture. I personally don't care if Google is punished or not. But I don't want Google's punishment to come in a form that will break the entire software industry.
I agree, it sucks. All I was saying is I think Google is also at fault for setting the stage for this. It looks like their gambit was litigation would be cheaper than licensing and now we all get to deal with the blowback from that.
> APIs aren't designed in vacuum, they are the outcome of the work of a group of people that put in the effort and endless hours of work to design them.
You could say the same about the design of an electrical plug or a radio signaling protocol. That doesn't make the functional aspects of the design subject to copyright.
Bad examples, they are protected by certifications, market compliance processes, and paying for ISO and similar standard documents.
Even implementators of languages considered free beer like C and C++, have at the end of the day have someone paying for those 100 CHF.
Naturally there are black markets to work around those issues, then if a fire can be tracked back to a not-certified plug, the insurance can consider it isn't responsible for paying.
> Bad examples, they are protected by certifications, market compliance processes, and paying for ISO and similar standard documents.
So then what do you need copyright for? Do the same thing for your API. Copyright is the wrong tool for this.
But in particular, notice that if your "market compliance processes" start trying to charge monopoly rents, someone will reverse engineer the thing and launch a competing compliance process which insurance companies will happily accept as long as it has reasonable quality.
Also notice that the compliance process for things like that is generally shepherded by a third party non-profit like UL or IEEE and not a competitor in the same market.
Java compatibility is enforced by trademarks. In order to call something Java it has to pass certain tests and there is a cost attached to it. There has been many free Java implementations before that had to call themselves something else to be in the clear, IcedTea being perhaps the most well known.
This litigation, however, was never about trademark law. Oracle knows that would be a short lived process. They instead made up argument about how function definitions under certain circumstances could be copyrighted, that could keep their lawyers busy for a long time. By throwing a lot of money at this they could sow fear about their competitor's business model. It's straight out of the Microsoft, by way of SCO, playbook.