13 ms·
MicroG Project: A re-implementation of Google's Android apps and libraries
- andrewvijay 10y agoAmazing 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 10y agoActually 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).
- vetinari 10y agoI would not call it 'screwed'. Yes, they established, that APIs are free to reimplement. However, just having an API to follow does not mean, that the task of reimplementation is easy - following someone's else API is actually harder than designing your own. Just ask the WINE team.
- jdc0589 10y agothe WINE team is comprised of 100% sorcerers.
- bitwize 10y agoOracle is appealing that decision. The case is going before the CAFC, which means a likely win for Oracle.
- _pmf_ 10y ago> 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 10y ago"dotNET"? sometimes I just don't know where people come up with their capitalization schemes.
- deleted 10y ago[deleted]
- colemickens 10y agoOh jeez, I'm so sorry for pointing out that .NET has literally never been branded as "dotNET".
- _pmf_ 10y agoI 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.
- yarrel 10y agoLOL.
- bitmapbrother 10y ago>The case is going before the CAFC, which means a likely win for Oracle LOL Really? A likely win? The CAFC isn't going to overturn a jury verdict.
- bitwize 10y agoYou overestimate the willingness of the American courts to render justice, play by the rules, or indeed make any sense. According to the CAFC's ruling overturning Judge Alsup's initial decision that APIs are not copyrightable, APIs have enough unique expressikn in them to indeed be covered by copyright. Hackers are fond of a loosey-goosey, asterisk-ridden interpretation of copyright law under which copying is OK provided the author doesn't lose money in its primary line of business. (For example, that pirating abandonware is OK, etc.) The CAFC is considerably more strict and applies the letter of the law to copyright cases. While fair use is a concept ill-defined by statute, it is generally acceptes to mean extremely limited copying for express purposes, such as: scholarship, commentary, or parody. Google's copying of Oracle's Java API IP was extensive and directly related to their Android line of business. Therefore, any sensible court would rule that fair use doesn't apply, else American IP law has no meaning.
- phasmantistes 10y agoThat's actually not the argument that was made, as I understand it. The argument was that the Java API -- by virtue of being part of Java, which was openly released -- was also open. The APIs that MicroG is reimplementing don't seem to have been openly released in a similar fashion.
- DannyBee 10y agoThis is completely and totally wrong, FWIW. The federal circuit ruling was that apis are copyrightable, so .... Google won on fair use.
- kuschku 10y agoThen the microG developer just has to move to the EU, where APIs aren’t copyrightable, even if closed, and you have the right to reverse engineer existing software for interoperability with your own software, or for third-party reimplementations.
- larma 10y agoalready there and heavily relying on EU software directive 2009/24/EC :)
- bitmapbrother 10y agoYou must have missed the CAFC ruling that declared API's copyrightable.
- iuhgdwij 10y agoThey still might have an ounce of the hacker spirit in the company - so maybe they'll be lenient! Jokes aside, implementing a program with the same API should be fine, right? Would love to hear from someone better versed in copyright law!
- nathcd 10y ago> implementing a program with the same API should be fine, right? If this is all it comes down to, Google certainly should be fine with it being that they're in the middle of (end of?) a lawsuit with Oracle over their implementation of the Java API in Android.
- kyrra 10y agoMiddle of still. Oracle filed for appeal of their most recent loss[0]. [0] http://arstechnica.com/tech-policy/2016/10/its-official-oracle-will-appeal-its-fair-use-loss-against-google/ http://arstechnica.com/tech-policy/2016/10/its-official-orac...
- curt15 10y agoAmazon has been providing drop-in replacement implementations of Google APIs (for proprietary Google services) for some time now. For instance: "The Amazon Maps API offers interface parity with version 2 of the Google Maps API. Most classes and method calls in your Google Maps app work the same on Amazon devices. " https://developer.amazon.com/public/apis/experience/maps/docs-v2/migrating-an-app-from-google-maps-v2 https://developer.amazon.com/public/apis/experience/maps/doc...
- Spoom 10y agoI would imagine the problems they might have with this project is that it, I assume, calls private remote Google APIs -- which would by definition be an unlicensed use.
- maxerickson 10y agoNearly the entire point of the project is to have an Android system that isn't reliant on Google services. Edit: I see I misunderstood. This page talks about opting in to Google services: https://github.com/microg/android_packages_apps_GmsCore/wiki https://github.com/microg/android_packages_apps_GmsCore/wiki So they are using them.
- _pmf_ 10y ago> But won't Google have any objections on the licensing and patents regarding reimplementation of their stuff? They'll sue you for using Java.
- speps 10y agoPreviously : https://news.ycombinator.com/item?id=11373435 https://news.ycombinator.com/item?id=11373435
- dawidloubser 10y agoWill 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 10y agoCool! Do you have any blog post explaining how to do it?
- dublinben 10y agoIt's nothing complicated or special. Just install your AOSP-based ROM of choice, and only use software from F-Droid.
- bradyo 10y agothe Izzy on droid blog has a series of posts about it: https://android.izzysoft.de/articles/named/android-without-google-1 https://android.izzysoft.de/articles/named/android-without-g... Edit: The series is a little out of date, but should give you the general idea. ROMs that are probably new since that article was published that have no google dependencies are Replicant (entirely libre), OmniROM, Copperhead OS, and CyanagenMod w/ a no-gapps-script.
- adilparvez 10y agoThis is not very detailed but it might help: https://blog.adilparvez.com/post/2016/10/31/1/cyanogenmustardrace/ https://blog.adilparvez.com/post/2016/10/31/1/cyanogenmustar...
- bradyo 10y agoThis is a very clean and straightforward article demonstrating how to do it! Nice work.
- 10y ago
- digi_owl 10y agoWhile 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 10y agoThe only real answer is to stop using operating systems and software developed by Google entirely.
- quickben 10y agoWhile severely Stalman, your point is valid. But, the apps momentum will never allow that to happen.
- ocdtrekkie 10y agoOh, I'm definitely not particularly Stallman. Stallman wouldn't be carrying a Windows phone.
- fulafel 10y agoApps put a lot of effort into working on old Android devices, they actually have a pretty good position in this respect.
- codethief 10y agoWhile they certainly have some catching up to do every now and then, it's been working for me pretty well for over a year, now.
- mike_hearn 10y agoI 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.
- st3v3r 10y agoWith things like Doze, the only thing that can wake the device is a push message FROM GOOGLE. That doesn't sound open in the least. "The underlying theme connecting these libraries is that they're clients for Google's proprietary protocols." Protocols which are quite difficult to change out. If you're a person who doesn't want to use Google's maps, you're SOL for most applications that show maps within the app, as most of them are using Google, because it's easy. Whereas if the location services were just a system plugin, the user could choose the mapping data provider they wished, and the app would just receive map data and continue as normal.
- clemsenthis 10y agoI'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 10y agoGoogle 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.
- Eun 10y agoThere 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 10y agoYes, 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
- codethief 10y agoMicroG is in fact the continuation of the project or "attempt" you're talking about (NOGAPPS). It's still the same author, too. You're right though in that the BlankStore hasn't seen an update.
- Orangeair 10y agoI'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 10y agoAs 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.
- Animats 10y agoThis will be popular in China, where phones that run Android but not Google services are big.
- JulienSchmidt 10y agoI 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 10y agoAny issues with app security, hacking, etc? Or random apps able to monitor the SMS, voice calls?
- adilparvez 10y agoIf 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/cyanogenmustardrace/ https://blog.adilparvez.com/post/2016/10/31/1/cyanogenmustar...
- adilparvez 10y agoI 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 10y agoI'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.
- jonathanyc 10y agoThis 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.
- floatboth 10y agoI've been using MicroG on my phone for several months. Works very well.
- tonyplee 10y agoIt 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?
- bitmapbrother 10y agoSome 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.
- quickben 10y agoBy your logic, an emergency brake in my Ford Escape will be usable only if I have their sync software on the system. Gps is a basic selling feature, get over it.
- bitmapbrother 10y agoBy your logic Chinese cars shouldn't work at all and yet they do. Get over that.
- goodplay 10y ago* 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 10y agoThen perhaps they should use software that is not dependant on Google rather than harass developers to degrade their apps to conform to their desires.
- SBArbeit 10y agoThis [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-to-google-youtube-windows-phone-block http://www.theverge.com/2013/8/15/4625502/microsoft-responds...
- larma 10y agoThis 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.
- microcolonel 10y agoMight 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.