FOSSifying My Phone
Part 1: Dumbphones, Data Ownership, and Graphene
It might sound strange coming from a dev but I have romantic daydreams of a less tech-reliant life. Frequently my phone is the subject of these fantasies and more than once in the last year I've found myself hovering over the "checkout" button for a Lightphone, the most aesthetically beautiful device in the dumbphone "scene."
Though I'd love an e-ink display and headphone jack (!) I started to consider how I might be able to dumb down the phone I already have. As I looked at each and every app I had installed and considered the implications of what it would mean to go without (would it free me from thumb shackles or just make my day more annoying?) I also started to think about how much of my phone was held tightly in the hands of one big company.
I use almost every Google product and service numerous times every day. Gmail, Chrome, Drive, Maps, Messages, Android OS, YouTube.... Even the my phone, a Pixel, is Google hardware.
Of course there is (arguably) good reason for this: it feels easy, safe and generally reliable, it's all fairly plug-and-play, and importantly, once you've started using one of their products it's generally going to be easier to stay within the Google ecosystem than it would be to use something from outside.
Now I'm no masochist but after some reading I was feeling confident and curious to see how much I could separate myself from the big G without drastically complicating my life (or my wife's) in the process.
Obviously I decided to start with my phone.
The Operating System
I hadn't originally considered flashing a new ROM to my phone but while looking into minimalist launchers I stumbled across a privacy and security focused open source OS called GrapheneOS developed specifically for Pixel devices.
Over the years Google have crept deeper into the layers of the Android Open Source Project (AOSP), but thankfully it's not impossible to sidestep their sticky fingers. There's a huge community of devs (just check out the fascinating XDA Forums) who are building and maintaining customized ROMs, a kind of DIY firmware that can be used in place of whatever was factory installed on a device.
Graphene doesn't rely on any Google apps or services and doesn't come with any of them installed. This can present problems with things like banking apps (whose development has been intertwined with Google-specific Android architecture) but there are ways to handle those situations, like the amazing microG project. Graphene also offers the ability to install Google apps in a sandbox, letting you be the one to decide what it does and doesn't get access to.
I've played with rooting and flashing before on other devices but I'm far from an expert and I found the installation of Graphene to be incredibly simple. I've been on Mint Mobile for a few years now so my phone was already unlocked. I used a Linux machine and Brave browser to run the webUSB (something I hadn't encountered before) installation. The first USB port I used didn't work (the phone was recognized by the system but unavailable in the browser) but the next one worked just fine and I didn't have any trouble with the random old USB cable I had on hand.
The hardest part for most is probably just backing everything up, especially since the standard Android backup utility backs up to Google Drive and (as far as I could find) there isn't currently a way to extract that backup to disk or otherwise unpack it.
I've been making regular backups of everything I care about on my phone so it was fairly easy to wind things down and wipe the phone clean. Booting into it for the first time felt like a brand new phone, though not all the changes were pleasant...
(to be continued...)