> 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.
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.
[1]: https://video.oracle.com/detail/videos/featured-videos/video...