Android

From P2P Foundation
Jump to: navigation, search

= Android, a project of the Open Handset Alliance, will deliver a complete set of software for mobile devices

Good intro at http://www.iaacblog.com/2008-2009/term02/s3/?p=1264


Definition

"Android is the first truly open and comprehensive platform for mobile devices. It includes an operating system, user-interface and applications -- all of the software to run a mobile phone, but without the proprietary obstacles that have hindered mobile innovation. We have developed Android in cooperation with the Open Handset Alliance, which consists of more than 30 technology and mobile leaders including Motorola, Qualcomm, HTC and T-Mobile." (http://googleblog.blogspot.com/2007/11/wheres-my-gphone.html)


Citations

1. Kevin Marks [1]


"Now we have a truly Open consumer OS, a world of possibilities open up."



2. Tim Carmody [2]

"Still, every single one of these companies gains a tremendous amount through their use of Android. Not only do they get a first-class mobile OS for free (or a licensing fee) without having to develop the whole thing from scratch, they get access to a gigantic user base that guarantees an active and engaged developer community.

In short, they get the apps. Not every Android app will work or work perfectly on every Android device or OS flavor, but the vast majority will; others still can be easily tailored to work well or even better.

This is why I say that we have a huge number of Android-compatible devices. We’ve never really had anything quite like this before in mobile. That compatibility is incredibly powerful."

Description

Summary from Engadget:

"* At its core, Android forms the basis for Google's operating system and supporting software for phones. In Google's own words, it's a software stack.

  • Two separate but related entities form the basis for today's announcement: the Linux-based Android mobile platform (a result of Google's 2005 acquisition of a start-up of the same name) and the Open Handset Alliance, a 33-strong group of device manufacturers, component manufacturers, software companies, and carriers that have committed to working with Android.
  • There is no cut and dried "Gphone" and Google doesn't intend (or at least it hasn't indicated an intent) to enter the hardware business. Instead, it'll leave that to established players like HTC, LG, and Samsung -- and theoretically, anyone else that wants to have a go at it since the Android platform and its code base is wide open.
  • Unlike the platform itself, there's no guarantee that devices based on the Android platform will be open to third party developers. Google says that'll be left to manufacturers and carriers to be decide, although it doubts they'll choose to lock them down (hmm, has Google ever worked with a carrier before?)
  • Nokia, Apple (on whose board Google CEO Eric Schmidt sits), Palm, and Microsoft are notably absent from the alliance. Palm has come out today to announce that it intends to continue to integrate Google services into its future products.
  • Carriers currently in the alliance include China Mobile, KDDI, NTT DoCoMo, Sprint Nextel, Telecom Italia, Telefonica, and T-Mobile. T-Mobile and Sprint Nextel are the two national US carriers that are signed up; AT&T and Verizon are not.
  • The first Android-powered devices are expected in the second half of 2008. Rumor has it that Google has been using an HTC-sourced device, the "Dream," to demonstrate Android to potential partners. HTC may launch a version of the Dream as one of its first handsets to use the platform."

