Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Quest to Build a Truly Free Version of Android (wired.com)
250 points by Tsiolkovsky on Nov 3, 2013 | hide | past | favorite | 128 comments


I can't see this being a pleasurable user-experience. Ever.

I think this highlights the fact that it would be much easier to start with open hardware and install something intended to be fully open like Ubuntu Touch on it. Unless you do that, you're going to need to reverse engineer every device driver for every piece of phone hardware – you'll never finish and the user will always be cut off from some percent of their phones features and the rest might not work correctly.

I guess that a pleasurable user-experience might not be the end-goal and maybe this is fun because hacking.


You describe exactly how Linux became what it is. And the goal was not to support all the hardware there was - just 386. In light of existing examples, your argument has little value.

I'm in the Replicant market. I don't give a shit about convenience if I can find a free software version somewhere :)...


> > I can't see this being a pleasurable user-experience.

> You describe exactly how Linux became what it is.

The main server OS (UX not quite relevant for servers) or an OSS kernel primarily used by consumers with a semi-closed (Android) userspace?


You're quite right. UX was never a factor with Linux, and OSS (in the large, excluding things like Basecamp, sorry) has never succeeded to create good, consumer UX. Unfortunately UX is absolutely critical with mobile.

Here's a talk by Aral Balkan (that I couldn't recommend more) that covers this topic amazingly (jump to about 32m30s for the meat):

http://www.youtube.com/watch?v=G1QCBzQ0aNc&t=00h32m30s


Basecamp is not open source.


Oops, good point! (It was very late when I wrote that).


That's why Bunnie's open source laptop is exciting.

http://www.bunniestudios.com/blog/?p=3265


It seems very analagous to a FLOSS-only desktop experience (for a while I think Fedora Linux was one). It was not a polished user experience, and certainly some things were lacking, but when I used it I was able to accomplish all the things I needed done (and face it, most of those can be done by the web browser anyways).

The other reason I have hope for this is most of the non-FLOSS functionality is available at least in some form in web apps, or in a F-Droid application. Google Maps, Gmail, Twitter, Facebook, etc all have pretty good (capable, functional) mobile web applications, and all you need FLOSS for is the web browser.


What is the difference then if you are still using proprietary services that run proprietary code, just on a different CPU?

You are not gaining anything from the change other than the inconvenience of "pretty good" web applications instead of local native applications: you still can't modify them or verify their behavior.


It depends on what your goals are. If you want a system that's only running open-source-built code on your device, but are willing to have your device interact with devices running proprietary software, then mobile web applications are fine.

If you only want to interact with devices and services that are using open source software, then you're likely not to miss e.g. Google Maps application in the first place.


Yes, of course, but that’s a tautology. What would the first goal achieve over running the Twitter app on my phone?


Security, for one. It is much harder for a web app to key log your phone than to a native app.


Freedom and convenience are virtually always antagonists.


That isn't true, and it's dangerous to say it is.


I think it's an interesting suggestion. If you believe it's false and dangerous it may be helpful to provide some reasoning.


A lot of the free software I use is much more convenient than the commercial alternatives. See Firefox at the least for the largest most well recognized project with open contributions that is also usually much more convenient and free than commercial alternatives.

Nothing about releasing source or having a collaborative contribution model suggests the software can't be convenient. A better terminology is that security and convenience conflict one another, because to be secure requires you to sacrifice your own convenience to limit foreign entities convenience in accessing your data.


Slavery always requires less thinking.


The road to slavery requires less thinking. Once you get there you need all of your wits just to survive.


Responses such as yours require less thinking. Slavery requires less thinking. Therefore you are a slave. /s


There are at least three relevant meanings of free, not two!

Free as in beer, free as in freedom, and free as in degrees of freedom. Too many degrees of freedom makes a system inconvenient to use.

An application like Transmission is great: libre software but constrained in the "degrees of freedom" department, so you don't have the "chooseaphone" effect.

Edit: Let me illustrate. If I gave you a bike for free, you'd have the freedom to get around on it, tinker with it, sell it to someone else, etc.

If it had more degrees of freedom, it would be a unicycle, and much, much harder to use. But more flexible!


Technically, a unicycle has fewer degrees of freedom that a bicycle.


Unicycle:

1. Lean forward and backward 2. Lean side to side 3. Twist 4. Pedal

Bicycle

1. Lean side to side 2. Twist handlebars 3. Pedal


That's not technically correct. Your work is modulated by the device. A device with less parts modulates it less. Less modulation of your actions means you have more direct control.


Freedom usually means being able to achieve your personal goals: of speech, of movement, of opinion, etc.

We humans are often aided by tools. So, we can also talk about the freedom to study and modify said tools.

What many FOSS advocates seem to miss is that the first freedom, that which comes from being able to fulfil your own goals, is the most important one for everybody.

To the point where freedom of the tools is only relevant for you if understanding said tools was your personal goal in the first place.


Pleasurable? Depends in what sense but in general and framed with the average user in mind I would agree with you there.

I have been doing a self-experiment for the last few months to use FOSS app(lication)s as much as possible on my Note II running CyanogenMod 10.1 or instead use actual websites instead of apps. I am using F-Droid as a repo, it has been great.

To say it is really easy or convenient would be a lie though, I am also missing some (mostly cloud) features I really liked when I was inside the GOOG garden, but living without Google's and other closed-source apps has actually been relatively painless for me and my data is inside my own control.

Firefox, K-9, AntennaPod, Focal, RedReader, FeedEx are a few of the great FOSS apps (just need K-9 to get a decent icon).


K-9 is awesome, but I really do hate the icon.


Absolutely, I had great fun running all kinds of custom ROMs on my Galaxy s and One X but at no point did either of them function 100%.


