
MicroG Project: A re-implementation of Google's Android apps and libraries - oridecon
https://microg.org/?=
======
mike_hearn
I don't know about this. Android is not on its way to becoming a proprietary
operating system, it's as open as it's ever been. Rather the author seems to
be trying to redefine "operating system" to include things that have never
been a part of such a term before, like online message routing and mapping
services. Since when do we define "operating system" as including libraries
for specific online services? User interface libraries, kernels, drivers,
multimedia frameworks, sure ... but mapping services?

The underlying theme connecting these libraries is that they're clients for
Google's proprietary protocols. Sometimes there are good reasons for these
protocols to be proprietary. In the case of Maps (which I worked on some years
ago) it's because Google's licenses for some data sets are specific to Google,
they aren't allowed to just throw it all out there via an open protocol, and
they are expected to discover and block non-Google client apps. In the case of
the Market, they want to defend against things like abusive install count
inflation. They also like to redesign products and change features whenever
they want. All these things are easier when you can change the protocol at
will because there's only one client to support, and the client team sit next
to the server team.

Note for example that the microG folks have had to implement "DroidGuard", a
system that tries to spot scripting of Google's servers from non-approved
clients. The microG implementation contains fake data that is sent back to the
servers. This risks legitimate users being mis-identified as abusers and
potentially having their accounts suspended. That risk must be understood by
the microG authors but they don't inform you of it anywhere, which seems poor.

Given that both the protocols and client libraries can change at any time
without announcement, I don't see how microG users will ever have stable
devices. Nor do I see why they care. Even if they reimplement the client
libraries Signal and other apps will still be dependent upon the proprietary
servers.

If they want a version of Signal that's entirely Google independent the right
thing to do is set up and run a competitor to the actual messaging service,
not just reimplement a thin protocol wrapper and call it a day.

~~~
devsquid
Its comments like "it’s also on the way to become a proprietary operating
system" which turn me off supporting something like MicroG. I like the idea,
but it such a gross mischaracterization of Android and it leads to uninformed
people to believe weird things. Over on Reddit I often see people thinking
Play Services is absolutely required to make an Android app. Which is just not
true, I know from personally experience that Play Services is easily
replaceable with other App Store SDKs. Also as you have said, Play Services
deals solely with communication with Google.

It also reminds me of when Cyanogen became a business. It was sorta
interesting at first until I listened to the CEO talking about putting a
bullet in Google's head. Now Cyanogen tries to sell app space on its users
devices.

~~~
seba_dos1
I know from personal experience how hard it is to actually use AOSP phone. I
eventually gave up, installed microG and started using apk mirrors, which
makes things a lot better, though not ideal yet.

There's F-Droid which is bringing some hope, but pure AOSP with F-Droid still
cannot even compete with Nokia N900.

~~~
ocdtrekkie
I tried rolling the Google-free Android strategy for a while, but I found it
was so unusable I took the first non-iPhone path off Android I could find.
It's just too much frustration to try to deal with all the missing pieces.
Currently I'm using a Lumia 929, but I'd kill for like an Ubuntu phone or
something that works on Verizon.

------
dawidloubser
Will this, by any chance, increase the number of open-source apps available in
f-droid? Every now and then, I spot a wonderful app that is only not available
due to dependencies on one or two proprietary Google APIs or components.

I'm trying to run a totally open-source android installation, and have opted-
out of Google entirely. It's worked out fairly well so far, but the app
choices are fairly limited, of course.

~~~
xchip
Cool! Do you have any blog post explaining how to do it?

