Every now and then a colleague of mine tries to bump Linux’s user count share by arguing that Android can be considered a Linux distro because it uses the Linux kernel.
Let me sort this misunderstanding of whether Android can be considered a Linux distro out once and for all.
If you haven’t read our article on the difference between Unix and Linux you should start from there. I defined what Unix and Linux are, their history, and how they differ. The coax of the matter is that Linux is the kernel which was developed by Linus Torvalds in 1991 based on the MINIX OS.
Over time, contributors have taken advantage of the fact that Linux (coupled with its GNU component) is open-source and have adjusted it to suit their ideas and implementations; creating a variety of distros with a plethora of unique features.
What is Android?
Android Inc. was founded in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White in California, USA. The Android project was described as a project with a “tremendous potential in developing smarter mobile devices that are more aware of its owner’s location and preferences”.
The open-source Android OS was first developed with the aim of creating an advanced OS for digital cameras until when they figured out that the market for digital cameras wasn’t big enough and they realigned their focus to build an OS for handsets that would compete with Microsoft’s Windows Mobile and Symbian.
Google Inc. bought the company in 2005 and as we know now, the rest is history.
Under the hood, Android uses a modified Linux kernel which provides developers with tons of pre-built and well-maintained features. This, in turn, saves time and allows Android developers focus on the most important features for mobile devices.
According to The GNU Manifesto by Richard Stallman, an OS has four elements:
- The kernel
- The HAL (Hardware Abstraction Layer) – where drivers that are not compiled into the kernel ‘reside’.
- The Userspace – where applications ‘reside’.
- The Desktop Environment or UI e.g. GNOME and KDE.
The aspect of Android that is Linux is its Monolithic kernel, which is a modified version of the Linux kernel and nothing more. It comes with its own libraries and APIs to fulfill the requirements of hand-held devices even ones with relatively small batteries.
GNU/Linux and Android are not the same because:
- Android is an open source OS that was first created by Android Inc. and is now owned by Google while Linux is the kernel that was created by Linus Torvalds (and contributed to by many others) under the GNU project.
- Android is developed for mobile phones and Mobile Internet devices while Linux is developed for desktops/laptops/servers.
- Android uses its own C library, Bionic; while Linux distros use GNU C library.
- Android cannot run any programs that are meant for Linux.
- Android implements a modified version of the Linux kernel with specialized libraries and APIs for interacting with cellular networks and providing support for apps that can be used by phone models irrespective of their vendors.
- You can go through the “About” info section in your settings to check the kernel version that your phone is running.
I hope this article has helped you understand the difference between Android and Linux better? And why Android is not a Linux distro?
Do you have any disagreements, questions, or comments relating to the topic? Share them with us in the comments section below.