top | item 7952550

Android without the mothership

292 points| oska | 11 years ago |lwn.net | reply

155 comments

order
[+] privong|11 years ago|reply
I have been running this setup (Cyanogenmod + f-droid, no google apps) for the past 9 months and have been quite happy. I use owncloud for keeping my calendar, contacts, and files sync'ed. K9mail + APG for (signed/encrypted) email. As the article notes OsmAnd is workable, but the what is available through f-droid is 2 versions behind (apparently with low chance of future updates due to difficulties building it).

Many apps are open source (e.g., github, wordpress, coinbase, 2FA apps compatible with many services) and so are available through f-droid. Others, like TextSecure are really easy to build from source and install.

I have occasionally downloaded apps through one of the APK downloader services mentioned in the article comments -- I've had mixed luck. Some work flawlessly, others don't work at all without the google apps.

It would be awesome to see Mozilla's location service [0] integrated into Cyanogen to replace the google location services (which are of course disabled if you don't install google apps).

[0] https://location.services.mozilla.com/

[+] jlujan|11 years ago|reply
>I have occasionally downloaded apps through one of the APK downloader services mentioned in the article comments -- I've had mixed luck.

One of the biggest issue of running Apps (open source or not) is the inclusion of the Play Store API in the app itself. These apps when not logged into the play store usually crash with NullPointerExceptions. Please... if you are an Android developer... expect your third-party services/APIs to be missing or to crash and handle that case... If you include the Map API or several other Google Services APIs in your app and the Play Store is missing or the user does not have a registered account... calls to those services will most likely result in NullPointerExceptions. Tell me to deal with it, don't crash.

[+] iamshs|11 years ago|reply
This is really informative post for separating Android from Google, to the maximum extent for conscientious people. Location, contacts, wifi access points getting shared with Google very much annoys me. But I was even more peeved of Android when there was no way to store contacts locally. No option to store on the phone, but instead you had to save to google account. I am not doing that. So I went the whole hog and installed CyanogenMod and Xprivacy module (the least I could do). And also disabled Google contacts sync (this enables local storage, did not try it on stock android). So I am annoyed that Google is so invasive in gathering data, but also relish such a beautifully designed OS and the flexibility it provides. And also, appreciate the hard work of developers. Android makes so much possible.
[+] redacted|11 years ago|reply
There is an ongoing project on XDA (Android ROM/development forum) call NOGAPPS [1], which aims to replace as much of Google's services as possible. I have no idea how far along it is, but there appear to be active users in any case.

They have a NetworkLocation replacement which uses Apple's location services, and the dev is planning to add Mozilla Location services in the future. It also replaces Google Maps with OSM.

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

[+] XorNot|11 years ago|reply
I keep looking for a lighterweight alternative to OwnCloud for Calendar/Contacts.

I really want to switchover to a proper CardDav/CalDav setup that actually supports "Tasks" in my calendar, exactly how Google doesn't and continually fails to.

[+] mbq|11 years ago|reply
Isn't TextSecure already built into Cyanogen SMS app? And anyway dependent on the Google Play Services?
[+] mercurial|11 years ago|reply
I think what I would miss is quality navigation. This, due to my absolutely non-existent sense of direction, is a major reason for why I purchased a cell phone in the first place. I tried a few non-Google navigation systems but didn't really find anything compelling.
[+] zmmmmm|11 years ago|reply
I am wondering how long it is before we see an effort to do to Google Play Services what Google did to Java - copy all the APIs and create an independent alternative that lets you build apps that use features from Play Services, without tying your app to Google. Ideally one can then choose what to do from just stubbing them out, filling them with 3rd party alternatives, or providing custom implementations. I would think a nice collaboration between Amazon, Microsoft, some Chinese players and maybe even Yahoo could do quite a nice job of this.
[+] rahimnathwani|11 years ago|reply
Or each of these companies could do it themselves. If you're not yet dominant in a market, then it makes sense to provide support (on your hardware+ROM) for the dominant player's APIs. Once you achieve dominance (in whichever geography/niche matters to you) you want to lock in app developers.

