Linux kernel is known to run on a wide variety of devices. It can power almost every electronic equipment that features a CPU, from high-end video cameras to space stations. Its software design makes it capable to scale from tiny CPU cores to huge mega computers, utilizing the same code base. It would be really strange if Linux did not have a presence on mobile devices (smartphones, tablets, smartwatches etc). Most people know Linux from Google’s highly successful Android Operating System, which made its appearance in 2008. However, Google was not the first company that brought Linux to mobile consumer devices. The first-ever Linux based smartphone, was the Motorola A760, in 2003. Below, we’ll discuss the past and future of the Linux Kernel on mobile devices.
The Road to Android
From 2000 onward, several efforts were carried out to produce a stable and extensible mobile platform based on Linux. Most notable among these are Intel’s Moblin and Nokia’s Maemo Linux distributions. These two platforms were later merged to form the MeeGo distribution, which was developed under the umbrella of the Linux Foundation. MeeGo was designed to work on the same range of platforms that Android can run today. It was abandoned in September 2011, in favor of Tizen, another Linux Foundation project jointly developed by Intel and Samsung. MeeGo was also forked into Mer, which nowadays forms the base of Jolla’s Sailfish Operating System. Tizen is still under active development today. In fact, it is the second most widely-used smartwatch platform, followed by Android.
You may also like: Android Myths and Facts: Busting 10 Urban Legends
Other interesting platforms based on Linux are Ubuntu Touch and Firefox OS. Each one followed a different path: Ubuntu Touch tried to provide a unified experience between desktop and smartphone setups, where Firefox OS developed an Application framework on top of Web Technologies and the Mozilla’s Gecko Web Engine. Both projects are now terminated, as they failed to secure a viable market share.
Between all efforts to bring Linux on mobile devices, only Android has seen success. Actually, Google’s platform managed to establish a huge share on the market, showing the way out to giants like Microsoft and Symbian. Google’s success can be traced back to the following:
Android is developed in-house, following Google’s own rules
Despite being open source, Android is mainly developed by a number of Google employees. Code actually becomes available after each version release, leaving no real room for contribution to the development of the open source community. Goals for each new release are mainly set by Google itself, based on their business needs. By having full control over the development process, the software can easily get a more market-oriented direction.
Moreover, everything on the Android platform seems to divert from the “traditional” Linux approach of doing things. Apart from the Linux kernel, there is nothing else reminding a traditional Linux-based setup (for example, a Linux desktop). Google has developed in-house alternatives to many existing open source software solutions. Also, third-party open source projects that make it on Android, are usually forked and modified so they can work with it.
The above development practice includes the Linux kernel too. Actually, the Android version of the Linux kernel diverted too much from the official (upstream) kernel at some point in development. This finally initiated an effort to contribute Google additions back to the upstream kernel and unify code, and chaos was avoided.
Google is used to do things in a way that fits with Android’s design, without caring for breaking support for other platforms. Thus, by concentrating development resources on specific needs and on certain hardware, Android development can move faster and Google’s platform can keep up with the competition.
Collaborations with device manufacturers
Almost every product created by Google has enjoyed big success. This holds true for Android too. Google used its already established name to boost Android adoption by manufacturers. It did not take long until Android secured its place on the market. In 2010, the Nexus devices line was introduced. Nexus models have been manufactured by various companies. Being high-end devices and featuring long-time software support by Google itself, they generated both big revenue for the manufacturers and high market share for Android.
The Future of Linux on Mobile Devices
Android is still going after a decade of development. There are many speculations that Google is planning to move away from the Linux kernel in the future. This is mainly due to Linux’s GPL v2 code license. This license makes it difficult for manufacturers to implement support for proprietary features. A new operating system kernel, Zircon, has been in development for some time by Google. Its license plan is more flexible than Linux and it also tries to address some drawbacks of Linux software architecture.
Software updates support on Android devices is small. Most high-end devices usually get software updates by the manufacturer for a couple of years. If there is a custom firmware distribution port available (like Lineage OS), update support can extend to three or four years. Things are even more disappointing on the budget device segment, where several devices do not even get a single software update.
This situation triggered an ambitious effort to create an after-market Operating System that aims for a ten-year life-cycle for smartphones: postmarketOS. It will be based on Alpine Linux, a security-enhanced and lightweight Linux distribution based on musl libc and BusyBox. Android is considered by the postmarketOS developers as a highly insecure platform: A single Android security vulnerability affects billions of devices. Although this vulnerability could be fixed by modifying some lines of code, code variation between devices makes it impossible to patch all affected devices. PostmarketOS will try to address this issue by having all supported devices sharing the same packages and code base. Each device will feature only one device-specific package.
The Librem 5 Smartphone
Recently, Librem, a company creating fully open source (down to the BIOS) Linux laptops, has announced a fundraiser campaign for creating a fully open Linux-based smartphone. Against all odds, it managed not only to raise the required 1.5 million dollars but also to exceed it by nearly a million dollars. The idea is creating a phone that will feature Llibrem’s PureOS, a security-oriented and user-friendly Linux-based Operating System. The user interface most probably will be based on KDE’s Plasma Mobile or GNOME. To be able to create a fully open source setup, the company will have to develop on a mid-range platform. Despite being back in terms of hardware features though, Librem’s device might be powerful in other areas, like user interface responsiveness and multi-tasking capabilities.
Linux’s future on mobile devices seems promising. Manufacturers have already started to favor open source developments. Also, hardware platforms that can run Linux without the need of enormous code modifications, are now available. Android’s monopoly has started to stagger, now that its design flaws are becoming evident. If Librem’s efforts eventually succeed, a different and interesting mobile platform will come to light. This platform will most probably be a more difficult application development target than Android. Despite that, Purism smartphone will make use of the best of what the desktop Linux code repository can currently offer, which could give Android a run for its money.