(http://www.engadget.com/2007/11/05/googles-android-platform-and-the-open-handset-alliance-a-quick/)



Characteristics

From http://www.openhandsetalliance.com/android_overview.html:

Open

Android was built from the ground-up to enable developers to create compelling mobile applications that take full advantage of all a handset has to offer. It is built to be truly open. For example, an application could call upon any of the phone's core functionality such as making calls, sending text messages, or using the camera, allowing developers to create richer and more cohesive experiences for users. Android is built on the open Linux Kernel. Furthermore, it utilizes a custom virtual machine that has been designed to optimize memory and hardware resources in a mobile environment. Android will be open source; it can be liberally extended to incorporate new cutting edge technologies as they emerge. The platform will continue to evolve as the developer community works together to build innovative mobile applications.


All applications are created equal

Android does not differentiate between the phone's core applications and third-party applications. They can all be built to have equal access to a phone's capabilities providing users with a broad spectrum of applications and services. With devices built on the Android Platform, users will be able to fully tailor the phone to their interests. They can swap out the phone's homescreen, the style of the dialer, or any of the applications. They can even instruct their phones to use their favorite photo viewing application to handle the viewing of all photos.


Breaking down application boundaries

Android breaks down the barriers to building new and innovative applications. For example, a developer can combine information from the web with data on an individual's mobile phone -- such as the user's contacts, calendar, or geographic location -- to provide a more relevant user experience. With Android, a developer could build an application that enables users to view the location of their friends and be alerted when they are in the vicinity giving them a chance to connect.


Fast & easy application development

Android provides access to a wide range of useful libraries and tools that can be used to build rich applications. For example, Android enables developers to obtain the location of the device, and allows devices to communicate with one another enabling rich peer-to-peer social applications. In addition, Android includes a full set of tools that have been built from the ground up alongside the platform providing developers with high productivity and deep insight into their applications." (http://www.openhandsetalliance.com/android_overview.html)


Android ranks very low on the Open Governance Index

Liz Laffan:

"Android ranks as the most closed project we examined, with an Open Governance Index score of 23%. Yet, at the same time, it is one of the most successful projects in the history of open source. Is Android proof that open governance is not needed to warrant success in an open source project?

Android’s success has little to do with the open source licensing of the public codebase. Android would not have risen to its current ubiquity were it not for Google’s financial muscle and famed engineering team. Development of the Android platform has occurred without the need for external developers or the involvement of a commercial community.

Google has provided Android at “less than zero” cost, since its core business is not software or search, but driving ads to eyeballs. As is now well understood, Google’s strategy has been to subsidize Android such that it can deliver cheap handsets and low-cost wireless Internet access in order to drive more eyeballs to Google’s ad inventory.

More importantly, Android would not have risen were it not for the billions of dollars that OEMs and network operators poured into Android in order to compete with Apple’s iconic devices. As Stephen Elop, CEO of Nokia, said at the Open Mobile Summit in June, 2011, “Apple created the conditions necessary for Android”.

However, there are some very good lessons to learn from Google’s management of the Android open source project. First, Android was released as an open source project at a point in time where it was already a very advanced, complete project. OEMs, operators, and software developers could more or less immediately use it to create derivative handsets and applications. Second, Google kickstarted a developer buzz around the project with the $10 million Android Developers Challenge. Alongside financial incentives, Google sent an alluring message by opening application development within a previously inaccessible mobile industry. Finally, Google’s speed of innovation (e.g., five platform versions were released in 2010) outpaces any external innovation and makes the ecosystem entirely reliant on Google." (http://timreview.ca/article/512)

Discussion

Analysis of its importance

Stephen Walli:

"Google led the formation of the Open Handset Alliance to collaborate on developing a Linux-based royalty-free development platform (operating system and middleware) for mobile handsets. This culminated in the release of the Android mobile software platform as OSS in October 2008, and was shortly followed by the Android Market as a distribution mechanism for Android-based applications. Like Apple, Google is forming a developer community around Android and wants to set up the Android Market as the marketplace for developers and consumers to meet.

Google wants to drive Android application development that uses Google services in order to grow their ad revenue as the mobile web comes into its own. They are providing the necessary focus around which the handset manufacturers, mobile network operators, and related OEMs can collaborate. Based on their own open source experiences, they are also providing the necessary architecture for participation required for a successful open source community to develop.

Android is likely to face two key challenges. First, Google is not an operating system company. They don't necessarily have the experience and resources to meet the calendar demands the handset manufacturers have for regular releases, something that Symbian has traditionally done well. Second, while it makes sense from Google's perspective to drive mobile application development around their services, the rest of the world may not feel that way and have their own, possibly competing, perspectives.

This should be an opportunity for the newly forming Symbian Foundation. Google application services running on a Symbian base would seem to be a win for Google, application developers trying to settle on a model, and for Symbian doing what it does best around the mobile operating system. Since the not-for-profit Symbian Foundation will not be under market competitive revenue pressure, profit-centric competitive decisions are removed that might have historically put cooperating with Google at risk. This would seem to be a good time for Symbian and Google to explore their complementary spaces in the technology network." (http://www.osbr.ca/ojs/index.php/osbr/article/view/818/790)


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/)


1. 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. [3]

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:

  1. 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.
  2. 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." [4]


2. 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/)


3. After the refusal of Google to share the Honeycomb source code, April 2011, by Ryan Paul:

"When Android was first announced, Google's evangelists touted it as an open ecosystem that would enable innovation—a hardware and software reaffirmation of the Carterfone decision. They spoke of a future where users would be free from restrictions and be able to install whatever software they want.

Sadly, those promises were never fulfilled and the dream of an open mobile ecosystem around Android never materialized. In reality, Android has become an insular platform developed almost entirely behind closed doors in an environment that is hostile to external contributors and is mired in a culture of secrecy that serves a small handful of prominent commercial hardware vendors and mobile carriers.

The vast majority of Android smartphones are encumbered by lockdown mechanisms that block installation of third-party firmware. Some mobile carriers even block installation of external software entirely, in stark contradiction of Google's early promises. The availability of Android source code after each release was really the last remnant of openness in Android—and now it's gone. The whimsical notion that Android is an open platform is a tattered fabrication that has been stretched beyond the average open source software enthusiast's capacity to suspend disbelief.