I don't know how, e.g. Xiaomi, does this. However, it would be a reasonable strategy to first provide API compatibility for all important Play features, so that apps not targeting the platform 'just work'. Once app developers see Xiaomi as the primary platform (or at least one of the 'must support' ones) then you can create your own API definition for new stuff, knowing that developers will do the work to support your platform, but that this code won't necessarily work with your less powerful competitors' products.

[+] erikano|11 years ago|reply
> [...] copy all the APIs and create an independent alternative that lets you build apps that use features from Play Services, without tying your app to Google.

From http://en.wikipedia.org/wiki/Replicant_(operating_system) :

> Replicant is a free and open source operating system based on the Android mobile platform, which aims to replace all proprietary Android components with their free software counterparts.

So I think that at some point maybe the Replicant guys might get to a point where they do what you are looking for, if they haven't already.

[+] unknown|11 years ago|reply

[deleted]

[+] aikah|11 years ago|reply
EDIT : wanted to update my message but deleted it!pasting it here :

the value of Android,for most people, is in Google services... not in Linux.People dont care what os android is running,the fact that it is Linux is irrelevant for them,(but not for google).

> copy all the APIs and create an independent alternative that lets you build apps that use features from Play Services, without tying your app to Google. Ideally one can then choose what to do from just stubbing them out, filling them with 3rd party alternatives, or providing custom implementations.

And who's going to copy all that,for you,for free?

> I would think a nice collaboration between Amazon, Microsoft, some Chinese players and maybe even Yahoo could do quite a nice job of this. And now you want to depend on Amazon and Microsoft and Yahoo,is that your vision of independence? And why Amazon or Microsoft would do that when they are pushing for their own closed mobile plateform?

Your message is basically "someone do something",not understanding what the success of the plateform is about : Google Services.And then you are calling to players that are even worse offenders than Google when it comes to closed plateforms. What you say makes no sense.

You cant run all the services Google provides for free , with no string attached ,it cannot work. And that's why mobile oses that dont provide these kind of services will flop,all of them,because people now feel entitled to get them for free.

[+] unabridged|11 years ago|reply
Android is a lost cause, all the man power being donated to the project is just going to line google's pockets and lock us further into closed hardware and barely opensource phones.

The only future is a real linux phone, debian or ubuntu mobile, where one day there will be effortless desktop/tablet/mobile unified development. Why push for developers to waste time porting between c++ and java?

[+] DCKing|11 years ago|reply
I have to call bullshit on this one.

Google has open sourced a fully featured mobile operating system, with an already free kernel, an optimized and secure app runtime for mobile applications that they keep on improving, a completely functional and usually well-liked user interface, open development tools and even a set of open source core applications needed for basic smartphone functionality. As this article demonstrates, Android is perfectly usable if you can get over the first world problem of no direct access to Google's services.

People have been absolutely free to do whatever they want with this complete OS what they want for years, and Android comes with no obligation whatsoever to lock down phones. There is absolutely no reason why any alternative to Android, including Ubuntu and FirefoxOS, would be any different at all if or when they gain enough popularity. Phone vendors and carriers will continue to lock down the hardware they sell and be reluctant to share code. There is just nothing different about these alternatives compared to Android.

The problems of locking down and shitty attitude towards open source is a problem with the market, not with Android.

> all the man power being donated to the project is just going to line google's pockets and lock us further into closed hardware and barely opensource phones.

Nobody except Google (and some minor contributions from phone vendors) contributes to core Android. It's an example of an extreme cathedral model[1], where only members of the Open Handset Alliance[2] have access during development. There are many open source forks/derivatives that only help you in increasing the freedom with what you can do with your phone.

> Why push for developers to waste time porting between c++ and java?

Because there are considerable advantages to running in Android's runtime when it comes to resource management, security, and because one consistent application framework is better than many competing libraries creating an inconsistent mess on desktop Linux.

