Google’s Android, the increasingly important embedded Linux, has had one major problem. It had been moving slowly away from the Linux mainstream. Now, after the recent Linux Foundation Collaboration Conference, Android and Linux are coming back together.
Not only is Google going to be hiring two new Android developers to work closer with the Linux kernel development team, they’re also working on re-merging its driver code with Linux. Indeed, the first series of driver patches that will bring Android and Linux back into alignment have already arrived.
The drift between Android and Linux first came to light as Ryan Paul noted last year when he wrote that “Google engineer Patrick Brady stated unambiguously that Android is not Linux.” Indeed, Brady had said that, but that was an over-statement.
Android is Linux. To be exact, its latest version, 2.1, Éclair, runs on the 2.6.29 Linux kernel. Its userspace, however, instead of being based on the various desktop Linux software frameworks such as GTK+, commonly used in the GNOME desktop or Qt, which is the basis of the KDE desktop is built on top of Dalvik. This is a Google designed custom JVM (Java virtual machine). While this means that using conventional desktop Linux API (application programming interfaces) or porting ordinary desktop Linux programs to Android is very difficult it hardily disqualified Android from being Linux.
No, what was far more troubling was that Google’s engineers were no longer sharing their device driver code with Linux’s development community. This led Linus Torvalds to drop these drivers from the main Linux kernel.