Sadly, there is little about this move that is surprising. Google has long exhibited a pattern of behavior in its Android dealings that reflects a disregard for openness and the third-party development community. It started even before the first Android release, when Google silently stopped making SDK updates available to the public for months and used nondisclosure agreements to gag the privileged few who were given access.

Google further demonstrated its apathy towards the third-party Android developer community when the company's legal department sent cease and desist notices to a prominent modder in an effort to block the inclusion of Google's proprietary Android software in custom firmware images. In both cases, the company's heavy-handed approach to dealing with independent developers and complete lack of appropriate communication were just as troubling as the implications for Android's openness.

After scrutinizing the nature of Google's interaction with the open source software community on matters relating to Android over the past few years, the fact that they are declining to release source code now doesn't seem like a change in direction. It's the natural evolution of a culture where openness is a marketing gimmick and not a core principle.

What makes it all the more troubling is the extent to which Android deviates from the conventional upstream Linux stack. The insular nature of the Android userspace makes interoperability between Android and conventional mobile and desktop Linux platforms difficult and impractical. Android's Linux kernel even diverged from the official upstream Linux kernel due to different approaches to power management. The technical differences were only recently resolved.

Because Android operates its own Google-controlled fiefdom outside of the upstream stack, its growing popularity doesn't materially benefit upstream Linux. As more hardware vendors flock to Android, the growing ubiquity of Google's platform necessarily marginalizes the healthier and more inclusive environment that exists upstream.

The vendor-neutral mobile Linux space is gradually being displaced by a walled garden in which Google is the ultimate arbiter and has complete control. In that sense, Android is unambiguously detrimental to the goal of encouraging software freedom on mobile devices." (http://arstechnica.com/open-source/news/2011/03/android-openness-withering-as-google-withhold-honeycomb-code.ars?)

Why Android will beat the iPHone

Glyn Moody:

"The openness of the Android platform means that developers will have a freedom those working with the iPhone can only dream of. In terms of hacking the G1, that may be of limited appeal, but elsewhere it is crucially important, notably for handset manufacturers and mobile companies. The former will be able to port Android to more or less any model, and to add such bells and whistles as they wish. And yet even this is not the most important aspect of such portability.

Where I believe that the Android platform will really score is outside the mobile domain. For not only can the code be ported to other mobiles, it can be used for – well, anything. The obvious application is for the rather nebulous Mobile Internet Devices (MIDs), but here's an even more interesting possibility: netbooks." (http://www.computerworlduk.com/community/blogs/index.cfm?entryid=1890&blogid=14)

Read the whole article for the detailed examples given!!



How open/free is OpenMoko?

From Ostatic, a comparison between Android and OpenMoko:

“If all you want to do is develop or run open source software on your handset, then all the major players have you covered. You can buy a copy of Visual Studio to develop applications for Windows Mobile, or download a free beta of the iPhone SDK from Apple, and share your software to your heart's content. Well, almost: Apple is going to maintain some control over what iPhone users can buy from their devices, and it's not yet clear how this will play out with open source software.


But what if you want not just the application layer, but the underlying phone itself, to be open source? In this case, you have two main choices. The first, and the one that has gotten the most press lately, is Google Android. No Android phones exist yet, but Google has started releasing the software - a GPL'd kernel - and they've announced plans to use the Apache License for the final software. Using ASL rather than GPL means that handset manufacturers will be able to add their own enhancements to the Android code without any requirement for sharing back with the community.


Android only gets you so far with open source; although the software itself will be open (or at least it will start as open, though there could be closed parts in any particular device), most people will need to pick up a closed device from some member of the Open Handset Alliance to run it. If you want openness all the way down, you need to turn to OpenMoko.



With OpenMoko everything is open source: the software (GPL and LGPL licensed), the hardware plans, even the CAD drawings for the case. The tradeoff is that it'll cost you about $400 for their second-generation device (due out this month). Most regular cell phone users are unlikely to be willing to put that much premium on freedom.


One final possibility is interesting to those who like the OpenMoko hardware but think Android has a better chance of delivering sophisticated applications quickly (due to Google's clout and cash bonuses for development): run Android software on an OpenMoko phone. Though not currently possible (due to conflicts between Android's required instruction set and the CPU used by the available OpenMoko phones), this could happen in the future as both projects evolve.” (http://ostatic.com/158950-blog/how-open-do-you-want-your-phoness)

More Information

  1. P2P Telephony
  2. F-Droid: Free and Open Source (FOSS) software on the Android platform.

Competing Open Source Mobile Operating Platforms

  1. LiMo Foundation
  2. Symbian Foundation