Schooling David Pierce on Android

David Pierce

Don’t get me wrong, I’m a big fan of David Pierce. He did some great work at The Verge, and I’m enjoying him even more as the co-host of WIRED’s Gadget Lab podcast. But, as the title of this post would suggest, I’ve a bit of a bone to pick with Mr. Pierce in regards to that podcast’s latest outing.

Episode 236 begins with a discussion of the Microsoft-Cyanogen partnership I wrote about last week. A couple of things I heard David say about Android were surprisingly incorrect; I don’t expect him to ever read this, but as lots of other people also get this stuff wrong I figured it couldn’t hurt to post some unsolicited feedback here.

“Cyanogen/Fire OS/MIUI is a fork of Android.”

This is a common misconception that needs to be corrected. None of the above examples are “forks”; they are all, irrefutably, 100% Android. How can this be? Well, what the vast majority of users think of as Android is actually just Google’s distribution of it.

Distribution? Wat?

If you used Linux on a desktop computer then you’d already understand; here’s a quick and dirty explanation for those who don’t: a Linux distribution (distro) can be broken down into three basic components: (1) the Linux kernel, (2) a desktop environment and (3) a collection of software and services. Popular Linux distros include Ubuntu, Linux Mint and Fedora—they all use the Linux kernel, but the DEs and software/services differ for each.

An Android distribution is fundamentally the same: (1) the Android kernel, (2) a launcher and (3) a collection of software and services. CyanogenMod/OS, Fire OS and MIUI are all proper distributions of Android—they just use a different software/services stack than Google does. Maybe different launchers as well… Of course, Google’s Android is by far the most popular Android distro out there, but the others are no less Android than Google’s version is.

Insofar as it applies to software, the term “fork” implies an unnecessary duplication of code. Hopefully I’ve demonstrated that with these different Android distributions that term is not only wrong, it’s misleading.

“Google could shut down Cyanogen in a heartbeat if it wanted to.”

No, it really couldn’t. Nor can it do anything about Fire OS, MIUI or the vast universe of homebrew custom Android ROMs. That’s because Android itself is open source. Perhaps you’ve heard the term AOSP? That stands for the Android Open Source Project. It has a very permissive Apache License that makes the software free for anyone to use. It’s the Google software/services stack that’s proprietary. This is why you have to flash a gapps zip separately if you want to use Google apps with a custom Android ROM.

It’s possible, I suppose, for Google to close-source future versions of Android if they really wanted to. At that point we might see some true “forks” of Android, based on the current Apache-licensed source code.

I totally get that the extensibility of Android might be an entirely foreign concept to someone more familiar with iOS. Android isn’t necessarily better or worse; it’s just better for a user like me. So let’s put a fork in these misconceptions about Android, because they’re done.

One comment:

Leave a Reply