4 ms·
>Android started by copying Apache Harmony, as means of Google trying to avoid to pay Sun their rightful licenses, as confirmed by Andy Rubin emails. The Apach
by bitmapbrother 8y ago
>Android started by copying Apache Harmony, as means of Google trying to avoid to pay Sun their rightful licenses, as confirmed by Andy Rubin emails.
The Apache Harmony code base is an open source, free Java implementation, developed by the Apache Software Foundation that is licensed under the Apache License 2.0. Google had every right to use the Apache project according to the terms of the license.
>Thanks to that, Sun lost what might have rescued from insolvency. Which Google, while thinking that they finally got rid of Sun did not bothered to try to save.
Sun is solely responsible for their bad business decisions due, in most part, to their incompetence. Issuing a license to Google would not have saved them from being acquired by Oracle.
>Yet Android does not use 100% of OpenJDK, rather they are adding little pieces of it in each Android version.
I wasn't aware that you had to implement 100% of an open source project if you forked it. Can you cite where that's a requirement?
>Thus Android uses a forked version of OpenJDK, with everything that Google doesn't care removed from it.
The Android SDK uses a forked subset of the OpenJDK. And why wouldn't Google remove things they didn't need like AWT, Swing, etc.
>The fact that they use ART is an implementation detail, some Java certified JVMs for embeded deployment also have tooling to convert to their optimized implementation instead of using .class files.
No it's not. There is no association architecturally or IP related between the JVM and ART. If there was then Oracle would not have lost every one of their JVM IP patent claims they asserted against the Android runtime.
- deleted 8y ago[deleted]
- pjmlp 8y ago> The Apache Harmony code base is an open source, free Java implementation, developed by the Apache Software Foundation that is licensed under the Apache License 2.0. Google had every right to use the Apache project according to the terms of the license. Except it wasn't a TCK project licensed for deployment on embedded devices. > Sun is solely responsible for their bad business decisions due, in most part, to their incompetence. Issuing a license to Google would not have saved them from being acquired by Oracle. Says the Google employee. Why did not Google buy the Java assets from Sun, given the deep investment on Android? Because they hoped Sun would silently sink and stop being a thorn on Google's misconduct. Instead Sun got bought by Oracle, so stop complained, had Google bought Sun instead this would have neved happened. > I wasn't aware that you had to implement 100% of an open source project if you forked it. Can you cite where that's a requirement? Ah now you state that Google did fork Java. > The Android SDK uses a forked subset of the OpenJDK. And why wouldn't Google remove things they didn't need like AWT, Swing, etc. Because OpenJDK is to Java like libc is to C, libc++ to C++, DOM APIs to JavaScript, .... Forking while pruning the available API breaks the compatibility with existing code and fragments the eco-system. Exactly what Sun managed to prevent with J++, whereas with Android Java they were a bit low on cash. > No it's not. There is no association architecturally or IP related between the JVM and ART. If there was then Oracle would not have lost every one of their JVM IP patent claims they asserted against the Android runtime. Whatever Oracle has chosen as attack vector is little relevant for the fact that I cannot take a random piece of Java code and be assured it compiles and runs on Android. If Google really wanted to drive Java somewhere else, while breaking backwards compatibility, the solution was in reach of their bank account when Sun started looking for buyers.
- bitmapbrother 8y ago>Except it wasn't a TCK project licensed for deployment on embedded devices. It didn't require a TCK license because Apache never called it Java nor did Google need permission to use it on embedded devices. >Says the Google employee. What a petty response. You're blaming the failure of Sun on Google. When in reality the failure of Sun can clearly be traced to their poor business decisions and acquisitions. Sun had a lot of potential, but they were let down by incompetent leadership. >Why did not Google buy the Java assets from Sun, given the deep investment on Android? Did Sun offer to sell the Java assets to Google? I'm not aware of such an offer ever being made. If the offer was made then I agree that Google should have purchased the Java assets solely. >Ah now you state that Google did fork Java. The only thing I'm claiming is that Google did indeed fork the OpenJDK as they are allowed to do. >Because OpenJDK is to Java like libc is to C, libc++ to C++, DOM APIs to JavaScript, .... Forking while pruning the available API breaks the compatibility with existing code and fragments the eco-system. The OpenJDK is an open source project that Google is allowed to legally fork and use just as long as they don't call the fork Java. >Exactly what Sun managed to prevent with J++, whereas with Android Java they were a bit low on cash. You're forgetting to mention a key difference. Microsoft called their extended version Java. Google does not refer to their fork as Java. >Whatever Oracle has chosen as attack vector is little relevant for the fact that I cannot take a random piece of Java code and be assured it compiles and runs on Android. Google doesn't call their implementation Java so I don't see why you would think you should be able to run any Java app on Android.
- pjmlp 8y ago"The entire feature-set of the Android OS is available to you through APIs written in the Java language." "compile Java sources into DEX bytecode, which can run on the Android platform." "Android also includes a set of core runtime libraries that provide most of the functionality of the Java programming language, including some Java 8 language features, that the Java API framework uses." https://developer.android.com/guide/platform/ https://developer.android.com/guide/platform/ Given how hard you support Google's fragmentation actions against the Java eco-system, your OS also uses C without libc.