Does an open hardware phone exist? I'm not aware of one that I can actually buy today. The closest I know of is the OpenMoko GTA04, but it's not clear to me that the project is still living.


There's a continuation to GTA04 in the works: http://neo900.org/


Apparently the fairphone will be: http://www.fairphone.com


This looks cool, but doesn't appear to be open hardware.


I help people make things using the Android OS - things that are not phones and that do not include the Google ecosystem. I have also been involved with using code from AOSP to create Android compatibility for non-Android OSs and in convincing OEMs of non-Android system to use it. In my experience I have traced the boundaries of what Google allows people in general to do, and their OEM partners to do with Android.

This is roughly how it goes: If you want to use AOSP for anything, including competing with Google, go for it. Google won't sue you, and won't even FUD you the way Sun did and Oracle continues to do if you want to use an open source Java implementation.

If you make Android devices that use Google's logo and proprietary code and ecosystem, you can stuff Android full of crapware that your carrier partners want, and that your product managers delude themselves into thinking gives you "differentiation," even though Google really does not want that to happen. What you can't do is compete with Google, or take a cafeteria approach to using Google's apps and ecosystem. You are in or out. No in-between.

AOSP is Apache licensed and Google adheres to the letter and spirit of that license. Both B&N and Amazon compete with Google using AOSP code and there has never been a hint of FUD aimed at them for doing so.

Many China-market phones with China-based ecosystems are based on Android. Here is where the lines blur a bit: China-based Lenovo gets away with making AOSP-based products for the China market with non-Google ecosystems and they make Google-logo Android phones. Somewhat famously, Taiwan-based ASUS was slapped down by Google for trying to do, as far as I can tell, exactly the same thing. There are also Google OEMs who make OPhone handsets. So Google hasn't been 100% consistent regarding OEMs with one foot in the mainland China market and one foot in the Google ecosystem.

It also appears that OEMs licensing other OSs, notablely Windows Phone, get no retaliation from Google.

I also dealt with Sun, trying to get a license to use Java in a VoIP-oriented OS. They were utterly opaque bastards about the licensing process, cost, etc. and about their position regarding Java patents and open source implementations. to the point where we concluded they could go to hell and we would use an open source Java implementation. Using AOSP is by contrast FUD-free.


It wasn't ASUS that got slapped down, it was Acer. ASUS, Samsung, Huawei (and probably others beyond Lenovo) have had no trouble distributing AOSP-based products without Google services. Acer's situation was different for two reasons:

1. Aliyun (Acer's partner in this) was distributed pirated apps via their app store, including pirated Google apps: http://www.androidpolice.com/2012/09/15/aliyun-app-store-con...

2. Google claimed that the Android-based OS that Acer and Aliyun had built did not pass the standard Android compatibility tests, in violation of Acer's agreements with the Open Handset Alliance (a prerequisite for their license for the various Google apps). I'm not sure if a third-party verified this claim before the project was killed, but it's plausible. And we do know that most of the non-Google products OHA members distribute in China should pass those same tests. They're usually the same as products the member is selling outside China with Google services, with the exception of China-specific radios.


Yeah I was wondering if I got the two confused. You are correct, it was Acer. The other points you bring up are also correct. But there is more:

If Aliyun does not pass CTS, it's good enough to run those stolen apps. Also, as I pointed out, other OEMs get away with having both Google logo phones and Aliyun phones. (Aliyun was the Alibaba OS, and has been "spun out" though it's hard to tell if that is a meaningful separation.)

Aliyun is certainly not the only app store selling apps that were never submitted by the developer for distribution. It's a commonplace form of sleaze.


> If Aliyun does not pass CTS, it's good enough to run those stolen apps.

I don't think we know that. Just because APKs were listed in a store doesn't mean they did anything useful when installed. I don't recall any evidence one way or the other about how well the various pirated apps actually ran on an Aliyun device. If you know of any, I'd appreciate a pointer.

Separately, I agree that Aliyun's sleaze is relatively common, but so what? I'm not suggesting Google should (or even can) proactively police every app store out there. I'm just saying Google is well within their rights to come down hard on one of their partners working with a store that pirates Google apps, wherever it happens to be. Honestly, I'm still puzzled about why Google leaned so much on compatibility in their response. I'd have thought that the issues with unauthorized distribution of Google apps were simpler and more clear-cut.


I have seen Aliyun handsets. Like other China-market AOSP-derived systems, Aliyun is Android without Google's ecosystem. It will run any Android app up to the API level used in Aluyun you put on it. The claim that it's not CTS compliant is, at best, splitting hairs. No specific incompatibility has ever been claimed, and no set of apps have been shown to fail.

Google is free to allow or deny anyone access to their proprietary app suite for Google-logo Android handsets whether they are consistent or arbitrary about it. I'm merely pointing out that that some OEMs, like Huawei and Haier, get away with building both Google-logo Android handsets AND Aliyun handsets, while others do not.

Like many Linux-based products in China, there are other things that are wrong with Aliyun in addition to dubious app market practices. It doesn't observe open source licenses, for one thing. But Aliyun being "bad" isn't the point.

I am just pointing out that Google is usually, but not always, consistent about enforcing a policy that Android OEMs can't participate in AOSP-based products that compete with the Google ecosystem. In some cases the OEM relationship appears to be more important than a consistent policy, or perhaps licensing regulations differ in the PRC.


One of the things I love about Android is that you _can_ do this with it, if you so wish.

You can't build a Truly Free Version of Windows Phone. You can't build a Truly Free Version of iPhone.

But if Android doesn't do what you want, then you can fork it, tweak it, and turn it into something that does!


