What Google really means when it calls Android 'open'
Is Android fully open? Well, no, but quasi-open gets most developers to exactly where they want to be.
The gooey center of Google's pitch to developers to make apps and
services for Android is a series of terms easily misunderstood, but
central to Android's flexibility and success.
Every once in a while,
Android
terminology discussions flare up like a stomach ulcer for Google. They
center on Android's nature as a development platform, which in turn
affects the variety and breadth of Android apps -- from Minecraft to
Pandora to the latest Flappy Bird copycats -- that you can download, and
how up-to-date they are. Is Android truly open-source? Can you "fork"
Android? What does Google mean when it talks about Android's "openness"?
The latest debate was sparked by recently discovered documents that reveal
stringent restrictions on device makers that want access to Google's
search engine, the video service YouTube, and more than a million apps
found in the Google Play app store. European antitrust authorities are
looking at whether Google has unfairly taken advantage of Android's
position to push its own services and apps, according to The Wall Street
Journal.
"The question of how you define 'openness' depends on what you want 'openness' to mean."
--Avi Greengart, analyst
--Avi Greengart, analyst
The source, if you will, of Android's problems is its "open
source" nature and a fundamental misunderstanding of what Google is
doing with Android. So let's take a look at what we're really talking
about when we talk about "open source" and "openness."
Openness is both a lure for developers, who want to create freely, and a
trap that Google has built for itself. It's a term that the company
uses to describe its approach to Android, but because it's a fairly
common term it's come to mean different things to different people. As
such, it's highly dependent on their interests.
"The question of how you define 'openness' depends on what you want
'openness' to mean," said Avi Greengart, an analyst at Current Analysis.
"Do you want to be part of the process to define the software from the
outset? Do you want to create a phone that exemplifies the best of
Android and Google services together?"
Google's approach to Android development and the Android ecosystem
promotes an atypical definition of the terms. The easier one to explain
is how Android relates to open source.
Historically, open source coding projects large and small have been developed and managed by communities open to all.
Firefox and Linux are prime examples of that. The Android Open Source Project, or AOSP, is the Android code made available to all.
Linux is the basis for Android, but Android has a key difference. It's
developed behind closed doors at Google, and then once new versions are
ready, they're made available to the public. It's the biggest and
possibly the only open-source project developed this way. There's often a
short delay between a new Android version being completed and when the
code is made public, and there's rarely any public input on Android code
before release.
Open and openness in the Android world are a bit more nebulous. Google's
argument is that Android is open because the code is opened to all,
because Google doesn't charge for the platform, and because developers
have access to it all. The only restriction is on Google services, for
which the company demands that phone makers conform to certain
specifications.
Google's take on Android is that they make it as open as possible.
Dianne Hackborn, a tech lead on Android at Google who has worked on
Android since its early days, recently commented at length on Android
development, openness, and how AOSP relates to Android with Google services integrated.
"One of the things that is interesting about platforms today versus the
traditional desktop is that these cloud services are becoming
increasingly central to the core platform experience," she said. "This
presents a special challenge to an open-source platform, which can't
really provide such cloud services as part of the standard platform
implementation."
The tension between the quasi-open-source operating system and access to
proprietary cloud services, including programming hooks called
Application Programming Interfaces (APIs), and encompassing Google apps
such as the Play Store, Google Music, and Google Maps, fuels much of the
debate over Android's openness. This didn't matter so much five years
ago, when few people used Android and cloud services weren't as popular
or necessary, but modern Android is explosively popular and heavily
reliant on the cloud. You can look no further than the appeal of the
Nexus 5 and its Google Now integration for evidence of that.
Eleven of Google's key members of its Android
mobile operating system team took questions from developers at the 2013
Google I/O conference in San Francisco.
Hackborn argues that AOSP is able to power any phone out of the box.
"AOSP is far more than the basic bones of a smartphone operating system.
It is a complete smartphone operating system," she said. "The fact is,
if you build AOSP today and put it on a phone, you will have a pretty
fully functioning platform." She noted that AOSP includes smartphone
essentials like a home screen launcher, contacts directory, dialer and
phone app, camera and gallery.
Phone manufacturers and carriers that want to use Google's services must
conform to Google's device standards, a stricter requirement than what
basic AOSP requires. For some, this is a catch. For others, it's merely
the cost of doing business.
The other component to Android's claim of openness is the Google Play
Store ecosystem, said Abhisek Devkota, community manager at CyanogenMod, arguably the most successful of the custom-compiled versions of Android.
"The ecosystem creates a level playing field," he said. "As an app
developer, I can take my app to any store and get the distribution I
need. I still have flexibility."
To get access to Google's Play Store apps, all you have to do is install
the Play Store. By running the app, you're agreeing to Google's terms
of service, but at no point are you or the developer of your favorite
app compelled to use or install Google's preferred marketplace.
The Google Play Store is how Google makes its money on Android, not Android itself.
(Credit:
Google)
Forks and fragmentation
Devkota pointed out that several Android forks, such as the version that runs on Amazon's Kindle Fire and ones used by Chinese phone makers, do not use Google services. But what are they?
Devkota pointed out that several Android forks, such as the version that runs on Amazon's Kindle Fire and ones used by Chinese phone makers, do not use Google services. But what are they?
A source fork occurs when a developer takes the source code in a new or
different direction. There are dozens of publicly available Android
forks, built each time that a developer publishes newly recompiled code.
Each time that new AOSP code gets published by Google, it's up to the
developer to integrate it into a new build.
Android fragmentation occurs when a phone ceases to receive Android
operating system updates, often because operating system updates
encounter compatibility problems with older hardware. Most often, this
comes at the hands of the carriers, although Google does cease to
develop new code as well. Currently, the biggest fragmentation split is
between Android 4.0 Ice Cream Sandwich and above, and Android 2.3
Gingerbread.
Last year, Google introduced a new framework to the Play Store so that
more apps could be backward-compatible with older versions of Android.
However, only about a quarter of top-tier apps use it, said Ben Bajarin,
of the analysis firm Creative Solutions.
"My mom and dad use Android phones. One of them is on my software, the
other is on stock Nexus software. If I asked them to tell me the
differences, they wouldn't be able to."
--Abhisek Devkota, CyanogenMod
--Abhisek Devkota, CyanogenMod
"Most app stores are curated," he said, including Amazon's store and the
most popular of the Chinese app markets. Nevertheless, he said, "most
Android developers won't adopt the framework because they don't even
adopt Google's best practices to begin with."
Hackborn defends Google's right to include proprietary services, and to
keep them proprietary, saying that its no different than any other
proprietary app on Android. That's not entirely true, since Google does
keep some API development to itself, but to its credit the company does
open-source most of the new APIs introduced to Android.
Google may push its suite of services, including Maps, Gmail, Search
including Google Now, Calendar, and Drive, but it's hardly forcing AOSP
developers to use them. If you buy the Oppo N1 smartphone
that comes with Devkota's CyanogenMod, it does have Google services on
it, but most people come to CyanogenMod by installing it by hand. From
there, if you want Google services, you have to install them yourself.
"My mom and dad use Android phones. One of them is on my software, the
other is on stock Nexus software. If I asked them to tell me the
differences, they wouldn't be able to," Devkota said.
It's certainly possible that Google will pull more default Android apps
into the new Play Store framework, even core apps like the Dialer and
Contact List. It could build features into those services that make them
the best in class, and it could even give them an unfair advantage over
similar apps made by competing developers.
However, Android runs on more kinds of hardware than just about any
other operating system out there. Not just phones and tablets, but
refrigerators and ovens and cameras, just to get started. Google may not
make money on them, but to suddenly undercut years of talk of
"openness" to drive people to Google services would be a massive shift
for the company.
Is it possible? Sure. But it's as likely as Apple shipping an iPhone running Android.
Source : Cnet