Rooting a phone lets us install custom operating systems, known as ROMs, which replace the device's preinstalled OS. Most custom ROMs are based on code from the Android Open Source Project (AOSP), which gives them a look and feel similar to Google's version of stock Android. But every now and then, you'll see a ROM that isn't based on Android, though these are few and far between — at least, until now.
Currently, there's a lot of fragmentation among the various non-Android custom ROMs, which ultimately limits what ROMs work with any given device. A new movement known as Project Halium aims to fix these underlying problems to make it easier for developers to create custom ROMs that are not based on AOSP.
The Android operating system, at its core, is based on Linux. More specifically, it relies on what's known as the Linux kernel — this is the part of the system responsible for allowing apps to interact with the hardware. For example, when you use a camera app, information tunnels between layers of software, and the kernel serves as the bottom layer, as it directly interacts with the physical camera.
AOSP-based custom ROMs like CyanogenMod or LineageOS are so prevalent because Google has already published a fully-functional kernel that anyone can use. To make this kernel work with any device, a developer only needs to merge in device-specific code that is also freely available on the Code Aurora Forum (CAF) in most cases.
But the problem with AOSP- and CAF-based kernels is that they will only work when the rest of the ROM is also based on AOSP, so even though there are a bunch of custom operating systems out there, they aren't very different from one another at their cores.
This is where Project Halium comes into play. It's an attempt to get larger, non-Android developers like Ubuntu, Sailfish, Plasma, and others, to come to a consensus on a standardized way for ROMs to interact with lower levels of the kernel. In short, it could give Linux-based custom ROMs a standardized kernel similar to the one offered by Google in AOSP.
Imagine that these developers are building manufactured homes. The kernel would be like the division of the company that lays the foundation and seats the house. The idea is to now outsource the foundation process to a single company that everyone uses – the insides of the home will retain their individuality, but the base needs to be able to fit each developer's home.
Project Halium aims to initiate a group development effort for an important bit of the kernel known as the libhybris. This works in a part of the kernel called the HAL (Hardware Abstraction Layer) and tells the system how software should use code to interact with the hardware. If everyone could come to an agreement on this aspect, it would open the door for custom ROMs that are based on all the various flavors of Linux instead of just AOSP.
To use another analogy, development of non-Android, mobile OSes is like a chili contest where anything goes. Now, the chili contest will have stricter rules, such as refining the scope of allowed ingredients. The chili dishes will still be diverse, but the playing field is leveled to exclude obscure soups or pseudo-chili for a more uniform contest.
Put simply, if Project Halium takes off, we will eventually see a larger catalog of truly custom ROMs for our smartphones — what's not to love about that?
Start your career in Motion Graphics with the Gadget Hacks Beginners’s Guide to After Effects Course