~~~
adilparvez
This is not very detailed but it might help:
[https://blog.adilparvez.com/post/2016/10/31/1/cyanogenmustar...](https://blog.adilparvez.com/post/2016/10/31/1/cyanogenmustardrace/)

~~~
voltagex_
>Signal: End-to-end encrypted messaging over the internet. (You can get it on
APKMirror.)

Isn't that a good way to get a modified / malware version of Signal? Anyone
can upload to APKMirror, can't they?

~~~
cyphar
There's an fdroid repo[1] for it, but I'm not sure I trust the person running
it. Because of the lovely conversations with moxie the main fdroid repo got
taken down. Don't you just _love_ free software projects that hate giving
users freedom.

[1]: [https://fdroid.eutopia.cz/](https://fdroid.eutopia.cz/)

------
SBArbeit
This [0] is why we both need something like MicroG, and why Google will never
allow it to succeed. I realize it's an old story, but it shows Google's
ruthlessness in protecting platform dominance, even against a single-digit
percentage Windows Phone platform. Even if MicroG ships good, working code,
Google will break it. And if MicroG fixes that, Google will break it again,
until the people writing MicroG give up.

I'd love open options instead of Google's services, but when 95% of your
revenue is advertising, you have to own the platform, and Google does.

[0] [http://www.theverge.com/2013/8/15/4625502/microsoft-
responds...](http://www.theverge.com/2013/8/15/4625502/microsoft-responds-to-
google-youtube-windows-phone-block)

~~~
larma
This is not entirely correct. Google has no possibility to break things in
short time if they work exactly like the Google implementation. Although
Google can update their clients through automatic updates there are still
devices only connected via low-bandwidth and similar things which will receive
the update heavily delayed. And finally there are devices that will never
receive certain update.

Example: The Android Market API (yes android market, the name it had before
play store) is still available and can be used, although it was replaced by a
Play Store API years ago and there exist public client libraries for using it
and the API is heavily used to grab free apps from the play store. However, as
Google Play was never available for Android < 2.3 and there are still some
users with this OS, the only way to disable this old API would be to remove
Play Store access for a few hundred thousand users, which they refused to do
until now.

------
Orangeair
I'm a little wary about projects like this. While it is true that Google Play
Services kind of subverts the free nature of Android, it's also one of the
only things that is keeping fragmentation from becoming a big(ger) problem.
Google is unable to update the OS on every Android phone in the wild, but they
can update Play Services as needed to patch critical security bugs or add new
features. The more that developers rely on it, the more they are relying on
something that will be properly maintained.

~~~
codethief
As another commenter said, they could, however, make parts (if not all) of
their Android libraries open source without interfering with the goal of
preventing fragmentation.

------
Eun
There were some attempts years ago, the author implemented the same stuff as
MicroG does now, I wonder if MicroG is forked...

However 3 years ago I was super excited and got the Alternative Google Store
(I think it was BlankStore) installed. It crashed randomly and I was not able
to download any App. However I thought that the author would work on it and in
some time it would be useable.

Still waiting for that day.

That's why I'm a bit pessimistic about this project...

A better way would be to implement a true container/vm system so google only
knows what is in this container, no contacts, no calendar, no mails. Heck,
maybe it's even possible to link into that container for the host system apps.

~~~
kopijahe
Yes, the NOGAPPS Project[1]. I used MicroG on a Galaxy Mini (tass) running
Android 4.4 based ROM. It is a bit tricky to get it running, but I got some of
my paid apps running afterwards (I sideloaded the apk, extracted from my
backup).

Using the phone with Google Framework and modern OS made it so slow, MicroG
(at least when I used it) didn't make it any slower.

I found the Galaxy Mini thrown by it's owner, picked it up and flash the ROM
for shit and giggles...

[1] [http://forum.xda-
developers.com/showthread.php?t=1715375](http://forum.xda-
developers.com/showthread.php?t=1715375)

------
jonathanyc
This is a really cool project. It is scary that there isn't a really open
mobile platform a la desktop Linux as usable as Android as iOS when it looks
like more and more computing will be done on mobile devices. This looks like a
really smart way to let Android be what it claimed to be -- an open phone
operating system.

------
digi_owl
While i wish them luck, i suspect they will be caught in eternal catching up
mode. This because Google have a whole lot of programmer-hours to throw at
adding and changing things.

~~~
ocdtrekkie
The only real answer is to stop using operating systems and software developed
by Google entirely.

~~~
quickben
While severely Stalman, your point is valid. But, the apps momentum will never
allow that to happen.

~~~
ocdtrekkie
Oh, I'm definitely not particularly Stallman. Stallman wouldn't be carrying a
Windows phone.

------
adilparvez
If you want to go GApps free, I recently wrote about this. It's very short but
points to where to find more.
[https://blog.adilparvez.com/post/2016/10/31/1/cyanogenmustar...](https://blog.adilparvez.com/post/2016/10/31/1/cyanogenmustardrace/)

~~~
adilparvez
I neglected to mention that the first time you install Signal it should come
from a trusted source (e.g. copy it from someone who is happy to use the play
store), then updating via apkmirror is safe, since the signatures will match.

Also this might be useful a desktop play store client:
[http://www.onyxbits.de/raccoon](http://www.onyxbits.de/raccoon)

~~~
oridecon
I've heard people recommend Raccoon in the past but my phone is something so
vital that makes me worried about stuff breaking (the combination of using a
lot of 3rd party parts like MicroG, Racoon, apkmirror, ...).

I wonder if it's possible to dual boot without root and also keeping
encryption on, that way I can have a safe option if anything breaks.

Damn, why is it so hard to have control over your things these days. It wears
me down.

------
speps
Previously :
[https://news.ycombinator.com/item?id=11373435](https://news.ycombinator.com/item?id=11373435)

------
clemsenthis
I've installed MicroG on my (supported) phone via their XDA threads (installed
BlankStore,etc..), however some apps claimed to be working are not functional
at all due to Google Apps dependencies.

Does anyone know what main apps actually work for an average phone user, i.e.
Maps, CityMapper, Dropbox, ...?

~~~
codethief
Google Maps, Play Store DropBox and practically all apps requiring a Google
account used to work fine for me. However, with the latest update of Maps,
Maps stopped working, unfortunately, and just crashes upon start-up. I'm not
sure, though, whether this is related to MicroG.

------
floatboth
I've been using MicroG on my phone for several months. Works very well.

------
Animats
This will be popular in China, where phones that run Android but not Google
services are big.

~~~
JulienSchmidt
I live in China and I use MicroG / NOGAPPS since the early days. But I really
don't see why it should be of any interest for the average Chinese user? The
is a very healthy Android ecosystem here in China, independent of Google. For
example apps usually depend on Baidu Maps / 高德地图 for viewing maps. There is
simple no reliance on any Google apps here. Payment is usually done with
WeChat Pay or AliPay. I would actually say it is more seamless than in the
West.

The only strange thing is, that for app downloads usually the APK is directly
linked - while still using the Play Store logo. That is because there are many
different app store providers. However, as soon as the app is installed, it
gets updated by that respective app store.

~~~
tonyplee
Any issues with app security, hacking, etc?

Or random apps able to monitor the SMS, voice calls?

------
andrewvijay
Amazing stuff. But won't Google have any objections on the licensing and
patents regarding reimplementation of their stuff? If so what would be the
implications?

~~~
vengefulduck
Actually Google kind of screwed themselves there because just this year they
set the legal precedent that all APIs are public domain so if they sued they
would lose the case against oracle(and 8.8 billion dollars).

~~~
bitwize
Oracle is appealing that decision. The case is going before the CAFC, which
means a likely win for Oracle.

~~~
_pmf_
> The case is going before the CAFC, which means a likely win for Oracle.

Frankly, everything else would be a travesty.

My personal wet dream is that in response to this, Google will partner with
Microsoft to get dotNET as a VM backend.

~~~
colemickens
"dotNET"? sometimes I just don't know where people come up with their
capitalization schemes.

~~~
colemickens
Oh jeez, I'm _so_ sorry for pointing out that .NET has literally never been
branded as "dotNET".

~~~
_pmf_
I did not downvote you, but the reason I used dotNET is that I don't want to
keep in mind whether the markdown-flavor-du-jour interprets leading dots as
special or not.

------
tonyplee
It would be cool if these + standard AOSP APIs can run as a window on top of
regular Linux. (X, KDE + OpenGL, or Ubuntu).

(Natively and not as slow emulator/VM).

Maybe that will unify the Linux Mobile, Desktop, Tablet better than the Gnome?

~~~
tonyplee
Better yet as a Docker Container.

~~~
cyphar
[Or an OCI container.]

------
microcolonel
Might be a good idea to reconsider the visual effect of these pages. It looks
nice, but it is indistinguishable from genuine Google trade dress, which is a
bit misleading.

------
bitmapbrother
Some People seem to think they're entitled to Google's Play Services without
having to install Google's software. AOSP is entirely free and you can do with
it as you please. If you want to run Android apps on AOSP then install FDroid,
the Amazon App or any other free app store out there. This isn't about AOSP,
it's about being jealous that they can't run Android apps that use Google Play
Services and using any other app store is an insult to them. If you don't want
to install GPS then be content with your free app stores and quit bitching
about AOSP not being completely open. But, they want their cake and they want
to be able to eat it too so they resort to complaining about Android not being
open and trying to write shims to replace GPS so they can get their app fix
on.

~~~
goodplay
* What people want is to run apps on their phones. * Most apps now depend on google services because google actively promotes play services over base system services, and doesn't really invest in the later anymore. * Many people don't want to run google services on their phones (Me included). * MicroG solves this problem by replacing google services with equivalent services. * People can now run the apps they want.

This has nothing to do with entitlement or google. This is a way for people to
run software on their phones without needlessly going through google.

~~~
bitmapbrother
Then perhaps they should use software that is not dependant on Google rather
than harass developers to degrade their apps to conform to their desires.

~~~
goodplay
> perhaps they should use software that is not dependant on Google

Isn't this what MicroG does?

If you're referring to the system as a whole, the only real alternative is
ios, which is far worse in terms of user control over what the system does.

In an ideal world, I would be running some linux distribution on my phone and
be finished with it. We don't live in an ideal world.

