It's hard to pinpoint the date exactly, but sometime in the past two years, Linux became the dominant OS for smartphones, and in the last couple of months, reports are starting to show that it's doing the same on tablets. All this is thanks to Android.
However, Android doesn't feel like real Linux. Originally, the kernel forked off from Linux (though the two are now being merged), and the way that closed-source components have been bundled with it leaves a sour taste in many open source advocates' mouths.
The Linux world hasn't just watched as the tech titans fought it out. Various companies and organisations have been hard at work designing new mobile operating systems built on Linux. Some of the OSes are based on new ideas and concepts while others are hackable, open versions of existing systems.
It's almost certain that some of the systems we'll look at here will quietly die off without ever making much of an impact, but with the right combination of technical skills, design flair and business acumen, one of these could take the world by storm and usher in a new era of mobile Linux.
The downside of the mobile marketplace is that it's much harder to install new operating systems on devices than it is on desktops. There are fewer standards, and newer systems typically only support a few devices. The old Nexus 7 is one of the most popular, and our test system for this article.
At the time of writing, only one of the systems is currently available in the shops (Firefox OS), though in the fast-paced world of mobile phones, more may be available by the time you read this.
It's Android, but now as we know it.
CyanogenMod, is built using the Android Open Source Project, and it's a free OS that's very similar (from a users point of view) to Google's version. We set out to convert our trusty Nexus 7 into a completely open source device to see how this compared to the normal blend of open source and proprietary.
Installation proved painless; we just had to make sure we had the appropriate tools installed (the android-tools-fastboot package in Debian and Ubuntu based systems), then we followed the instructions for our device from www.cyanogenmod.org. The result looked pretty similar to how our device looked when it arrived fresh from Mountain View. Even the wallpaper had the familiar Android 4 swish. There were a few more options that allowed us to customise the device more to our liking, but in six months of using the Nexus, this writer has come to quite like the Android default.
While the OS may be similar, none of the Google apps come with CyanogenMod. What's more, there's no Google Play, so we couldn't install them. Actually, this was a choice we made. It is perfectly possible to install Google Play on CyanogenMod, but doing so was against the spirit of creating an open source environment on our Nexus 7.
First, we wanted a decent web browser. Without this, frankly, a tablet is almost useless to us. The stock browser that comes with CyanogenMod is ugly as sin, and a bit unpleasant to use. On Android, we'd used Chrome, but in keeping with the openness of this challenge, we went for Firefox. The installation file is available from https://ftp.mozilla.org/pub/mozilla.org/mobile/releases/latest/android/multi. With this, we had a first-class mobile browser on our tablet. If nothing else worked, this could just about be acceptable as a computing device.
Fortunately, though, we weren't done here. We don't have to abandon app stores just because we can't have Google Play. F-Droid is a market place of free software for Android and CyanogenMod. Just download the installation file from their website and you'll get a wealth of open source software to run on your device. It's not as large as Google's store, so if you drastically need a thousand different ways to view pictures of kittens, you may be disappointed, but it does have apps for most needs (Android users take note here - F-Droid is an excellent place to find apps that aren't full of spammy adverts even if you're not ready to go down the fully open source route).