FOSS Android Apps and my quest for going Google free on OnePlus 6
Posted on Sun 07 June 2020 in android, google, open source, IT
A while ago I decided I did not want to be a product anymore, and start paying for services. I started by breaking free from all the free-but-commercial company services such as Dropbox and Gmail, and ultimately ended up ditching all non open source software on my phone, doing away with anything that was Google-run.
There is an alternative: follow through as we embark on the journey of moving to Free and Open Source Software (FOSS) for Android.
Easy replacement for essential services
The problem with non-open source software is that they have to keep building new features into their products, or the market will tag them as dead. They have to keep moving, and some occasional bugfixing is not enough. On the other hand, open source software does often not have this drive. These projects’ maintainers just tend to make sure their software runs smoothly and that it has all it should have.
So, after Dropbox kept implementing useless features and, most of all, would force me to move my folder to a partition formatted with ext4 instead of ntfs, I was fed up. My first step was thus to self-host an instance of Nextcloud. I chose self-host because I wanted control and because I already had a server to host it on, but there are options where you can rely on someone else’s instance and register for a share, pretty much as Dropbox does.
And Nextcloud is really, by all means, a valid alternative to Dropbox. There are clients for all operating systems, including mobile ones, with all the needed features, and they are actively maintained. Actually, it’s more than an alternative to Dropbox! I started with just file hosting, but there are countless apps that can boost your Nextcloud instance. I added Notes and did away with Google Keep, but most importantly Contacts and Calendar so that I could sync my phone contacts and meetings not with Google, but with my own server (using the DAVx Android app, freely available on F-Droid). I also tried the Passwords app to ditch Lastpass, but the Firefox addon was not working super well (end thus ended up signing up for Bitwarden instead). I switched to Bitwarden in the end.
I then scouted for (paid) privacy-focused email services. First to grab my interest was Tutanota, but after using it a few days it was clear to me that they were still far from being something one could rely on as a power user (no conversations, no option to receive mails from other domains, and more missing). I then went with ProtonMail, which I am very happy with — true, some features miss there as well, but they are minor. I now have a primary protonmail address, and (as a paying user) I could link my other addresses so I handle all from one dashboard. It came with a subscription to ProtonVPN as well, but commercial VPNs for privacy are just nono. And so Gmail was gone as well.
Not easy to replace was Google Maps. First I went with PocketMaps, but again, not something you can rely on a daily basis (app always opens in the center of the map, regardless of last session, and no way to look for a location unless you ask for directions till there). But then, meet OsmAnd (free on F-Droid), a beautiful map app with literally everything Google Maps has (except for huge amounts of reviews for places). Not every single restaurant and cafe is marked on the maps, but that is minor. Directions are sometimes not optimal, but they work fine, I still get from A to B in a new city, so that is enough I guess.
Determined to only use open source software on my phone, I also switched from Bittorrent Sync to Syncthing. The only non FOSS software I still have is WhatsApp, but let’s hope enough people move to Telegram soon.
So with this I was able to ditch every single Google app I had got accustomed to. But there was still several Google services running in the background…
Moving to MicroG for LineageOS (on OnePlus 6)
To really have an open source smartphone, we need to flash a custom ROM. At this moment, the best choice seems to be MicroG for LineageOS, which is basically LineageOS (Android without Google apps) with the addition of MicroG which mimics Google background services for apps that might rely on them (position, push notifications, etc). While LineageOS is actively developed, MicroG seems to be lagging a bit behind as of now, with no Android 10 support yet (i.e. no version 17.1). This is a problem if you already have Android 10 installed on your phone: apparently there is some incompatibility between the bootloaders of Android 10 and Android 9. This means that if you come from Android 10, you must install some other flavor of Android 10 (or do some hacking I haven’t been able to figure out what it is, and I am not alone).
The main problem is that even TWRP will not really work, at least not the regular one. I had to use a tweaked version by Mauronofrio. Even with that though, no way I could get MicroG for LineageOS 16 installed. In my case, for OnePlus 6, I was lucky that there was another option: OmniROM. Using the tweaked TWRP and OmniROM 10, I did manage to flash the custom ROM by following the instructions provided by LineageOS (with all the fiddling due to double A/B system partitions, and I guess I will never update for the same reason!). Anyway, differences between LOS and OmniROM are minimal, and they are both open source and sufficiently actively developed. And now, with OmniROM, Google is officially out of my phone.
Useful resources for OnePlus 6 custom ROMs
- This thread on XDA is a good reference, with a list of tested ROMs.
- My OnePlus 6 (enchilada) LineageOS 17.1 update story
- Oneplus 6 (and possibly newer?) upgrade steps (including base firmware)
- [GUIDE] The Noob’s Guide to A/B Partitions and Other OP6 Idiosyncrasies
- How A/B Partitions and Seamless Updates Affect Custom Development on XDA
- [GUIDE] MicroG on OnePlus 6 (open source and ligthway alternative to Google services)
- Who here has been able to successfully install on a OnePlus 6? What am I doing wrong?