Android “Comes Home” to Linux Kernel
If Android is Linux’s prodigal son, the two parties came a little closer to reconciliation recently with the release of the Linux 3.3 kernel, which merges Android back into the Linux mainline. Despite all this geeky jargon, this is a change that could actually matter even to people who aren’t programmers. Here are the details in plainer English, and why they’re worth noting.
First, let’s start with a recap, in non-geek terms, of what happened: For a long time Android, for political and technical reasons, was developed independently of the Linux kernel itself. Android and Linux both sprung from the same source, and a lot of their code was the same, but the programmers behind the two projects were not collaborating directly. From most perspectives that was bad, because it meant the two software platforms could eventually become highly incompatible. It also meant that Linux could not run “out of the box” on Android devices.
This situation was slated to change for the better back in December 2011, however, when the Android developers committed themselves to merging their code back into the mainline Linux kernel. And with the release this month of Linux 3.3, which can theoretically run on Android devices without any changes or tweaks necessary, they made good on that promise.
Why It Matters
That’s all good and well if you’re a Linux or Android programmer. But why should the rest of us care whose kernel is in which mainline? The answer, simply put, is that the change means Android is one step closer to being “real” Linux again.
Without a doubt, Android is and always has been based on Linux. But to treat it as just any other Linux platform has long been disingenuous. This is true not only because most implementations of Android in the real world lack the customizability traditionally associated with Linux, but because development for Linux and Android were proceeding separately.
Now, the merging of Android’s most important features back into the mainline Linux kernel helps ensure the two code bases will remain compatible over the long term. At the same time, and perhaps more importantly, it should also allow open-source programmers to make their products work on Android hardware without having to go to any special trouble. With the merging of the code, it’s no longer necessary to distinguish between devices that are Linux-compatible and those that can run Android.
Of course, the change does not mean Android and Linux are one and the same, or that Android is no longer on the relative fringes of the Linux world. A lot of open-source software still won’t work on Android because the platform lacks native support for the X Window System, among other key pieces of open-source technology. Meanwhile, the code for some important Android features, like power management, has not yet made it into the Linux mainline and is not due to arrive until Linux 3.4
Nonetheless, at least from a basic hardware standpoint, Android and Linux are now a bit less at odds. And that’s a good thing for developers and end-users alike, since greater collaboration and sharing of resources between programmers — especially in the open-source channel — are rarely a bad thing.