If it happens that the music player, dialer, home screen, messaging app are all closed source Google apps (just like now, or will be in a while), then what? You can create a non-google experience aosp build (meh..) or tweak the filesystem caching parameters or something like that at best.

I think Google is doing what's best for Android, but Android is not open source anymore.

Firefox OS might be a better choice for open source comminity to spend time on. I haven't been following latest development, how's the hardware situation on FF OS?


The music player, the messaging app, the home screen ... these are not part of the operating system and are easily replaceable.

I actually have an older phone (a first-gen Galaxy S) on which I installed Cyanogenmod without Google's services, which is basically stock Android. In spite of opinions to the contrary, the phone is quite usable without any of Google's services on it.

I've got Firefox for web browsing, OsmAnd for maps, Apollo for playing music. All 3 are open-source apps. At some point I even installed Amazon's App Store on it, to be able to get some proprietary apps, like Facebook, installed. But then I realized I don't need all that bloatware, as the web versions work fine.

You should try out this experiment if you've got an extra Android lying around. After you find apps suitable for whatever it is you want to do, it really is OK. The level of polish is not the same as with the Google-enabled Android, but it's still much, much better than the experience you get on low-budget non-Android smartphones.

People forget that Amazon already forked Android and that without Android they wouldn't have been able to deliver Kindle Fire. That's the power of open-source, even if you choose to deny it.


You are absolutely right. However you comment reminds me this one from original Dropbox announcement on Hacker News:

"For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software."

This might be a fun experiment for a developer. But for the broad user perspective even replacing launcher is a big deal.


Yes, but the average user is also not going around looking for a Truly Free Version of the OS powering their phones/tablets.

The point is, Android is currently the go-to mobile OS for anyone who wants to scratch their itch. like Linux has been on the desktop. And there have been plenty who have taken up this offer (e.g Amazon, Chinese & Indian manufacturers, Android console makers), except they aren't end-users.


Looking at this strictly from a user (not developer) POV, I searched for some of the apps you mentioned. OsmAnd looks positively terrible from a UI/UX perspective, and seems borderline unreadable[0].

I'm actually curious as to why F/OSS applications that aren't extremely high profile or commercially backed (Firefox) seemingly tend to have UI/X as what is probably the last possible priority ever.

[0] http://osmand.net/en/screenshots-menu.html


OsmAnd looks positively terrible from a UI/UX perspective, and seems borderline unreadable

Yes, the renderer needs some work both in terms of prettiness and speed. It's not as polished as Google Maps, but it's definitely usable. That the map data is from OSM is a feature by itself, OSM maps are often more detailed than what you get from Google, and you can download all data, which is great for traveling. It even supports navigation.


True, but on the other hand it is very useful. It works offline, really useful when going abroad, and the OSM maps are better in many cities (worse in others).


I agree with you as a fellow hacker. But I don't think this can be called a solution for end-users, who would just like things to work out of the box. And as an app developer, one needs to consider the problems of the end-user. That is where fully packaged open-source projects could make a difference. However, without a strong backer, it is only going to lead more fragmentation.


I was addressing your comment, that Android is not open-source anymore, with which I disagree.

Your argument above is in the same line as people claiming that end-users do not benefit from open-source. In some sense it is correct, as end-users do not have the technical know-how to assemble their own operating system, to make changes to source-code, etc... But practically speaking, end-users don't have to do it by themselves just like they don't have to fix their cars by themselves (e.g. I helped friends install Cyanogenmod on their phones, which is a PITA to deal with, but once done, it's done).

The power of open-source is in the ability to fork it. Not all people or companies can do it, but if there's demand for it (e.g. Google's stewardship goes awry), then a successful fork will happen. Building an operating system from scratch is hard. Having stock Android available as a base for new operating systems is an incredible gift.

In the meantime, yes, forks of Android are only for hackers wanting to play around. But if this leads to the rise of alternative marketplaces, like F-droid, then this will benefit everybody. Not sure if you notice it, but the biggest problem that Android has in terms of openness and lock-in is Google Play. Fortunately Android allows installing software from third-party sources, but unfortunately there aren't many alternative marketplaces out there.


To me, those type of functions (dialer, messaging, music player, etc) are more "app" than "OS" - obviously alternate music, messaging, home screen, etc apps are available, but what about dialers? Is that piece of the system replaceable?

I think it would make a lot of sense if the base Android OS (AOSP, as I understand it?) were only as functional as it needed to be for useful apps to run, and then the "Google app stack" or "Cyanogen app stack" or whoever else's, open source or closed source or anything in between, could be dropped in to provide the user-facing functionality.

The key seems to be getting to a point where important pieces of that underlying functionality aren't wrapped up in the "Google app stack".


Yup. I don't use the stock dialer.


Firefox OS's base, Gonk is pretty much the same as Android's foundation, so both can equally benefit from a fight with blob-drivers of mobile hardware.


I don't use the stock music player, dialer, home screen _or_ messaging app. So I'm fine with that.


I don't think the issue is actually the music player, dialer, home screen, messaging app etc, because Google have done a great job making everything like that replacable. The actual missing piece which is worrying if you want to go this way is Play Services - that provides loads of the APIs apps need (probably including some for those replacements) and is closed source.


android includes an open source music player, dialer, home screen, and messaging app. just because google has replaced them with closed-source alternatives on the nexus devices, doesn't mean they don't exist.


"Android is open—except for all the good parts." http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-...


The "good parts" never have been part of Android so, yes, Android is open, Google Services never have been open


Not correct. Google has begun releasing new version of old things directly into Play Services or as separate new apps, letting the open source version bit rot.

One example is the location stack. They have moved into it play services and added a few features, but the open source one is now going to bitrot. 4.4 has now a new closed source launcher, and I'm sure the old GoogleHome.apk will go bitrot in a couple years.