[1]: http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar

[2]: http://en.wikipedia.org/wiki/Open_Handset_Alliance

[+] euank|11 years ago|reply
Why no mention of FirefoxOS?

The Mozilla foundation has our best interests at heart much more than Google and while it's not C++, html5/javascript is certainly an open enough platform which basically everything has started to target anyways.

Sure, a pure linux phone would be cool in some ways, but FirefoxOS seems much closer, realer, and every bit as awesome.

[+] pessimizer|11 years ago|reply
This article was really interesting to me because my N900 is old, and eventually I won't be able to find a new one. Android without the mothership is a pretty crappy replacement for a Linux phone, but it's probably an improvement on a dumbphone for me.

Right now, my only three hopes are Jolla, people attempting to port Freemantle to GTA04, and the people just trying to bring the Hildon UI to jessie which also runs on GTA04.

http://talk.maemo.org/showthread.php?t=93251 http://talk.maemo.org/showthread.php?t=91308

I probably should mention UbuntuOS as another hope, but I simply don't trust Ubuntu to deliver something that resembles traditional Linux. If they do, I'm in.

My hopes for Tizen were bashed to hell by this: https://www.tizen.org/irclogs/%23tizen.2013-01-20.log.html

( https://en.wikipedia.org/wiki/Rasterman - well known for http://www.enlightenment.org/ )

Phone manufacturers aren't interested in being servants, only masters.

[+] chaz|11 years ago|reply
Only if apps don't matter to that target user base. Most people will probably not want to go without Facebook, Instagram, Snapchat, Pandora, Netflix, etc., and devs won't build for a small user base (just ask Microsoft or Blackberry). A Google-stripped Android phone would at least be able to run Android apps.
[+] jmhain|11 years ago|reply
I don't necessarily agree with everything you said, but I also greatly desire a "real" Linux phone, particularly built on the GNOME platform. I have dozens of reasons why I think it could be groundbreaking, but I'm well aware that developing such a platform has an almost-zero chance of succeeding. Nevertheless, if I can get enough people to agree and get involved, I would dedicate myself to this task.
[+] CmonDev|11 years ago|reply
"Why push for developers to waste time porting between c++ and java"

Yes, using something like C# and Mono would be a huge win.

[+] mkozlows|11 years ago|reply
It seems notable that trying to run a modern computer without Google is about as quixotic as was trying to run a '90s-era computer without Microsoft.
[+] psbp|11 years ago|reply
Apple seems to have done fine in both examples.
[+] zurn|11 years ago|reply
PCs were for boring suit types in the 90s. Windows 3.1, ugh. Lots of people ran Amigas or Macs at home and RISC workstations at university or work. Then Linux happened and you could run something nice even on a PC. It involved tinkering but advancing by leaps and bounds, certainly not quixotic.
[+] msoad|11 years ago|reply
It's getting harder and harder to not give up your privacy in order to use new technology. Android without all that Google goodness is a hard sell to an average customer today.
[+] yuhong|11 years ago|reply
Does an average consumer have good reason to not use them though?
[+] ausjke|11 years ago|reply
As always, LWN publishes great articles, a proud subscriber here.

Android is used in more and more fields other than phones and tablets these days, in those fields Google service is deemed not helpful, and totally unneeded. A working AoSP plus a few specialized apps will do that job perfectly well. I hope Cranogenmod will provide a viable approach in that space(non-phone and non-tablet market segment)

[+] ForHackernews|11 years ago|reply
If this is something Hacker News users value, please consider contributing development time (or money) to the Replicant Project http://www.replicant.us/
[+] kevinflo|11 years ago|reply
Seems like an awesome project, but at first visit to that site I had absolutely no idea what replicant was. If you're involved with the project or that site, it might be helpful to put a short (one sentence) description of what replicant is somewhere on the front page. Also, sorry if it is there and I'm just missing it.
[+] gudness|11 years ago|reply
I used to run without any google play services and running pure aosp. I stopped because Android is just so much better with google and fuck it, who cares about me any ways. Not to mention compiling aosp is a pain.

Like seriously, no swyping in aosp keyboard? so i install google keyboard, then i might as well have everything. one piece of proprietary software from google, might as well go all the way.

Though i still get most of my apps from f-droid and will use an open source alternative if its as good or better. example: i prefer cyanogenmod gallery to google+ and vlc to google music, poweramp

[+] kuschku|11 years ago|reply
I think OMNIRom has an open source swipe keyboard, I compiled everything from source and it worked with swiping, so I guess there's that.
[+] gohrt|11 years ago|reply
There are other (non-google) swipe keyboards.
[+] dang|11 years ago|reply
This article has received an extraordinary number of user flags, and I can't tell why. It relates to some controversial questions, of course, but is there anything terrible about it?
[+] zokier|11 years ago|reply
I'd be more interested in the reverse; getting the "mothership" (ie first-class Google services) without Googles platform. I just generally dislike Android and would love to see something that allows running Android apps smoothly and transparently on a GNUish/POSIXy system, especially on mobile devices. Haven't tried Jolla/SailfishOS yet, maybe it delivers on that front.

Last time I noticed this "disconnect" was when I looked into running TextSecure on my desktop. Sadly it seems that there isn't really any good way of doing that (yet). I'd imagine that these days you could whip something up with LXC and Android-x86, but it would obviously need some effort to make it really smooth experience.

[+] Zigurd|11 years ago|reply
CyanogenMod is now much more relevant to open source computing than Ubuntu, and the popular consumer-oriented face of Linux.

But I'm not sure that either the developers of CyanogenMod or the business-minded people have a firm idea of what CyanogenMod should be or can be.

They have the advantage that, unlike Ubuntu, they are born with a good shot at doing a remunerative business in integrations for OEMs. The question is, is there a business in doing alternative ecosystem integrations, and are any of those alternative ecosystems free and open.

[+] atoponce|11 years ago|reply
I just recently discovered this setup. I've been running Cyanogenmod for a few years, but was always under the impression I needed Google to use my phone, such as making calls. After my most recent install, I decided to go with F-Droid rather than with Google Play, and realized I could live entirely Google-free with zero effort.

Apps in F-Droid have been lacking, and there are some FOSS apps in Google Play that are not in F-Droid, which is unfortunate. However, I have had a pleasant experience living Google- and proprietary-free on my Android phone. Really, the only thing I miss is Maps.

[+] dotnick|11 years ago|reply
> ... CyanogenMod is free; it is mostly a build of the Android Open Source Project (AOSP) release with a bunch of added goodies. Google's proprietary user-space apps and utilities are available, but they must be downloaded and installed separately.

Interesting. Isn't this against any Google terms?

[+] jcr|11 years ago|reply
It's a good article. Those who prefer to have their phones disconnected from Google for whatever reason at least have some options to limit exposure, but unfortunately, preventing the mobile web browser in the phone from leaking information like location, history, and habits to Google (and plenty of others) is going to be really tough.

Also, the article glossed over an important issue; the need to use closed-source proprietary binary blob drivers to make the hardware usable. With drivers running in kernel space, the potential damage of an intentionally or unintentionally bad driver is pretty much unlimited.

The most problematic drivers are usually the graphics drivers due to complexity and their impact on both system and battery performance. Since the companies making the graphics chips (well, they're often just graphics cores within the main processor IC rather than separate chips) like nVidia, Qualcomm, Arm Inc (mali), and Broadcom (to a lesser degree lately) refuse to release the documentation necessary for open source hackers to write drivers, tons of unnecessary effort is wasted in attempts to reverse engineer the binary blob drivers so open source drivers can be written.

There are quite a few efforts under way to produce open source drivers for various graphics "chips" on various types of ARM systems. Here are a few links I've collected:

http://freedreno.github.io/

http://bloggingthemonkey.blogspot.com/

http://limadriver.org/

https://gitorious.org/lima

https://github.com/grate-driver/grate/wiki

https://github.com/laanwj/etna_viv/wiki

http://www.raspberrypi.org/a-birthday-present-from-broadcom/

https://news.ycombinator.com/item?id=7320828

I haven't seen anyone succeed in making a fully open source blob-free phone yet, but people are working towards that goal.

Unfortunately, even if open source devs eventually solve all of the blob driver (and chip documentation!) problems, there will still be an unknown, untested, and unaudited chunk of code running on phones that cannot be legally altered; it's the baseband processor.

http://en.wikipedia.org/wiki/Baseband_processor

Since the baseband processor controls the radio(s), it's actually against the law (FCC in the US) to modify the broadcast/receive power levels or frequencies. As such, each baseband processor has to be tested and certified by the FCC, and any change means it has to be tested and recertified again.

[+] 616c|11 years ago|reply
I obviously cannot speak to your comments re baseband process and firmware/OS. That is basically the unsolvable problem in all of this without social/legislative change in the US. I cannot see the FCC or the rest of the government piggybacking on these advantages ever changing.

As for mobile browsers, this is specifically why I use NoScript, even in beta on Android (ironically called NSA-NoScript Anywhere).

http://noscript.net/nsa/

It might not be perfect, but most of the time, like my laptop, I do not need JS or Flash unless there is a very specific reason, and I will not help these a-holes trace me.

And I am also, like others here, who got a new phone and now exclusively use FDroid. No Google Apps. It is a lower power cheaper phone with shoddier processor, and I can run minimally 2+ days without Google Play and shitty proprietary apps. So at least I recommend it.

[+] miguelrochefort|11 years ago|reply
There should be a name for this privacy craze.

It's one of the rare instance where people can act completely irrationally (to the point of paranoia), and people will accept it as completely normal and expected.

I hope you realize how silly all of this will sound 20 years from now.

[+] josephlord|11 years ago|reply
There should be a name for this absolute trust in corporations to manage intimate personal details of all sorts on out behalf.

It's one of the rare instances where people can act as corporations of thousands of people will act in their long term interest and continue to do so indefinitely into the future with no oversight or transparency into their actions.

I hope you realize how silly all of this will sound 20 years from now.

Edit: This is obviously a parody of the parent comment. It doesn't absolutely reflect my views but I feel it is at least as valid a view as the parent. I do sometimes trust in certain places but I'm often uncomfortable and Google is one of the last companies I want to trust with massive amounts of personal information.

[+] a-priori|11 years ago|reply
Yes, I think to ensure your privacy by never revealing personal information to third parties, through using open source software and strong cryptography, requires too much inconvenience and vigilance and technical knowledge to be applied properly even by experts, never mind the average person.

It's a dead end because, if the average person can't do it, then strong privacy will forever be on the fringes of society, something only weirdos and techies are worried about. It'll be vulnerable to the 'if you don't have anything to hide [like me]...' arguments.

The answer is instead, I think, strong legal protections on personal information such that we can trust third parties with our information. That third parties are bound by consumer protection and privacy laws to only use the information in acceptable ways and only reveal the information under due process, such as court orders (sparingly given).

People who care about privacy should work with our legal and legislative systems, not against them.

[+] quadrangle|11 years ago|reply
For those who are into this, consider OmniROM instead of Cyanogenmod
[+] rohith_14_04|11 years ago|reply
I guess Nokia X series comes without Google goodies
[+] sirkneeland|11 years ago|reply
True, but it does come instead with Microsoft goodies (and HERE maps, which are still owned by the part of Nokia that Microsoft didn't buy). Depending on your personal preferences (re: service quality, privacy etc) Microsoft cloud services may be an improvement over Google, they may be no different, or they may be worse.
[+] blueskin_|11 years ago|reply
This is why I use CyanogenMod. I have installed the Play Store, but not all the other crap that comes bundled in gapps, and I use XPrivacy to restrict its access to my data.