Your comment is irrelevant. Besides the fact that other companies like Apple wielded their parents against Android, the big difference is Microsoft's patents weren't open source.
The reason Oracle's behavior is so bad, and raises the question of whether Java is really Free Software anymore, is they sued Google over re-implimenting an ostensibly Open Source language.
And if you want to talk Microsoft, the most relevant thing to the discussion is that .Net Core includes explicit language in it's lisence that allows for re-implimenting it, and in fact despite the whole "Microsoft is evil" meme, they never sued Mono, a re-implimentation of their non-Open Source .Net Framework.
Only those that tried to misuse Java by creating partial implementations of it (Microsoft and Google).
In fact, Sun only put a show to avoid losing their face, as what they really wanted was to sue Google, but their bank account wasn't any longer like in the Microsoft suit days.
Finally Google had the opportunity to buy Sun assets and thus avoid being sued, while having the freedom to steer Java however they would have liked to do.
Opportunity that they decided wasn't worthwhile to pursue.
> Finally Google had the opportunity to buy Sun assets and thus avoid being sued, while having the freedom to steer Java however they would have liked to do.
> Opportunity that they decided wasn't worthwhile to pursue.
Wow, this is incredible, I always wondered if Google even thought about this. I wonder how different things would be had they just bought out Java from under Sun, or at least the rights to use it as they see fit and allowed Sun to maintain it or some sort of deal? Basically the keys to the Java castle in such a way that lets Sun be Sun and not Oracle. There's a lot of elements to the case that shift everyones views. It's sad we're even seeing such a case so many years later, and likely why Google is going towards having Kotlin (and eventually Kotlin Native) as their main language.
> The reason Oracle's behavior is so bad, and raises the question of whether Java is really Free Software anymore, is they sued Google over re-implimenting an ostensibly Open Source language.
While OpenJDK is, indeed, very much open source, Android did not use it -- although I think it does now -- as they didn't want to use its open source license. Google, on the other hand, uses OpenJDK extensively, and have even forked it internally, without any complaint from Oracle [1].
So no open-source software was the subject of the lawsuit (well, no Oracle open-source software).
> they never sued Mono, a re-implimentation of their non-Open Source .Net Framework.
That is not about benevolence but the simple fact that Mono did not harm their business in any way (few people used it; Microsoft did, however, sue or threaten to sue over the wildly successful Android). On the other hand, licensing Java for use on mobile devices was Sun's main income from Java.
Companies don't generally do things on principle, but for business reasons, nor do they refrain from business out of principle. Both Oracle and Microsoft sued (or threatened to) over Android for business reasons, and Google chose not to use the open-source Java for business reasons.
Actually Android still doesn't use 100% of OpenJDK, that is just PR from Google supporters on the Android story, easily proven by looking into AOSP source tree,
What Android does is to use a subset of OpenJDK, and even that is pretty much dependent on which Android version one is talking about.
So it is still impossible to get a random jar from Maven Central and be certain that it will work of the box on Android, even on Android P.
No, it does not. The ruling was that APIs (at least actual APIs, not web "APIs") fall under copyright, but that does not mean you cannot use copyrighted material even without a license or outside its terms. It was ruled that Google (in particular) did not use the APIs in one of the "fair use" ways (e.g. it did not pursue interoperability). See https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google...
You can only license what you own. As the court ruled that Oracle owns the copyright on the Java APIs, it is not enough to follow the terms of the Apache license, but also of the Oracle license. The APIs were released under two licenses (relevant to Android) -- GPL and a commercial one. Google chose neither. At that point, you are still free to use the APIs just under Harmony's license, provided that your use is fair use of the Oracle-copyrighted code. The court ruled that Google's use was not fair use, as it met none of the conditions required (e.g. it was not meant to be interoperable with the Java APIs). So this does not mean that Harmony is in violation, only that Android's particular use of Harmony is. In fact, Harmony very likely is fair use because, unlike Android, it is intended for interop.
Android does not use whole OpenJDK, only parts of its library, that are vetted and open.
The compiler is used by Android Studio and Gradle plugin, but the bytecode is rebuilt again with d8 or dex. Google has written their own compiler in the past but decided it was unnecessary.
The critical patented parts are not in Dalvik nor in J2SE library.