If you get AOSP today is quite far from an Android device. Surely it's better than nothing but the distance is widening every month as Google keeps going down to this closed source way. In another couple of years AOSP would probably be irrelevant if you also don't subscribe for the Google apps when you build your device.


Not true. Google updated a lot of stuff for AOSP 4.4, such as the e-mail app (which I also thought would never be updated again), the Download app, the Gallery, the photo editor, and a few others. The point is that Ars author's theory hasn't come true yet, and it's actually be contradicted by the KitKat version in many ways.

Look just what a big upgrade the photo editor in the open source gallery received:

http://www.engadget.com/2013/11/03/android-4-4-kitkat-comes-...


> the open source one is now going to bitrot

There's something deeply hypocritical about complaining Android is not open source on the basis that Google is not working on the components themselves anymore, giving you free updates. If you actually sincerely care about open source your concern is exactly the opposite of that: the community must be able to take the source and build upon it. Google has brought us light years, billions of dollars of investment along the road to where we have a beautiful, highly optimized, slick operating system available completely for free, even to Google's direct competitors. And your complaint is now that you're not getting fed free updates to all the exact components of the OS at the rate you want? And therefore all that was given to you is worthless, "rotten", not even worthy of the name open source?

This just sounds so entitled to me.


From a purely FOSS POV, Google never tried to build a community around Android. They develop it privately, and code-drop it when there is a release. Not even their partners (generally) get to see it before the public release. Without a public roadmap, the only kind of significant user contribution to the project is bugfixes (which are still welcome of course).

But notice that the problem is not "the rate of free updates", but rather the fact that Google is moving more and more development into the closed-source part of the operating system, while still trying to maintain the market line that the "operating system is free". But which operating system is free? If you install AOSP on your phone (assuming you can and manage to go through the hurdles) you end up with a phone which is completely different from stock Android. That is my complaint: the difference between AOSP and the so-called "pure Android experience" (as on a Nexus) is widening more and more.

You say Android is available for free to "competitors". But as a matter of fact, AOSP (not Android) is available to competitors, and only those that are not part of the OHA. If you are a member of the OHA (so if you are an Android vendor of any significance), your contract says that you cannot fork Android; not only that, but you cannot even produce/manufacture a forked Android device as a supplier for an unrelated company outside the OHA (which is why Amazon has problems producing Kindle Fires, since all major manufacturers are also trying to sell consumer devices based on Android).

Moreover, if you fork AOSP, not only you don't have access to the Play Store, but many (most?) .apk won't even work on your device, since they rely on the proprietary Google APIs which are not part of AOSP. And this, again, is a widening ongoing process, so more and more (rather than less and less) existing .apk found on Play Store are incompatible with AOSP.

I think the way Google cleverly designed the whole "AOSP vs Android" licensing is way more than a standard freemium model; it's a model in which nobody pays, a part is open-source, and still it's close to impossible to create a forked consumer device that uses AOSP and benefits from the existing ecosystem.

The markets in which AOSP is really making a different (in my experience) is the B2B embedded device market, which is not in direct competition with Android devices, and where AOSP is quickly moving to become the de-facto Linux embedded distro. I work in that field, and I'm grateful to Google for AOSP, as it's really making the whole market progress faster than ever.


> If you install AOSP on your phone (assuming you can and manage to go through the hurdles) you end up with a phone which is completely different from stock Android

It honestly sounds like you have never installed AOSP yourself. I do it all the time and quite often use the device for a bit without any "Google". The experience of running barebones AOSP is way, way closer to stock Android than anything you will buy from an OEM. I even sometimes do it and forget to install the Google apps because it is so similar you cannot actually tell the difference until you try to use something like Gmail or Google Now. The idea that consumers buying branded phones are somehow being deceived because they think they are getting stock Android but Google has somehow slipped proprietary code in is laughable when you look at what the OEMs do in comparison.

