Tuesday, January 14, 2014

Breaking the Prism #001 - Why do we need custom Android ROMs?

Currently, we have three major operating systems for smartphones: iOS, Android and Windows Phone. We also have BlackBerry and Firefox OS, but I'm not considering them as big players for purpose of this article. Windows and iOS are strictly proprietary systems and Android is generally open source with some additional problematic bonuses.

Lets start with Windows Phone and iOS. Those both systems are closely related to desktop operating systems Windows and OS X. All of those systems (mobile and desktop), are closed source and proprietary. Basically it means, that when you are using them, you are believing that companies working behind them, are honest, technically almost perfect and very responsive with bug fixing. You have to believe, because there is no cheap/legal way to examine and audit code by you or independent experts or communities. But should you believe?

I have pretty big issues with trust to companies. Especially when it comes to them handling my data and personal information. And a smartphone is a great storage and generator for such information. E-mails, browsing history, calls history, SMS, instant messaging, photos, geoinformation, videos, and generic files. Combined with rumors that NSA or other agencies are working with companies to put camera or other backdoors into such devices I have no trust for them.

Android from Google lays half way between trust and no trust scale. Core Android system is based on Linux kernel with code written in Java, C and C++. It has open source license that allows to examine code and add own modifications. The problem is that when you are buying device with Android, you are also receiving additional software packages with questionable behavior.

By questionable behavior I mean situation, that we don't know what each part of software is doing in background, where it is storing data and if it sends data to third parties. I call this type of programs "crapware". Usually it is added by phone manufacturer, sometimes by telecom operator, and no one knows how often by government agencies. Also, Google applications which are coming often with Android are not wanted by everyone because of privacy concerns.

Fortunately, often there is possibility to easily switch to clean Android system. And I don't mean compilation and installation form sources. I mean using custom ROMs dedicated to this purpose. Currently there are at lest two ROMs which are aspiring to do it in good way. Replicant and CyanogenMod. 

Replicant project aims to provide complete clean Android experience and replacement of proprietary drivers for various hardware components. CyanogenMod on the other hand tries to build optimally working, clean and very customizable Android system. By looking at those projects from free software perspective, Replicant wins. But since not everything working great on this ROM, practical approach shows that CyanogenMod might be better for non technical end user.

I think, that if your Android phone or tablet is officially supported by Replicant or CyanogenMod you should strongly consider switching to them. You can still install every crapware you like later ;). If your device is not officially supported, you can still try to find unofficial ports. For example, I'm using SmoothieJB based on CyanogenMod for my SGS Plus.

For today, if I would consider buying phone, I probably would buy Galaxy Nexus since it has good support by both mentioned ROMs. In next articles I will try to show alternatives to popular proprietary Android apps so we can try to fight with biggest surveillance programs since ever. Stay vigilant.

No comments:

Post a Comment