The microG Project: Free & Open Source Google Services

in #technology6 years ago

The microG Project Free and Open Source Google Services.png

Back in September of 2017 I wrote a post titled, "I De-Googled My Phone ~ The Experiment". It was my first full-length post on the STEEM blockchain, so please forgive all typos. In that post, I recapped my experience using an Android phone without any Google services. It was strange at first but became normal sooner than I expected.

To achieve a 'Google free' mobile device, I chose to install Lineage OS. This is a version of Android that is as close to free and open source as possible. The reason it cannot be one hundred percent free and open is due to some code tied into the GPS or other sensors. This is what is referred to as 'binary blobs.' Simply, it is code that cannot be removed or converted to a free and open source version.

Lineage OS is available for a lot of devices, but anyone looking to strip down their Android device will need to unlock their phone's bootloader. After the bootloader is unlocked, the next step is to flash a new recovery program. I am on Linux, so the last few times I chose to do this, I used the Android SDK and the terminal. The process may be a bit more difficult on Windows, but please do your own research.

That is the most difficult part of making any Android device 'Google free.' If the process is not done correctly, we run the risk of bricking our phone or tablet. This makes it a paperweight and no longer a usable phone. Even if the phone does not get bricked, it may still enter a boot loop. In that case, we need to run through the steps, making sure not to miss any of them. Clearly this process is not for the weak of heart.

Running Without Google

The first week was the most painful after switching from one hundred percent on the Google bandwagon to no Google Play Services at all. This was expected, and by the time I made the switch I was already using a lot of apps from f-Droid. This made 'the dip' a little easier, but it would never be perfect.

All the Google apps like YouTube, Google Maps, and the Play Store won't even load without the services installed. This was not a surprise since they are apps made by Google. It makes sense to not let their apps load without the Play Services. They have an incentive to keep the services around. If you or I want to use any Google app, we need the services.

microG-review.jpg

Most other apps run well without Google Play Services, and some lose their core functionality. One such app was SnapChat, which threw me for a curve ball. 'Authy,' the two-factor authentication app will not work. Luckily for me, I moved all my 2FA's over to 'andOTP' before making the switch.

One app that worked just fine but with limited functionality was LastPass. The wonderful auto-fill feature does not work without Google Play Services. Another is Discord; for some reason we need to have the services installed for Discord to send us notifications. Out of all the apps I use on a daily basis, those are the ones I remember having a slight setback.

microG

Android is a Linux-based operating system that is open source. However, now we have a proprietary system that is baked into the ecosystem of Android. This system is made up of the Google Play Services. When we download Lineage OS we get the parts of Android that are released as the "Android Open Source Project." Since it is open source, it cannot contain the Play Services and stay open.

After using my Android device for about four to five months without the Google Services, I discovered the microG Project. This paragraph on their site is what pushed me to try it out:

Free software users got extended application support, privacy-caring users can reduce or monitor data that is sent to Google and especially older phones can expect some battery life improvements. microG is not only used on real devices, but also replaces Google tools in test emulators and is even used in virtual mobile infrastructure.

In order for me to use this 'FOSS' version of the Google Play Services, I had to install a different version of Lineage that allowed for some special features. These features allow microG to run as intended and give back the functionality missed by removing the closed sourced version.

microG-foss-google-play.jpg

microG uses the following utilities:

  • Service Core (GmsCore) is a library app, providing the functionality required to run apps that use Google Play Services or Google Maps Android API (v2).
  • Services Framework Proxy (GsfProxy) is a small helper utility to allow apps developed for Google Cloud to Device Messaging (C2DM) to use the compatible Google Cloud Messaging service included with GmsCore.
  • Unified Network Location Provider (UnifiedNlp) is a library that provides Wi-Fi-based and cell-tower-based geolocation to applications that use Google’s network location provider. It is included in GmsCore but can also run independently on most Android systems.
  • Maps API (mapsv1) is a system library, providing the same functionality as the now deprecated Google Maps API (v1).
  • Store (Phonesky) is a frontend application providing access to the Google Play Store to download and update applications. Development is in the early stage and there is no usable application yet.

My Approach

I chose to enable all the microG replacements that did not require me to log into my Google account. This was to see what level of convenience would exist while still keeping a low amount of pings to the Google servers. It has been about a month running microG, and all the issues I was having seem to be fixed.

Discord now sends me notifications when I am messaged directly or mentioned in any of the chats I am a part of. LastPass also auto-fills my passwords and usernames again! That alone makes it worth the effort. Having LastPass do all the dirty work for me saves so much time.

If anyone is currently running an Android device without Google Play Services and needs some functionality back for ease of use, I recommend microG. Even if you have to reinstall Lineage or another version of Android, it is worth the effort and time to set the device up.

I was content with what I had, and only had minor frustrations since removing the Google Play Services. I dealt with the bugs and lack of convenience, but with microG this experiment got a lot easier.

Thanks for reading!

If you have any questions please ask and I will do my best to get you the answer. If you have input that may make something in this post more clear please share!

All images came from royalty and attribution free sources unless specified
Sort:  

What an amazing article, I literally just posted one about free software vs. proprietary myself. I love seeing that you care about these issues too. I would like to add that you have setup an amazing system, however it is not perfect. My friend did an extensive study on Lineage OS and the problem remains, that still too many android functionalities run on underlying proprietary components. In particular, there is one closed library that called by 70% of Android services, however I have misplaced its name. The hard truth is that all smartphones have a backdoor these days. Still, I support your "un-Googling" procedure and would advice anyone to follow your lead. I will read up on microG too.

Snapchat might not use Google Services but boy do they love to collect data themselves ;)

too many android functionalities run on underlying proprietary components.

Yes this is a huge shame. I hope Purism can pull off their 100% FOSS phone.

Snapchat might not use Google Services but boy do they love to collect data themselves

ew. lol

I am also very excited for the Purism project, that would be a big win!

Cool article! I was aware of LineageOS, but microG is a new one for me. Seems pretty neat! I am of the mind that it is better to use a device that is 80% free than one that is 10% or 20% free, and the same goes for information tracking. Even if this setup is not quite perfectly free, it seems much better (and, from a privacy standpoint, safer) than a phone running a stock Android OS.

The more of these de-Googling articles I read, the more I want to do it myself!

it is better to use a device that is 80% free than one that is 10% or 20% free

Yes! I feel the same way. Each step moves use closer and closer.

The more of these de-Googling articles I read, the more I want to do it myself!

Take a month and mentally prepare. Also over that month it is wise to find apps in fDroid that will fill a need so you don't have to worry about an APK needing some Google stuff.

lol - binary blobs... this post has made my temples hurt, and it occurs to me this is an entrepreneurial thing you could do for others who can't (like me)

Haha isn't that a fun word :D
Do you mean to start something to make people's phones 'Google free'?

yes, because it sounds very complicated

Your posts are always so fascinating!
This post has been deemed resteem & upvote worthy by your friendly @eastcoaststeem ran by @chelsea88 (not a bot)

Thank you :D

Awesome post. I didn't even know about microG, thank you.

very informative post, i pass this article to my friend, actually he need it alot.

Sneaky Ninja Attack! You have been defended with a 7.75% vote... I was summoned by @jrswab! I have done their bidding and now I will vanish...Whoosh

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64093.86
ETH 3123.80
USDT 1.00
SBD 3.94