I would challenge you to get hold of a Nexus and flash plain vanilla stock Android (to make things easy, use CM 10.2 and don't put Gapps on there). These are built from source directly derived from the AOSP, by people who are NOT members of the OHA and have no special relationships with Google, manufacturers or anyone else. You will find you can set up your email, calendar, pretty much everything you need, with the exception of Maps is available. It may make you feel better about things.

In my view, what is happening lately is that Google is drawing a sharper boundary around what is open source Android and what are proprietary Google services. The OS is remaining open source, as a hard condition. Things that belong in the OS are staying there and staying open source. But the layers above that - things that are rightly and properly user space apps - are only delivered as part of the OS as a convenience. Making better versions of those - possibly better versions than can ever be made open source, either because they depend on proprietary / live Google services (eg: maps) or because they use licensed or patent encumbered code - is fair game.


I thought the entitlement was google's when they used open source development to build their closed tools and betatest their api/protocol.

Of course the entitlement is theres because they convinced OSS devs to write code for them for free under the "do no evil" moniker.

So now if they want to keep their toolchains, they have to continue maintaining the oss-side google service apps to regain access to the tools they help built.

I think this is called bait and switch, and it's probably the #1 pattern used by big technology firms today. It's so easy to "switch" with IT. Carrot-stick pattern worked well for Microsoft, because they owned the only stick and most the bait, but no longer. I guess without a monopoly, the only way to secure customers is to fool them.


Apple did the dame thing basing OS X on unix kernel. Google is just following the lead. The only part that the OSS community was fooled on was the hypocrisy of Google


> One example is the location stack. They have moved into it play services and added a few features, but the open source one is now going to bitrot.

The location stack has not moved into Google Play. The location sensor APIs are still AOSP code. Address resolution and other things have always been tied to Google services, so that geofencing and Google Maps specific APIs are in Google Play Services is not surprising nor unexpected.

> 4.4 has now a new closed source launcher, and I'm sure the old GoogleHome.apk will go bitrot in a couple years.

The previous launcher from 4.3 is still available in AOSP. The new Google launcher has high integration with Google Now, but we've already seen that the launcher space has a thriving amount of competition and an open source launcher is totally do-able.

> If you get AOSP today is quite far from an Android device. Surely it's better than nothing but the distance is widening every month as Google keeps going down to this closed source way. In another couple of years AOSP would probably be irrelevant if you also don't subscribe for the Google apps when you build your device.

This is the core point. Its not that AOSP gets less free over time, its that Google-specific code and services get more functional over time compared to AOSP components. Since Google controls code commits for the main Android project, it means people have to fork and generate alternatives like Replicant is trying to do.


The KitKat version of GoogleHome.apk is already beyond bitrot; it's "an empty shell that forwards all requests to the [proprietary Google] search app" (which manages the home screen in KitKat), per ArsTechnica:

http://arstechnica.com/gadgets/2013/11/google-just-pulled-a-...

This leaves it unclear what you get for a launcher with an AOSP build of KitKat, but it certainly is drifting farther from the official Android experience.


Arstechnia hasn't done enough research.

You can (and I have) fetch the new Launcher from AOSP, compile it and run it very easily as a separate application. The Google Experience Launcher is a closed source Google app based on this which integrates Google Now.

https://android.googlesource.com/platform/packages/apps/Laun...


>which integrates Google Now

I now know which app I'm ditching once I get a 4.4 device.


Fair enough.

I'm a huge fan of Google Now so hopefully I can continue to use it if I decide to switch to a custom launcher.


>4.4 has now a new closed source launcher

Not correct. Launcher3 is open source.


Uh, the whole reason the Replicant project exists, and this article describing its challenges, is because of the difference between what you describe and reality.


I agree so long as we are using" Android" in a special sense, and not in the way the typical user does when they say, "I just replaced my iPhone with a Nexus 8 running Android."


On the other hand, for all practical purposes most people can't, and they may be deluded into thinking they are covered in regards to freedom, openness and privacy. Or to basically know what is going on with their data and their communications. It is a serious concern.

In theory you can, in practice 99.99% of the people won't be in a reasonable position to even try it.


This 99.99% thing is a dangerous fallacy, dangerous against freedom. See the law: you have the possibility to sue the government, in free countries. Only one person in hundred of thousands will ever need to sue for real, but having this open door is what defines freedom.

By the way 99.99% of all android users is quite a crowd, it could fill a few cities, so if they do check the code it can and will influence other android user, if only by adding pressure on Google. You see, adding a backdoor to android is really much harder for Google than it would have been with closed source, maybe 99 times harder?


I'm talking about real possibilities not the choice of executing them or not. Most people is for all intents and purposes unable to execute his theoretical open source rights with android. The barrier is insurmountable.


That's true. However, as the article says, the "Android" you are forking is something completely different than what is running on phones.


Ish. AOSP is missing a lot of key ingredients. See this article for a look into that: http://betanews.com/2013/01/02/building-android-from-aosp-go...


This falls pray to a reductio ad absurdum. The android you can do this with is nothing like the android that ships on consumer's phones.

So no, you absolutely cannot do this with what almost everyone thinks of as 'Android'.

You can do it with a different thing that also has the name 'Android', but isn't the same.

I assume you haven't noticed this, because otherwise you would be deliberately trying to spread a misleading view.


Do you not think this will happen to Firefox OS (as a random example).

Regardless of what Mozilla does, the manufacturers are not going to sell non-differentiated phones for very long. They are going to keep that differentiation closed source, as they do now.

If one of them becomes very popular (say, Samsung), the Firefox OS you can do things with will be nothing like the Firefox OS on consumer's phones.

This is the way of the world, not just the way of Android.


Sure, but this isn't just the manufacturers working somehow against Google's goal to have android be truly open. Google is actively participating in this process rather than resisting it. Android is, for example not licensed with copyleft or some other construction designed to keep it open, and Google itself builds its most significant end-user functionality as closed components.

I note that you are implicitly conceding that what is commonly considered to be Android is indeed not open.


"Android is, for example not licensed with copyleft or some other construction designed to keep it open"

No, instead it's licensed in a way that lets the rest of the world decide what they want to do with it, and the complaint is "we don't like what the world is doing with it". You must also realize if android was GPL'd, nobody would have used it, right[1] ?

" and Google itself builds its most significant end-user functionality as closed components."

I don't agree this is true, but even if i did, if you want to compete, compete. If you don't, don't. Essentially this whole complaint boils down to "i have to do my own work in order to compete seriously, i don't get to freeride anymore after x number of years".

I'll point out the mariadb folks did this, rather than simply complain.

In any case, the fact that someone may build closed source stuff on top of an open platform does not make that open platform less open. It may make that platform less useful as time goes on, but not less open.

"I note that you are implicitly conceding that what is commonly considered to be Android is indeed not open."

I haven't conceded anything, actually.

It's just not a point worth arguing with someone who holds a position that clearly conflicts with mine and is highly unlikely to change it.

[1] I wouldn't try arguing with this, this is a case where i was there, and I literally know the answers and positions of the phone makers, which was essentially 'never ever ever'.


Just to point out to readers that DannyBee works for Google (reference: https://news.ycombinator.com/item?id=6658276)

DannyBee - have you read Moral Mazes by Robert Jackall (http://www.amazon.com/Moral-Mazes-World-Corporate-Managers/d...)? It was one of Aaron Swartz's favorite books.

It's an excellent, and fair to all sides, dissection of morality in corporate management. It explains how and why managers rehearse to explain actions their company's have taken.

In this particular comment of yours, you say lots of true things. However, you are not acting in a straightforward "hacker" way, as befits this site, telling the truth how it is.

Google can continue to behave in this way as a company, but it will alas find it harder and harder to hire good geeks.


What a truly fatuous and obnoxious comment. You've managed to hit most of the HN bullshit argument dog-whistles: accusing people of being shills, invoking Aaron Swartz, arguing on behalf of "hackers", speaking for the rest of the site, and accusing the person you're debating of dishonesty. And you managed to do it in an argument about software licensing. Well played.


Sorry if you find it obnoxious - I was trying to avoid picky, semantic arguments about individual sentences by explaining what was happening at a higher level.

For the record, I'm specifically not accusing DannyBee of dishonesty. The reason I mentioned Moral Mazes as a book is because it explains what happens from the point of view of the managers, and why it comes across to outsiders as dishonest.

This stuff is subtle and systemic.

Fair point about speaking for the site.


"However, you are not acting in a straightforward "hacker" way, as befits this site, telling the truth how it is."

I'm not even sure where to start with your comment, because it implies so much, and has so little to offer.

Rather than address it point by point, i'll just say things:

When i'm speaking for the company I work for, you'll know it, because it'll be a press release that says Google on it. Maybe you are unable to separate your personal and professional lives, and hold opinions separate from your corporations. For me, Google is a company I work for. While I love my job, Google certainly does things i don't always agree with. When it does, i'm certainly not going to avoid saying something because i am "rehearsing to explain the actions my company has taken".

There are a lot of things Android could do better. But in the end, what I see over the years is a lot of whining that it's never enough. From where I sit, Google has taken a lot of flack for actually pushing the ball forward, because it doesn't always go as far as the open source community wants. First they wanted Google to beat up the carriers (without understanding why this is pretty much impossible). Then they complain when we don't. Heck, some people complain android is "too open", because we can't force carriers to give people what they want. I could go on here for hours. Look at the complaints of a lack of a nexus 4 and nexus 5 on certain carriers . Google releases an entire platform, on which other open platforms are now based, and people complain that they have value-added apps that provide a lot of functionality, and haven't opened them. Well great, good for them. This is supposed to be an innovative community. Create your own. Do it better. Do it open, and win. Prove that they made the wrong choice.

Let's stop and be honest for a second. Do you really think something like Firefox OS would even exist (not even just because it is/was based on Android at the lower levels, like Gonk) in the market today if Android had not pushed the ball forward?

When Android was first released, one of my good friends told me no matter what Google did, people would never see it as enough, no matter how open it was. The saddest part to me of all this is that he was right.

Android was never meant to be the end solution, it was meant to be the beginning.


Thanks for this comment - it's much better and clearer than the grandparent at explaining what Google are doing.

All the hard work on Android is much appreciated - I'm really glad Apple didn't gain a monopoly.


Would you prefer that Google gains a monopoly in operating systems as well as search?


Firefox OS certainly would not exist without Google signing the Mozilla Foundation nice big paychecks.

But the mobile web is inevitable. Eventually there will be parity in performance between web apps and native apps. (And Android is on the wrong side of that divide, and Dalvik doesn't exactly help.) Even if Firefox OS isn't doing what it is now, someone would have tried to push for a mobile OS focused on web apps. Perhaps even Samsung.


I don't agree with the parent poster's implication that 'because you work for Google you are a spokesperson'

But.. You have certainly claimed to have authority to speak about parts of Google's strategy because you were in certain meetings.


I have claimed to know certain things, not to have authority to speak for Google :)

These are very different things, and you should not confuse them.

As i've said before, everything i've stated about these strategies is public knowledge, and often stated by Andy Rubin himself, just not always believed :)

All i've done is basically say "believe it".


What I believe is that (as you have claimed) Android started as open, and is not any longer, but that many advocates of Android (Google included) continue to assert that it is.

You seem to be trying to wriggle out of this by saying that what people mean by Android today has moved past the 'open beginning' that is all that was ever meant to be open, and that's not Google's fault.

I agree that this isn't Google's fault. But let's speak plainly. Android began as open and that was all that Google intended. Things have changed since then and only a part of Android is open anymore.

Why try to claim otherwise?


Remember earlier when I said "It's just not a point worth arguing with someone who holds a position that clearly conflicts with mine and is highly unlikely to change it."

This is why I said that. You have your belief. You are clearly unlikely to change it no matter what I say. Your goal in this is not to possibly change your belief, but to find a way to confirm it in what i'm saying. This is what people do in these situations.

That does not often generate useful discussion, and it hasn't really here.

Realistically, I haven't tried to wiggle out of anything. It just turns out, as I suggested, we strongly disagree over whether Android is open, whether it was meant to be, and whether it still is.

Rather than continue this unproductive debate, i'm just going to go back to hacking some code on this fine sunday :)


Is the same true of the bionic library and and core OS libraries? How many vendors actually released closed forks of those, or required that Google restrict the availability of source code for the version of the core (C) libraries and utilities on their version of the device?

How much time did using this port from BSD take over shipping with a GPLv2/LGPLv2.1 version of libc and coreutils?

(Note, I'm explicitly referring to the Unix base operating system, not drivers, audio or video codecs or libraries or anything else, only Bionic and the core Unix utilities)


I don't disagree with most of what you are saying except for the part about Google putting its own most significant parts of android into closed source components.

Your comment about 'You don't get to freeride after X years' is perfectly reasonable if google's goal is to stop contributing to the open parts of android.

I am not disputing Google's right to do whatever it takes to compete, or that there is somehow something morally wrong about that.

I am disputing the canard that 'Android is open' when really only a part of it is, and that part is not what most people think of as Android.

I do thing there is something morally wrong with perpetuating this misleading idea, even though it furthers Google's PR goals.

I know that corporations mislead us all the time with communications that are technically true but pragmatically false. I realize it may be naive to expect different behavior, but it's certainly not going to stop if it isn't called out.


"I am disputing the canard that 'Android is open' "

This is because of what you define Android as.

Of course, the humorous part is that when all of this first started, Google tried very hard to make sure Android was defined in terms of what the Android Open Source Project was and had, but failed miserably here, so they gave up.


This is absolutely disingenuous. Google routinely refers to 'Android activations', and the success of Android in public communications. This use is clearly not confined to carefully referring to the AOSP.

If as you say, Google intended to have 'Android' mean the AOSP at one point, and it has stopped trying for that definition now because it failed to make the distinction to the public, then that only strengthens the point that Google (and you) know that what people think of as 'Android' is not open, and so are knowingly exploiting the ambiguity between 'Android' and the AOSP when you perpetuate that idea.


Radio (cellular) drivers are notoriously closed source and proprietary. Looks like they're reverse engineering the existing radio drivers and re-implementing them as open source[1]! Thats very interesting.

They don't describe how they're doing the reverse-engineering though.

[1] http://redmine.replicant.us/projects/replicant/wiki/Libsamsu...


Unfortunately Replicant does not run on my phone. When time comes to purchase a new one, I will probably get a compatible one. Most of the apps I use already come from the F-Droid repository https://f-droid.org/repository/browse/ as there is a lot of fantastic software available there.

I don't like it when threads end up as list of lists but some recommendations that might not be well known:

Aard is a offline wiki(pedia and others) reader. AFWall+ is a firewall to give/revoke internet access to apps. It is a fork of DroidWall which went inactive. Document Viewer is the best PDF reader I know and it's free software, hooray. It can automatically cut off white margins, you can set your own touch controls etc. Gibberbot is a great XMPP client. I tested many but this one did not randomly stop receiving messages like all the others did. GnuCash for keeping track of finances. Mirakel is a Todo app which I switched from Astrid to. Astrid is free software too but relies on several non-free libraries from what I know. Mirakel seems more concerned with privacy. OsmAnd for offline maps. And of course you can get APG, AdAway, ConnectBot, FBReader, K-9 Mail, ScummVM, Terminal Emulator etc. from F-Droid.


With the Nexus 5 out, the 4 might drop in price and make for a good "play with Ubuntu phone" phone :)

https://wiki.ubuntu.com/Touch/Install


Really BAD: has too much proprietary things and the hardware is bad for freedom: modem transport is over HSIC (high speed USB), but it controls the GPS (included in the modem chip), audio and perhaps NAND too

http://redmine.replicant.us/projects/replicant/wiki/TargetsE...


Looks like you want a Galaxy Nexus or a Samsung SOC S1-S3.


Just out of curiosity, what is your current unsupported device?


HTC Desire (which is very similar to the Nexus One). Just writing this reminded me that I really like HTC Sense and would probably miss that the most.


There is one more dimension: surveillance and security. Closed source phone could have spyware. It also does not get security updates just 6 months after release.

I simply want some basic privacy and phone which lasts more than 2 years. Commercial vendors failed here, perhaps OSS will deliver.


But unless you eliminate all closed-source components (hardware and software) you are still liable to spyware.

There was news a few days back of irons from a certain company having spyware! Imagine what could be put in the firmware of a mobile device!


Yes, but you're less likely to lose a cow from a pasture if you close most of the gates instead of leaving all of them open.


Will OSS also deliver cell towers? Otherwise the talk about privacy does not make much sense.


OSS can deliver good encryption solutions and can greatly enhance security.

No solution is perfect, but if you read the trail of Snowden-branded leaks and the opinions of security experts, the greatest weapon that the NSA possess are the vulnerabilities and backdoors planted on people's own devices. Plus, NSA is not the only enemy, or the enemy most of us should fear, but rather organized crime syndicates or business competitors, which for many of us are much more immediate threats.

You're making the mistake of thinking that just because all security solutions are imperfect, they are somehow equal. You're wrong!


I was talking more about content of the phone: emails, passwords, pictures, contact lists...

But proper OSS phone could give answer to GSM location as well. Imagine network similar to Tor, where SIM would be emulated on phone and shared among community members. Phone would automatically rotate SIM and network IDs every hour. The actual voice call would be over encrypted VOIP.

I am not saying it would be practical (or even legal), but OSS could solve technical part of it.


The critical path for free software runs through open sourced hardware specifications. Otherwise, a.project like replicant can never hit enough of the moving target to gain the critical mass needed to take off.


If the few pieces of hardware drivers, that still remain proprietary, are reverse engineered, then everything will be fine for a sustained prominence of Replicant/Free Android.


Sustained only for as long as hardware it is running on can be bought. In practice, it will be replaced with new hardware with new proprietary drivers really soon, making additional reverse engineering necessary.


That is true until a new GPS module, or WIFI module, (or another core hardware module) makes it on the PCB.

I can't help but feel that the folks adopting this path will always be a couple of generation behind.


Replicant's maintainers have a real attitude problem imho http://redmine.replicant.us/issues/669


I wish this would become become big. Something I wonder about the closed hardware drivers.. I am sorry, no hardware hacker, but what I always wonder is whether or not something like ReNouveau for Nvidia Graphics Cards would also be helpful to such projects. They did a really great job at reverse engineering and writing nice drivers. I think there would be lots of people running something like that, even when they don't use Replicant, but would love to support them.


About Nouveau, on a 2 years old laptop I have with an Nvidia card, I always had problems with Ubuntu and Nvidia's proprietary drivers, up to the point that I got so sick of it as to buy a new laptop without an Nvidia card on it. But then I tried out the Nouveau drivers and oh my, the problems vanished. The Nouveau drivers are right now better than the official drivers for some Nvidia cards. And they'll never vanish, even if Nvidia decides to drop support for older GeForce cards.


On my 2-3yr old laptop w/ a 8600GT, I agree that for 2D only X11 apps, Nouveau drivers seem to have less issues with tearing and drawing than the proprietary drivers. But once you want to need power management to run on battery, play games, or watch HD videos, the Nouveau are buggy, glitchy, and useless.

I have an extensive Steam library and while most of the Linux games work fine with proprietary, they are unplayable with Nouveau. I really hope Valve's commitment to Linux motivates Nvidia to put some resources into their open source drivers like AMD and Intel have done. If Nouveau was my only option under Linux, I'd switch to Windows.

Even for non-gammers, how can you seriously recommend laptop drivers that don't offer critical features like power management and video out?


> But CyanogenMOD gets around the restrictions placed on redistributing Google’s apps and other proprietary code by backing up the original copies from a user’s phone before installing the replacement operating system.

Do they?

My understanding was, that they come with some stuff that's released by google as closed source + the gapps package.


That used to be the case but Google got their lawyers to send a Cease and Desist to CyanogenMod: http://www.androidcentral.com/google-sends-cease-desist-orde...


No, I'm talking about "backing up the original copies from a user’s phone".


That, actually, was where it started, and where, philosophically it still rests today. In practise, people now just blow away their original gapps and download a separately created gapps package from some free download service and flash it. But in theory, they could have (legally) extracted all the apps from their own phone, saved them, then flashed them back on again themselves. This theoretical possibility is what keeps people using gapps with custom ROMs (just barely) on the legal side of the thin line dividing fair use and outright copyright infringement.


What I'd rather see is more work put into Meego/Sailfish or Firefox OS. Maybe introduce a native app layer for Firefox OS, that would be pretty sweet. I'd add Ubuntu Phone here too, except it runs like shit and is pretty much useless at the moment. Firefox OS is already way more polished...

As for Android, I don't think the chip vendors are too interesting in opening up their drivers, and it's not like Google will ever open up their services (and why would they?). Pretty much everything in Android that doesn't hook up directly to Google is already open anyway...


This project is dead on arrival. You cannot build solid structures on moving ground. We need open hardware/parts/DIY kits easily accessible first.


Linux (and other open OS's) have had to fight this from the very beginning. It may seem DOA now, but then Linux did too for a lot of people.

And while we still need the occasional closed source firmware blob or driver, there are now also systems where we can replace every little bit from the BIOS upwards with open alternatives.

In the mobile space, RockChip has released sufficient source to allow Ubuntu to be ported to the RK3188 CPU's (quad core Cortex A9), so there's movement. Given that RockChip is one of 3 CPU providers dominating the Chinese Android devices, if this helps their market share you can expect MTK and AllWinner (the two other main CPU providers) to be more open too.

That does not mean these systems are open - a lot of pieces still will be locked down often because they license GPU's etc. and don't have the rights to open up everything, but several of the Chinese/Taiwanese manufacturers in fact do seem to want to make custom builds available (not least because a lot of these devices ship as XBMC devices - many distributors now ship with XBMC by default, and at least one offers to flash their Android sticks with plain Linux + Linux version of XBMC instead of Android)


I feel like history, and unfortunately mistakes, are repeating themselves. I love *nix'ed based OSes but the developers on those platforms are all self serving. This includes the developers that claim to make a version that is going to be "Truly Open/Free". These developers are coming in with pure intentions but once they hit roadblocks, their sentiment will change.

With current Linux distros, you have 3 major roots: Debian, Slackware and Redhat. From those, 100's of children have spawned which fragments the community, creates factions, divides, conquers and creates this "crab in a bucket" mentality. Meanwhile Microsoft or Apple come along with one vision and just clean up the market. What I want to see, and what I think would work, is Google championing this effort in trying to make a truly free version of Android.


I'd love to use something like this. But so far that's not going to happen (and it seems it won't ever be possible).

Ignoring the fact that most devices I'd like to put this on (I have some old handsets, I'd like to put this on my wife's phone etc.) aren't supported - that's fixable - I'm unable to accept a mobile OS without Wifi support.

And I have a hard time thinking of a solution to this problem. I'd love to hear something different, would be grateful if someone could prove me wrong, but I'm really pessimistic that this will change..

All the other tradeoffs are fine. Camera, GPS - not an issue. But data connectivity and Wifi are the basic requirements to use my devices.


Another thing that needs to be said, is that the existence of proprietary software on Android doesn't make Android any less 'free'. Just like the existence of proprietary software like Chrome, Flash, Steam, etc... doesn't make my openSUSE system any less free...


So if I want to run this today and get the best experience, what phone should I buy?


I wish the talented team behind Replicant would choose to put their energy toward something that will actually be useful, because as it stands right now, Replicant is guaranteed to never go anywhere.

The main problem with Replicant is that it's solving a problem that users don't have. Ask any phone user (any, not just Android) if they care whether their phone is running on free software and either they will have no idea what you're talking about or they will tell you "Not really, I just want my phone to work".

The Replicant team (like the FSF) is trying to solve a problem that only they have.

Naïveté about how the world works is only cute for so long.


Great! That should keep Ubuntu/Mark Shuttleworth honest, in the mobile space.


A standardized open android just means easier rooting by hardware. No, you don't want to write to that location, mr. software, how about I link you a dialog about violating your EULA instead?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: