Monthly Archives: March 2011

The Two Faces of Android

Kevin Marks:

“The most remarkable thing about Android is that it is the first widely adopted Open Source client operating system. It’s long been clear that Open Source is the best way to preserve infrastructural code from the vicissitudes of corporate and governmental volatility, but using it for client applications has so far not taken off as well. There has often been a separation between an open source underlying layer and a proprietary user experience that is built atop it.
Android does follow this pattern to some extent – the underlying OS code is fully Open Source under an Apache License, so anyone can bend it to their own uses, but in order to get the “with Google” logo on your device, you need to conform to Google’s Compatibility Definition Document. That has changed over time; for example the 2.1 version specifies that your device MUST have a camera and 1.6 requires telephony.
If you do this, you might then get access to what I call the top half of Android – the closed source Google apps that integrate the device closely with their web services – Contacts, GMail, Talk, Android Market, Google Maps, Navigation, Listen, Earth, Places and so on. However, this requires an explicit partnership with Google.
a lot of the day-to day utility of an Android device is in the proprietary, partners-only layer – that you only get after doing a business development deal with Google of some kind. What we will start to see is alternatives for these Applications being developed. To some extent we’re already seeing this from US carriers, but I think this year we’ll see both an Open Source suite of apps to swap in many of these functions, and other proprietary offerings to compete with the Google upper half.” (http://epeus.blogspot.com/2011/01/two-faces-of-android.html)

Criticism of the Openness of Android

“Android is proprietary, despite being marketed as open source. Android has a compatibility pledge, signed and kept behind closed doors. Android has no governance model, nor any indication there will be one. Android has no spec, and the license prohibits alternative implementations, as that’s not a use licensed by Google in the SDK license. Android is completely controlled by Google, and Google reserves the right to kill off competitors applications if they hurt Google financially, etc. It’s only as open as it is in Google’s financial interest to allow openness, by design.” (http://ianskerrett.wordpress.com/2007/11/13/what-does-android-mean-for-suns-openjdk/)

From the Wikipedia:

“Android has been criticized for not being all open-source software despite what was announced by Google. Parts of the SDK are proprietary and closed source and some believe this is so that Google can control the platform. The Android Software Development Kit License Agreement states that:
– 3.2 You agree that Google (or Google’s licensors) own all legal right, title and interest in and to the SDK, including any intellectual property rights which subsist in the SDK. Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not by this License Agreement. Until the SDK is released under an open source license, you may not extract the source code or create a derivative work of the SDK. [2]
However, Google has since announced that all parts of the OS will be released under the Apache License where applicable and under the GPL elsewhere. Google’s applications that interact with Google’s systems, such as their email service, are not open source.
Also, at least for now, software installed by users must be written in Java and will not have access to lower level device APIs.[41] This provides end-users with less control over their phone’s functionality than other free and open source phone platforms, such as OpenMoko.
Another issue is related to Android’s disregard of established Java standards, i.e. Java SE and ME. This prevents compatibility among Java applications written for those platforms and those for the Android platform. Android only reuses the Java language syntax, but does not provide the full-class libraries and APIs bundled with Java SE or ME.”

Sources:

The creation of the Dalvik virtual machine which is the basis of the Android platform, has also raised concerns that the first major fracturing of the Java platform may be in progress.
Dalibor Topic on the Android License: “There is a bunch of other rather objectionable stuff, but dear me, this is pretty bad as far as license agreements for pseudo-open-source software go.” [3]

From LaForge:

“As many other people have been blogging and news sites have been reporting: The Android source code has been released. This is definitely good news. However, freedom-loving people already discover in blog posts that there’s a remote kill switch by which Google can disable an already installed application and that some features are reserved to vendor-signed applications.
To me, those things are not a big surprise. As soon as you try to get in bed with the big operators, they will require this level of control. Android is not set out to be a truly open source mobile phone platform, but it’s set out to be a sandbox environment for applications.
And even with all the android code out there, I bet almost (if not all) actual devices shipping with Android and manufactured by the big handset makers will have some kind of DRM scheme for the actual code: A bootloader that verifies that you did not modify the kernel, a kernel that ensures you do not run your own native applications.
Thus, Android so far was little more to me than yet-another-J2ME. Some sandbox virtual machine environment where people can write UI apps for. In other words: Nothing that gets me excited at all. I want a openness where I can touch and twist the bootloader, kernel, drivers, system-level software – and among other things, UI applications.
I actually think it’s a bit of an insult if people think of Motorola’s EZX or MAGX (and now Android) phones as “Linux phones”. Because all the freedoms of Linux (writing native applications against native Linux APIs that Linux developers know and love, being able to do Linux [kernel] development) are stripped.
In the end, to what good is Linux in those devices? Definitely not to any benefit of the user. It’s to the benefit of the handset maker, who can skip a pretty expensive Windows Mobile licensing fee. Oh and, yes, they get better memory management than on Symbian 😉
That’s the brave new world. It makes me sick.” (http://laforge.gnumonks.org/weblog/)