The points that were specifically made (for those that want to rail against the article but that refuse to read it for some reason):
- "Google's Andy Rubin put up a proof that Android was open, then subsequent releases of android were put out in a way that this proof no longer held, so by googles own definition android is currently not an open platform"
- "Google has said it will never publish the source code of Android 3.0 (aside from Linux), even though executables have been released to the public. Android 3.1 source code is also being withheld. Thus, Android 3, apart from Linux, is non-free software, pure and simple."
- "Android is a major step towards an ethical, user-controlled, free-software portable phone, but there is a long way to go. Even though the Android phones of today are considerably less bad than Apple or Windows smartphones, they cannot be said to respect your freedom."
- "The phone network firmware comes pre-installed. If all it did was sit there and run, we could regard it as equivalent to a circuit. When we insist that the software in a computing device must be free, we can overlook pre-installed firmware that will never be upgraded, because it makes no difference to the user that it's a program rather than a circuit.
Unfortunately, in this case it would be a malicious circuit. Malicious features are unacceptable no matter how they are implemented.
On most Android phones, this firmware has so much control that it could turn the product into a listening device. On some, it controls the microphone. On some, it can take full control of the main computer, through shared memory, and can thus override or replace whatever free software you have installed. With some models it is possible to exercise remote control of this firmware, and thus of the phone's computer, through the phone radio network."
Take issue with what the man said, not with the man.
My personal take on all this is that if you base your offering on a huge amount of open source that you should keep the spirit of those whose code enables you to run your business alive and respond in kind.
I understand that they want to control the proliferation of 3.0 devices, and I understand that it is their work and that they should get at least some control over it -- but they are taking way too long to release the 3.x version.
I also understand the need for a closed development model, but when you've got "partners" that have access to source-code, and you do not; well, that's not a free ecosystem that enables real competition.
Android is also based on Linux, and on Eclipse, and on Apache Harmony, and on other open-source software without which Android wouldn't be what it is today, and without which they wouldn't have been so fast to market and possibly losing the critical window that they had. Android's appeal is precisely its openness -- no mobile maker would have jumped on board with another Windows-wannabe without getting paid for it.
Hopefully Google doesn't forget that.
The stated reason was that 3.0 code was somewhere between broken and terrible on phone form factors. That's a much more understandable motivation for keeping things closed, both from a developer not wanting to embarrass yourself and as a platform builder not wanting to give the over-enthusiastic (or their customers) a bad experience of Android.
I've not actually heard of a single device maker that was denied access to Honeycomb, they were just given access in a non-open source manner, one that presumably involved signing a contract that prevents them using it on phones.
Not that I really want to be defending Google, I'm keen to see what happens when ICS is fully open and am disappointed that Honeycomb hasn't been released (yet). But "open" has become a battleground between Apple and Google and the quality of discourse has plummeted as a result of the ensuing misinformation an partisan sniping.
I find it bizarre that so many pixels are wasted examining exactly how open source Android is when the iPhone platform briefly made it acceptable for you not to be able to install apps on your own smartphone. A feature (or "freedom") that's been taken for granted since the devices were invented.
I don't see anything in Andy Rubin's resume that suggests he's an open-source advocate. I'm not aware of any of his previous projects being open-source. Please call me out if this is incorrect.
Android is open-source in this same way id Tech is open-source. The current version is not, the previous versions may or may not be (in Android's case the 3 latest versions are not open-source). But eventually they'll open-source it, by the time it's no longer commercially viable.
Android is open-source in this same way id Tech is
Of course, Android is much more than a game engine and the difference between Google and id is that being open-source comes in Android's value proposition.
it's no longer commercially viable
so many pixels are wasted examining exactly how
open source Android is
I would be pretty sad if that changed. Android in its current state (talking about 2.x) is disruptive. I hope they'll continue releasing the source code / keeping it open-source.
But "open" has become a battleground between Apple
and Google and the quality of discource has
plummeted as a result of the ensuing misinformation
an partisan sniping.
But just like a Creationist discussing the flaws in an evolutionary theory, or a tobacco baron discussing how hard it is to actually prove cause and effect in science, I find most discussions of the openness of Android to be agenda driven to the point that they're actively reducing (the geeky subset of) the population's understanding of these issues rather than expanding them. That's noise.
Of course its another thing that doing all this they come out looking like a hypocrite preaching things like open and do no evil while practicing the exact opposite. But hey...
Google is in this to make money. They are
not running some kind of a foundation ...
Google said Android is and will be open-source. Google said that it wants to foster an open ecosystem. If Google makes money off Android, that's precisely because of those promises and companies should really be held accountable when breaking promises, just like real people. As I already said, Android would be nothing if it were just another proprietary Windows-wannabe.
If some friend steals from you, will you still consider him a friend, even though he stole from you to feed his children? Wouldn't it have been easier just asking for money, instead of stealing / lying about it?
If people don't get away with it, why should companies?
They don't get headwind because they don't have these rights, they get headwind because they claim one thing but do another.
It was pretty clear that Google never considered Honeycomb to be "complete". It was pushed out in a hurry to deal with the fact that manufacturers were pushing out terrible experiences on tablets using older Android versions. Honeycomb is merely a stop-gap to the next version (the upcoming ice-cream sandwich).
Google has been resistant to release the source precisely because I think they want to control (as much as possible) the proliferation of that code into devices that it can manage the bug fixing and release constraints on. That's why basically Google partners are the only ones with access to Honeycomb.
If the new version is released and the source code isn't, then I think RMS has a point. Ice cream sandwich better be "complete" and see a commiserate source-code push to go along with it. If not, Android has lost it's open source credibility. I think it is too early to make that call, however.
*disclaimer: I have no inside knowledge or any way to verify that my speculation is accurate:)
Why does Android 3.x not being for phones make any difference at all to this conversation?
Afaik Honeycomb was never meant for phones, either.
Also, it is strictly logic, you can follow everything from a false statement (false => anything). So, if Google had released the source for Honeycomb I could have been a millionaire is a strictly true statement.
>On most Android phones, this firmware has so much control that it could turn the product into a listening device. On some, it controls the microphone. On some, it can take full control of the main computer, through shared memory, and can thus override or replace whatever free software you have installed. With some models it is possible to exercise remote control of this firmware, and thus of the phone's computer, through the phone radio network
There are a few things that I find odd about this argument:
1. Phone network firmware is supposed to control the hardware. That's it's purpose. It's supposed to be able to turn the microphone on and off. On CDMA networks like Verizon, it should stop the user from attempting to access data when they're making a call. It should be able to be updated when the carrier makes changes to the underlying protocol(s). I don't see how this is "malicious"
use, especially if it's a technological restriction on the carrier.
2. Also, Stallman seems to be attacking the OTA update capability, which one of the main features of the Android OS. I can understand why he's ideologically opposed to it, but as a practical matter, it's a great feature of the OS. Plus, this is only done at the user's request.
The network firmware having the ability to control the radio is acceptable. Having it also able to modify the main CPU's RAM and interact with audio hardware is not. Control of the audio hardware should be entirely the domain of the main CPU. The main CPU (or an auxiliary low-power audio chip under the exclusive control of the main CPU) should then send audio data to the radio chip/SoC component via something like I2S. That way the network firmware can only transmit audio when the user-controlled software on the main CPU says it's okay to transmit audio, and it only transmits the audio fed to it by the main CPU (which may or may not be coming from a microphone, audio file, Internet stream, etc.).
And I don't think Stallman has anything against network-delivered software. He's been doing that for years. The complaint I read was about the ability of the carrier to install things without user authorization, and to use authorization to remove/modify existing features in a way that cannot be recovered. Both of those have happened in the wild.
>Putting these points together, we can tolerate non-free phone network firmware provided new versions of it won't be loaded, it can't take control of the main computer, and it can only communicate when and as the free operating system chooses to let it communicate.
The problem here is that the phone component needs to be able to override the rest of the OS to receive a call. To suggest otherwise is a pretty huge potential privacy issue... would you want every application to have access to the phone firmware?
In addition, the phone firmware exists to make the phone actually work with a specific carrier. So it needs to have control of the microphone, the speakers, and the radio in order to function. That requirement exists in both a closed implementation, and a FOSS implementation. Therefore, a FOSS firmware implementation still has the exact same potential issues that RMS raised-complete control of the hardware, the ability to restrict the user from doing certain actions, the potential of using the device to spy on people through well obfuscated(or buggy) code, etc.
Some of the more malicious uses are mitigated by a FOSS implementation, I will agree. However, I don't think that RMS has a solution that actually solves any of the issues that he raised.
Binary blob completley-isolated firmware is possible and simple to implement. It's also safe.
If you define 'open' as binary, and only true if every item in a certain list is met, then it's almost certainly true that Android is not open.
But I don't think that's a particularly illuminating way to describe the situation.
I think it's fair to say that so far, the smartphone side of Android, up to and including Gingerbread, has been open in the way that Andy Rubin described in his tweet.
The tablet side, Honeycomb, has not. You can take this as evidence that Google nefariously pulled a bait-and-switch and unconscientiously uses principles like 'open' only when it suits them financially. Or you can give them the benefit of the doubt and accept their explanation that the source code for Honeycomb wasn't ready for public consumption, and they had to make a pragmatic decision in the interest of maintaining their platform.
Besides that issue, it seems to me that RMS's gripes are largely to do not with Android but with the entire phone industry, and most of every other electronics industry. It doesn't seem like a criticism of Android or Google as such. Like he said, Android brings smartphones closer to his dream than we've ever seen. It's really up to the parts that Google has little control over now.
"My personal take on all this is that if you base your offering on a huge amount of open source that you should keep the spirit of those whose code enables you to run your business alive and respond in kind."
I agree, and it seems to me that Google has mostly fulfilled its obligations.
: I wrote a whole blog post on it: http://blog.byjoemoon.com/post/9579550453/googles-open-hand-...
And Richard is right - the real threat to open systems is not so much the obviously closed systems like Apple but the almost open systems like Android that are open enough to release the valve on community pressure but that aren't open enough to give us real freedom and control.
On the plus side, things are still in flux. For example, Inferno is now available to run on top of the free Android Linux kernel: http://www.android-dev.ro/2011/09/17/hellaphone-inferno-os-f...
bullshit. this is factionalism and letting the perfect be the enemy of the good.
"On most Android phones, this firmware has so much control that it could turn the product into a listening device. On some, it controls the microphone. On some, it can take full control of the main computer, through shared memory, and can thus override or replace whatever free software you have installed. With some models it is possible to exercise remote control of this firmware, and thus of the phone's computer, through the phone radio network."
I think we need phones with free and open source GSM/UMTS aka Baseband stacks.
One project helping with this is OsmocomBB http://bb.osmocom.org/trac/
Love him or hate him, Richard Stallman is nothing if not consistent.
The fact is that he is right on this issue. At this time Honeycomb is not open source software.
I'm a big fan of google, and as the story says Android is the best of a bad bunch (with regards to software freedom), but it's good that we have people like Stallman who can give us cause to stop & take a reality check (or unreality check, depending on your point of view...).
At Google, there is no 'upstream'.
they develop a great system, give it away for free, and publish the source. isn't that enough, do they really need to follow your preferred development pattern too?
if you want to evangelize software freedom, how about commending Google for being as open as they are, and criticising the sellers of totally closed systems.
I frequently disagree with RMS' positions. Not because they're logically inconsistent, but because they're based on premises I don't accept. I think a lot of people are the same way; we can recognize an argument that "if you accept X, then Y", and say "OK, but I don't accept X".
In this case I think he's reaching the same conclusion I would, but via a different route (albeit one with some of the same stops along the way). So in this case I'd agree with his conclusion.
"Please submit the original source. If a blog post reports on something they found on another site, submit the latter." - http://ycombinator.com/newsguidelines.html
If you see a link to a blog post like this, which is just a bad summary of an original source (http://www.guardian.co.uk/technology/2011/sep/19/android-fre...), please flag the summary link on HN, copy the URL of the original source, and paste it into the HN "submit" page (there's usually no need to fill in a title). That will automatically upvote the original source, giving it exposure and improving the quality of discussion.
Obviously if the secondary source is an important editorial piece in it's own right, it's fine.
One of my main reasons for investing time into Android is to eventually involve myself in the sources (and not just the Kernel sources), for fun, profit and security. If they take that away, they'd be little reason for choosing it over the iPhone.
In spite of people telling that Android is closed because it has a closed development branch, the one thing that you can do with open-source is to fork it if you're not happy with the current status quo.
But to fork Android 3.0 -- that's exactly what you cannot do. And that's definitely not open anymore.
I'm doing some apps for Android currently. I'm only testing on Android 2.2 / 2.3 -- that's because if I wanted a closed platform, I would prefer iOS instead.
When they'll release 3.x as open-source, then I'll be happy again.
Freedom is one of those words which go deep with most people, but which for the same reason have come to mean a bunch of different, oft-contradictory things. (For some definition of freedom, the GPL can't be said to respect my freedom either.)
In that sense is Android not respecting our freedom: some of us chose Android because of something that was being offered — something Google was commited to — and now that we've voluntarily locked ourselves into that platform, Google takes that decision factor away from us.
Stallman has this weird ability to get cherry-picked for his most passionate quotes. Although I not always agree with him, it's important that we go a bit deeper and try to figure out his actual reasoning.
BTW: Is there a complete list which ones have an unlocked or unlockable bootloader?
I know about the following:
- Android Dev Phone 1 (HTC Dream)
- Ion (HTC Magic)
- Motorola Droid (unfortunately not the Milestone)
- Nexus One (HTC Passion)
- Nexus S (relockable) (Samsung Crespo)
Sadly I don't know if this will be the case for US, where the operators have way too much control over the devices. Luckily I live in Europe, outside of EU. :-)
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
We know that:
1. Android is a collective work based on Linux
2. Non-Linux part of Android is not distributed as a separate work in binary form. In binary form both parts of Android (Linux and non-Linux) are distributed together as a whole.
3. According to GPLv2, "when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it"
So Google is clearly violating GPL here.
NOTE! This copyright does *not* cover user programs
that use kernel services by normal system calls -
this is merely considered normal use of the kernel,
and does *not* fall under the heading of "derived
The real problem is that I could point you to source.google.com and you could download the kernel and other gpl components from honeycomb right this second, but kernel.org and the osuosl site is recovering from a nasty hack. When those machines are back up, I invite you to go get the code you seem to be interested in.
Please clarify. Am I allowed to statically link GPL code with closed-source code and distribute resulting collective work in binary form? Am I allowed to dynamically link GPL code with closed-source code and distribute resulting collective work in binary form?
If the answer for the second question is "yes", what's the difference between GPL and LGPL then?
As for locking the devices, unfortunately "free" also means that device vendors are free to lock the devices. If you care, don't get such a device (my philosophy: stick to the Nexus line to be safe).
Edit: so your complaint is that Android id not on the GPL? Or why the downvotes? Indeed, the GPL would be more free in a way, more restricted in another way.
True, and RMS is concerned with freedom for end-users above freedom for phone vendors and network operators.
GPL v3 with anti-tivoisation clauses seem to be exactly designed to disallow "malicious" firmware some Android phones have.
Note that (pretty important) word left out there?
My criteria for buying a phone does not feature "Does it respect my freedom". As usual Stallman is on a different planet to the rest of us, who just want shit to work.
Does Stallman only buy socks as long as he has full manufacturing instructions included? If he buys a bowl, does he insist they include the mould used to create it, as well as all the paints, a DVD documenting how it was made etc.
He's entertaining, but not much more than that.
Speak for yourself, not for everyone else. I rather have free even if it means less functional.
And my socks or bowl doesn't have the ability to record my personal calls or track my location. Comparing the two is asinine.
I mean, I love open-source and everything, but I honestly don't give a sh_t whether the 'firmware' of the plane I'm flying, the playback device and amplifier pumping out my tunes, the microwave oven that heats my lasagna, the ECU controlling my cars engine or the software in my satnav system is 'open' and 'free'. All of those could have potential privacy or safety implications. For probably around 99.9% of all people using cell-phones, the exact same reasoning holds for how they think about them, and how they would prefer it to just work well and have more functionality, instead of carrying this (to them) abstract notion of being 'open'. If 'closed' means they get a better product (which is very often the case), then closed is better for them.
Also, you are fooling yourself if you honestly believe that 'open' is a guarantee for 'safe', 'secure' or 'thrustworthy'. Open-source software has exploits and security holes just like proprietary software. Maybe less, but let's not pretend 'open' is equivalent to 'safe'. You can never be 100% sure the source code you are looking at is actually exactly the same as what is running on this piece of hardware you bought anyway, even though the manufacturer says so.
I kind of agree with what spokengent said. FOSS has many advantages, but RMS is really taking things too far, as he has always done, pretending FOSS only has advantages and no downsides, and proprietary software is always bad and evil. He doesn't seem to understand there are many devices and applications that are simply incompatible with the FOSS way of doing things, for various reasons that have nothing to do with privacy, freedom or security.
RMS is a FOSS absolutist, advocating FOSS like it's a religion, not a way of doing things that works really well for many things, but maybe not so well for others.
Whether FOSS works well for cell-phones is up for debate, personally I don't really believe in it, and the way the Android ecosystem is developing and the strange sem-open development model behind is, is only confirming this, at least for now.
Sure. And if I could, I'd buy open versions of them too.
mean, I love open-source and everything, but I honestly don't give a sh_t whether the 'firmware' of the plane I'm flying, the playback device and amplifier pumping out my tunes, the microwave oven that heats my lasagna, the ECU controlling my cars engine or the software in my satnav system is 'open' and 'free'.
Well, then we're different. I give a shit. Not enough to refuse to use a closed version, of course.
For probably around 99.9% of all people using cell-phones, the exact same reasoning holds for how they think about them, and how they would prefer it to just work well and have more functionality, instead of carrying this (to them) abstract notion of being 'open'. If 'closed' means they get a better product (which is very often the case), then closed is better for them.
Possibly. But that still leaves 0.1% of people. And that includes me.
And 'better' is hard to tell. How much money and effort was spent rewriting stuff because it was tied to closed platforms?
People are usually bad at looking at the long term or at evaluating the far reaching consequences of such decisions, in my opinion.
How do you know? You're just more trusting of stuff that doesn't look like it has extra functionality. For all you know, bowl manufacturers could embed GPS tracking devices in there.
There comes a point where you just have to trust people selling you stuff won't be evil.
I don't carry my bowls around ;)
I don't like that word. It oversimplifies the issues. Whether Google is evil is subjective and irrelevant. The fact is that their entire business revolves around collecting personal data, often without being clear to the user about the details.
Is this for evil purposes? Were they discussing in dark rooms on how to fuck the user over? No, of course not. But does it really matter?
BS. They sell advertising.
You search for X, they show adverts related to X.
The extra targeting stuff probably increases their revenue a few %.
I mean, seriously, Android is about a lightyear more open than iOS and there are super good reasons Honeycomb is not out. An OEM in China would promptly put out some sort of crappy phone that uses it and wrecks the Android brand.
Is Android the least evil? Probably. But it is still not free. And RMS doesn't say you mustn't Android and whatever else; he just days that you shouldn't if you want to protect and promote software freedom, and he is a living model of an example free software lifestyle, for better or worse.
So what phone do I use then? There's a couple select phones that might qualify, but they are fringe, expensive and impractical.
This is what your parent is referring to. When people talk about how rms doesn't "live in the real world" they are coming from a "people who, at the end of the day, have to get sh*t done" point of view. Both viewpoints have their merits.
These guys sure ruin the Android brand with a cheap and beautiful phone after spending lots of time to make Android actually nice to look at and much more pleasing.
Disclaimer: I'm back running cyanogenmod now, but that's mostly because MIUI on my piece of kit isn't rock stable yet (neither is cyanogenmod, but..) and because I'm actually not that much into bling. But MIUI was definitely sweet and showed innovation.
They're totally free to do that right now, they don't need a more open version of android for that.
It's not as if google is limiting who has or does not have access to the platform.
The issue that RMS is trying to address is one that matters to a small subset of those that buy the phones, your ability to modify the code and improve it.
The price of the lowest end android smartphones is dropping so fast there won't be any room left at the bottom for a hypothetical even lower end phone.
As for android being 'more open than ios' RMS makes that point in the article.
Beware the Royal 'we'.
"It is also called the royal pronoun, the royal "we" or the Victorian "we." The more general word for the use of we to refer to oneself is nosism, from the Latin nos. It is most commonly used to denote the excellence, power, and dignity of the person that speaks or writes.:"
Instapaper, much beloved in these parts, is a fancy modern take on the same idea as RMS's web-to-email system.