Is Android really open source or not? That is the question being asked by almost everyone. A lot of people, especially those influenced by RDF or those who are in the news industry with no idea about OS and open source but were asked by their boss to get a scoop on this pronto, tend to bring up a few keywords and then twist them around in the way they see fit to make sure it says Android isn’t open. They don’t need to be correct, they only need the article to “sound correct” by picking up sentences out of context or putting quotes only from people who agree with them. This will convince their boss and 99% of their readers who have no idea about all these things either. But the boss is happy he got a story and associated clicks. Readers are happy because they got the points to float around in their next forum flame war. They don’t have to read when someone corrects them. They have made their points and rest is all someone making noises like a rat.
A lot out of the rest of the people, who are indeed informed, make the mistake of thinking that “Open Source = GPL” or “Open Source = Free Software”, which is not true. Open source is similar to free software but is one that choses to keep more options open. In short, Free Software Movement, as the one evangelized by FSF, is a subset of open source that tries to achieve freedom of software by restriction.
Please also note that many people including Steve Jobs confuse people more by interchanging between open and open source. An android phone that you get may not be open, the android market may be open, etc but this discussion is purely about open-source.
Anyways, with asbestos underwear on, I write this post to speak my mind about this matter by talking about various points thrown up by the above mentioned classes. Since this is going to be a long post, I’ll mention here the things it is going to cover:
1. Allegations against Android’s open-source nature. Are they true?
2. Does OSI Foundation (Open source Initiative) think that Android is open source?
3. Android and open source in layman terms
4. Takeaways/conclusion
Update: Updated the article as per Tony and Kasper’s comments below. Thanks Kasper and Tony for your valuable inputs.
Android and Open Source: Allegations and Answers
Allegation: Google does a lot of development in private for few months and then releases the code to public.
Answer: Almost every open source project I know does this. Do you think every person who works on an open source project pushes his code to the mainline 10 times when re writes a 10 line code? No. He completes the feature, tests it and then pushes it out. Individuals might do it sooner, companies might do it later but everyone pushes out their code when they feel things are fairly ready. So, Google choses to do the “push” every few months when they think their new feature set is ready. This, of course, is more influenced by the fact that they need to be competitive in the aggressive mobile market and hence not let the competitors know about the exact features but still it is well within the limits of open source. And they are doing it before/with the binary release as well.
Also to be noted here is the fact that the “code dump” is done only for major releases. Minor fixes and even features keep trickling into the code base every now and then and these allow others to make fixes as well. e.g. Cyanogen was able to bring “802.11n” capability and was able to include various fixes including one for wi-fi sleep policies before they actually made into an OTA update for any phone.
Allegation: Only google employees can check in code to mainline.
Answer: Every open source project has only a select few folks who can check in code. Most of the open source projects start with only their founders having commit access. They may or may not give commit accesses to anyone else. Check out various open source projects on sourceforge, googlecode, etc and you will find this. Most of the projects that do choose to give commit access to others, start doing it after some time when they feel the project is mature enough and they are confident enough in someone else. Android is just a hatchling, around 2 years old. It has begun making strides only now so Google may even choose to take the latter path but I can understand if Google wants to keep this as their control point because of the hustle and bustle of the mobile OS world which is much more rapid and cut throat than the desktop OS and this does not make them closed. Not only that, but seeing how everyone in the mobile world is so trigger happy with suing everyone else, it creates a legal issue for them as they would be the ones to answer if someone else brings this upon them.
Allegation: Google only accepts their own code into official android and nobody else’s.
Answer: This one is hilarious. Obviously, anyone who says this hasn’t actually been to review.android.com. Just go their and check whether any merged changes have non-google, non-android email ids. Anyone can upload their patches there but the accepted ones are fairly low. This problem is present in every popular open source project, even the Linux kernel. But is more pronounced in the case of android because Google’s android team is much smaller than the number of persons working on other projects and there is red tape of a big company involved. If you want to get your patch in, just like the kernel, you need to engage with them. Talk to them in the relevant bug report, comment the code properly, give them a reason to not avoid your patch. But yes, the process is still very slow and it is eons faster to just contribute to a fork like cyanogenmod. I do hope that google does get better in this regard soon though.
Allegation: It is not possible to make a full android build from the public code tree of android.
Answer: BS. Cyanogen does just fine with his full AOSP builds. People argue that Google does not release the modem/baseband code but they idiotically fail to realize that the baseband code is not part of Android at all. It is the IP of the baseband manufacturer and is specific to each hardware. Android is just the code that runs on apps hardware. Google does not indeed release the code of their built in google apps (gtalk/gmail etc) though but they are already working towards that and these apps will not be a part of the base Android system anymore. These would be standalone apps and even now you don’t need them to make a fully working android build.
Allegation: “Android” is a registered trademark and is held by Google.
Answer: Linus holds the trademark for “Linux”, Mozilla foundation holds the trademark for “Firefox”, Canonical holds the trademark for “Ubuntu”. Get the drift? Basically, it is completely possible and allowed for an open source software to be trademarked.
Allegation: Google doesn’t stop the carriers/OEMs from locking down the phones, adding bloatware or custom UIs.
Answer: This is an issue with carriers/OEMs and not Android. Google uses the apache software license (ASL), which is a permissive license (like MIT, BSD, etc) and hence does not stop the carriers from doing such a thing (In fact, this is the very foundation of being open, check the next passage about OSI foundation, point no. 9). Many people say they should, but if they did then they wouldn’t be open anymore, would they?
Even Linus Torvalds is against making such a stipulation of not allowing locking of phones and this is the biggest reason why the Linux Kernel (and lot of other open source projects) didn’t move to FSF’s (Free Software Foundation) GPL v3. I wonder why no one calls the Linux kernel closed hmmmm…
BTW, if you are so serious about unlocked/rootable phones then buy a dev phone directly from google or get one from Synapse.
Android and Open Source: OSI Foundation
The OSI foundation has a few guidelines to determine whether something is open source or not under their Open Source Definition. Android uses the OSI compatible Apache Software License (ASL) but still let’s see whether Android comes up to all of them or not. If it is in conflict with even one of the requisites, we will call Android closed.
1. Allow free redistribution – Check
2. Give out un-obfuscated source code – Check
3. Allow modifications and derived works – Check
4. Allow distribution of modifications (as patches) or modified software as a whole. Can restrict the modified versions from using original name of software – Check
5. No discrimination against any person or groups – Check
6. No restriction of using the software on any device or field – Check
7. No additional license needed – Check
8. No product-specific license – Check
9. No restriction on software distributed along with original software – Check
10. Technology neutral, i.e., no preference for an individual technology or user interface – Check
So, Android is true to each and every point that being open demands to it. In fact, points 9 and 10 are fundamental in making it open but alas, people less oriented with open software tend to term this as being closed (as seen in the last allegation above)
Android and Open Source: From a layman’s view point
Apart from the above, I would also like to share a few “layman-examples” which will let you understand for yourself why Android is open:
- You can see all the official android OS code without any restrictions
- You can download it, fork it, modify it without asking google
- You can port it to any device without asking google
- You can develop and sell your phone with Android without asking google
Now compare that with any other mobile OS you know.
Android and Open Source: Conclusion
So, the takeaways from the above wall of text are:
- Android is open-source
- Android is permissively open-source instead of being restrictive
- Android can do better in terms of community driven development but is perhaps held back by pace of competition and legalities involved. But, this in no way makes it non-open-source.
Let me know if you have any corrections or allegations to make


I didn’t read your whole essay but the Linux kernel is available under the GNU General Public License, which makes it free software and open source.
The Linux kernel is using GPL v2. FSF’s free software definition is completely reflected in GPL v3 which puts a restriction on device/hardware as well, .e.g, a device on which the free software is shipped must be free to be updated with modifications.
This is a useful and mostly correct document, but you’ve got a couple of mistakes.
Firstly, I’d suggest that you could have skipped some of the defensive tone e.g. (“LOL” as part of one answer) and have a stronger response. It’s entirely reasonable for someone to not know that FLOSS software can be trademarked.
Second, I’m fairly sure that Android is “Free Software” as defined by the FSF. Almost all “Open Source” as defined by OSI is also “Free Software”. The FSF would *prefer* if code was copyleft (like GPL) and prevented tivoization (like GPLv3) but that doesn’t make BSD or Apache code non-free, even though it allows people to make non-free derivatives from it.
You could also argue that Steve Jobs is cleverly not talking about “open source”, but rather about “open”, a word/concept with no actual definition, which make it very easy to argue about pointlessly. I would assume this is intentional as this is similar to how he cleverly interchanges the concepts of “open standards” and “industry standards”, arguing for the former when it’s HTML5 vs Flash, but then quickly accepting the latter as fine when it’s Theora/WebM vs H.264. You’ll find plenty of people online confused by this into thinking that e.g. H.264 is an open standard, but you’ll rarely catch Apple out in using the wrong term.
FSF’s free software _philosophy_ is reflected in GPLv3. The FSF free software definition (the 4 freedoms) also includes the GPLv2 and many other free software licenses:
http://www.gnu.org/licenses/license-list.html
If you want more clarity, read http://www.gnu.org/philosophy/free-sw.html
@Kasper/Tony: Thanks for the inputs. Points taken. Will update/correct the article.
“In short, Free Software Movement, as the one evangelized by FSF, is a subset of open source that tries to achieve freedom of software by restriction.”
This is incorrect. Open Source is a subset of Free Software (as Free Software predates Open Source), a subset that tries to improve Free Software through a pragmatic development model.
And the “restriction” you speak of is the same “restriction” that we have on our freedom here in the U.S., such as murder is illegal, theft is illegal, and the most similar “restriction” on freedom is that slavery is illegal; in other words it’s illegal to take away from another person the same freedom your government granted you.
Why should this be any different for software?
“Allegation: Google does a lot of development in private for few months and then releases the code to public.
Answer: Almost every open source project I know does this. ”
then you don’t know a lot of projects.
Gnomes development tree is out in the open, so is the one from Xorg, the Linux kernel, Firefox, OpenOffice, KDE, debian, ubuntu, fedora, even Googles Chromium, and many many more have their development trees readable by the public. anyone can follow the current development of those projects. only android is one of those high profile projects that does not show their development trees to the public. just like opensolaris, which used to have a public development tree before oracle closed it up again.
this does not mean that android or opensolaris are not Free Software or Open Source, but it certainly does mean that the allegation: “Google does a lot of development in private for few months and then releases the code to public.” is true!
all your other points are valid however.
thank you for your article
greetings, eMBee.
The mainline Ubuntu, debian, openSuSE distros don’t include any code that restricts the rights of the user (i.e. patent protected like mp3). And the “freedom” doesn’t stop at the hardware. I can put GNU/Linux on hardware and if it runs on the hardware, _I_ can change it. _I can_ switch between distros and gui the way I like.
Allowing to close a mobile is, due to the experience I made using OSS, paternalism.
I’m grown. I don’t bear paternalism or slavery, even when it comes as a present. Neither by state, Google, HTC or Apple.
As long as Google doesn’t fight locking Android phones, Android has nothing to do with OpenSource. And don’t tell me, locked Android phones are by chance. That is one of the main basics the Android design is based on.
Jacob, predating does not necessarily mean it can be a superset. And I don’t have any problem with restriction based freedom.
All I am pointing out is that there are two different aspects to open/free projects out there. One choses to go the permissive way and the other restrictive. Both camps have their arguments but I believe that both camps also agree on the basic fundamentals that both kinds are open but still have some differences.
Thanks for the inputs, embee. I just wanted to say that every project does development in private (as in a developer develops a feature on his PC and then pushes it out to mainline when it is done). The difference here is only of time. Individuals involved in a project or small features may get pushed quickly, even multiple times in a single day. Bigger features or code coming from company may take months of development in private before they get released to mainline tree. This is especially true for most company-based development as all of them also have legal departments to clear before releasing anything. Google treats major releases as a feature unto themselves in their release process.
But yeah, I have incorrectly worded the allegation. What I meant to say there was people put this allegation and say this is why Android is not open source. You are absolutely correct in the conclusions you draw in your comment. I’ll probably update the wording of the allegation.
Rangnar, same freedom is available in Android as well. You can put it on any device. You can change anything you want in it. You can put any other alternative UI if you want.
And Ubuntu/Fedora etc licenses do not have anything in them that will prevent an OEM from locking down a PC. It is only not done because this locking is not prevalent in PC field. If an Ubuntu phone comes out from any of the major manufacturers you will still see the locking in practice. Meego is adopting the same permissive root.
BTW, as mentioned in the article, if u do want a “free” phone, buy one from google or a company called synapse is also promising to build them. If your gripe is just with carrier locking, that is a US phenomenon I’m afraid. In most other places phones are sold unlocked.
Then conclusion is… that is not Free as in Freedom!
I have a GNU/Linux workstation, and I love the freedom I have with all Free software installed (no proprietary software there).
I also own a G1, and that is a different story!
Everyone have to keep in mind that the goal of Free Software movement is the freedom of the users, not the freedom of doing whatever you want with the code.
So the license of Android makes me suffer because:
a) I had to root my cell phone to install Cyanogen ROM, because the one (1.1) the only seller of the device in Italy was no upgraded and was also broken (so, without hacking the device, I had no freedom 1 the freedom do help myself modifying the code)
b) important application, the google ones, are proprietary, and I have some problems with them and can’t modify and improve (i.e. calendar…). In addition, makes install roms more complicated.
c) all the market is distincted from “gratis/no cost/free” app and “pay” app, not by license or Free/Proprietary, so find proprietary software to install is a nightmare
d) the system seems not to encourage the development of Free software, so I’ve had to install some proprietary programs on it, and is REALLY scaring since I don’t know what they really do with my data/position/credit/etc.. Let’s face it, proprietary software is a madness, you surrender your freedom to someone else you CAN’T really trust.
So, in the conclusion, I’m happy with android only because other alternatives, at least when I bought G1, were more closed, but really don’t consider it a device that gives me freedom, I hate it because of this.
markit, thanks for the inputs. However, I feel that your issue is not with Android itself but the whole permissively vs restrictively open approach in general that has been going on between various proponents of open software forever and there are various licenses on each side which are equally respected.
GPLv2 is Free software as well. FSF has even recommended a permissive license in some specific circumstances but you are missing the point which is that unlike the Linux kernel which has a enormous multi vendor community, Google’s control over Android is unusual and atypical compared to other large open source projects.
I think “restrictive” is not the right word. GPL is a reciprocal or copyleft license. BSD is a permissive license. The restrictions are part of copyright law and not GPL itself.
Depends. Is your article just a theoretical / legal question about Android license definition, or is it about the real benefit “open source” (or better Free Software) gives to users?
If the latter (that is what affects our lives), my objections stand. If the former, your reply is correct.
In any case, well written article!
Actually vs. Effectively, free or closed.
Though Google’s Android core falls under an actual Open-Source, and even a Free-Software compatible license, the platform is effectively not open at all.
The two key points of contention here are: 1)The fact that the most desirable core Google apps and the apps store are kept proprietary and their usage are highly restricted, making any device shipped without them utterly useless by most end user’s perspective.
2)That Google has left to the Android device manufacturers the option to effectively take any and all of these core OSS/FLOSS freedoms away from their product’s end-users through locking down the hardware. This was done intentionally by Google in my mind because, though the core Android OS is under an OSS/FLOSS license that does in fact allow for the device manufacturers to lock down their hardware, the Android brand/Trademark could easily be used by Google to stop device lock-downs. i.e. No open hardware, no Android brand.
The author of this article has skirted these core contentious issues by setting up and knocking down voluminous straw-man arguments that few people see as relevant with regards to Android being open or not.
From the end user’s prospective Android devices are effectively closed. And, as you can see, Google could easily fix the problems by relaxing the restrictions on Google’s proprietary core apps, and using their Android branding to stop device manufacturers from locking down all their devices. Maybe use a separate brand name (Open-Android)or some such for devices that aren’t locked down. Then, let the market decide what the consumers want.
re Nuna,
I’m used to Nokia’s Maemo, which is open and free for the largest part, I really like that, but the platform never reached any significant clout of followers. I’m thinking of buying one or more Android devices but want to continue
Is there a list of Android devices that are open enough? I.e. that will let me become root and change the kernel and tinker around.
I quickly looked around at site:fsf.org but didn’t find anything.
“it’s illegal to take away from another person the same freedom your government granted you.”
Jacob, I had to go back and re-read your comment to make sure you weren’t referring to some country other than the republic (not a democracy)that is the united states of America.
The US government does not grant freedoms! Never did. According to the founding fathers they are self evident freedoms and endowed by our/the creator (higher power than any earthly government). The US government was created by the consent of the governed. It’s powers, and even its existence are subject to its creators, We the People. The created is always subject/subordinate to the creator. Try remembering that when you go to the polls.
@ Kasper Souren
I’m hoping that Meego will be the truly open platform/devices that Google has failed at thus far. Although, as I said earlier, with some pressure from developers and customers, the branding-stick could be used to eventually open up at least some models. At the very least these devices should be unlocked by the OEM or Cell providers when their contracts are ended so that the device owners can be freed to use open, third party ROMS in their own property.
You’ll find the most active Android ROM updates/upgrades and various root-able device models by browsing here.
http://www.cyanogenmod.com/
Also, more specific root-able devices and how-to forums here.
http://www.xda-developers.com/
Actually if you just enter the model number of a device you’re interested in into Google along with the word root, you’ll pretty quickly find if it’s root-able or not.
@Jacob,
You need to brush up on your set theory. All Free Software is Open Source Software. Not all Open Source Software is Free Software. Therefore Open Source Software is a strict superset of Free Software.
I started reading the article, came to this paragraph below and just gave up since its gonna be another one of those mindless debates where some guy with a blog is gonna give us HIS definition of how many angels can sit on the head of pin.
Id rather go to whack off at Egotastic than read someones masturbatory epic on what is or is not FLOSS.
A lot out of the rest of the people, who are indeed informed, make the mistake of thinking that “Open Source = GPL” or “Open Source = Free Software”, which is not true. Open source is similar to free software but is one that choses to keep more options open. In short, Free Software Movement, as the one evangelized by FSF, is a subset of open source that tries to achieve freedom of software by restriction.
Carrier locked phones are not only a US phenomenon I’m afraid to say. Here in the UK most phones are carrier locked too, unless you want to pay an extremely high price for a factory unlocked phone and put your own SIM card in it.
Kasper, as I mentioned in the article, you can buy a developer phone from Google directly and it lets you become root and even unlock the bootloader for loading custom kernels/ROMs “officially”.
Linux is only the Kernel of Android, and one technically could be allowed to use Linux for an otherwised closed-source Operating System, so long as the use of the Linux Kernel stuck true to it’s GPLv2 license. Not unlike how OS X is with their BSD kernel. Such as, you could, technically, build an OS on Linux and use your own closed-source apps and daemons (To an extent, Red Hat comes to mind).
Android is open core, at best. One thing you need to take a look at is the license for the SDK (http://developer.android.com/sdk/terms.html). In order to develop for Android you must use this SDK (it’s the only one available) and you must agree to this license.
The SDK is clearly proprietary. One gem is section 3.1 where it essentially says that you may use the SDK “solely to develop applications to run on the Android platform.” However, they never define what the “Android platform” is. As a legal document this should be defined, but since this is not defined the definition can be whatever Google wants (this is intentional). What if I want to rip out Dalvik, or the kernel and replace it with my own? Is it still Android? Probably not, and Google can pull the rug out from under you at any time. Sure, you can still fork your “open source” Android into some new system, but you’ll just lose all your apps
And there’s also section 3.3, which revokes any license you thought you had to extend, distribute or reverse engineer the SDK. I’m sure Google keeps this stranglehold on the SDK because they are deathly afraid of fragmentation (which seems to happen anyway).
ah, yes, if you reword the allegation it will sound very different. of course android is open source (except for the parts that it keeps closed), regardless of how much private development happens before release.
however, i hope you can make that point without claiming most projects do private development. that is a different discussion and would distract from the original question (is it open source or not).
we can continue to discuss private vs public development here in the comments. please look at the projects i listed. all of them have their development out in the open. i’d like to ask you to point out other well known projects which do private development of major features.
btw it does not matter if a feature in in a mainline branch, but rather, if the code, complete and incomplete, day by day, is accessible by the public or at least by anyone who asks for it.
also, it makes a huge difference if code is published every few days or even one a week as opposed to every few months, in terms of allowing outside participation as equals (in terms of being able to follow development like someone in the project).
further, keeping development private for legal reasons does not really apply to google, i’d think, because in some projects google does open development (see chrome/chromium) and yet other projects nothing gets published at all (picasa client, google earth).
so it seems to me they are doing this for other reasons only.
greetings, eMBee.
ps: in the chromium browser the comments column of your blog has a fixed width, and while replies to comments are shifted to the left they keep that same width resulting in the rightmost edge of the text being cut off and thus making replies hard to read. maybe you can fix that.
Two things:
1. For your information, there is an open source project porting Android to the only true open phone out there, the OpenMoko Freerunner:
http://code.google.com/p/android-on-freerunner/
2. Google does violate OSI validation rule 5 you’ve mentioned:
5. No discrimination against any person or groups – Check
Check out http://code.google.com/intl/nl-BE/projecthosting/terms.html section 5. Export controls:
Users residing in countries on the United States Office of Foreign Assets Control sanction list, including Cuba, Iran, Libya, North Korea, Sudan and Syria, may not post or access Content available through the Google Code website.
Thanks for the inputs, Niels. Yeah, I know about the android on freerunner project. In fact I used a lot of their efforts last year when I was porting Android onto my mini2440 board since it uses the same processor.
And googlecode terms do not affect Android as Android is not hosted on code.google.com. It has its own website.
Thanks for the inputs, Steve. My apologies for your comment not showing up earlier. It went to the spam section somehow and I just noticed it while emptying spam.
Your observations are interesting. I’ll explore more about this aspect.
Please don’t preach religious philosophy at me.
A republic is a democracy. Direct-democracy is considered “true democracy” and Representative-democracies are considered “republics”. Both are forms of democracy. And in most countries murder, theft, and slavery are all illegal. In other countries somethings are legal, and other things get you simply killed.
The founding fathers were religious, so they thought everything was simply an act of God. However, the United States of America does grant freedoms. Contrary to what you may believe, no “creator” has any control over my freewill, this goes for the persons in charge of the various governments as well.
Evolution plays a proven role. “Freedoms” are simply the activities you evolved with that you’re allowed to do again. Monkeys do as they please, while ants live and die to feed the queen. Freedom is never an act endowed by God. In large societies, rules must be put in place, you only have the freedom to obey.
And I never vote based on faith.
I believe it is in question whether or not Android allows a derived work on the software. A usual strong characteristic of open source software is the community that commonly develops and fixes the software. But where is that community in the Android case? Is it the OHA? But the OHA is definitely not an open consortium, since membership is only by invitation.
[...] shantanugoel is Online Fanatic Member Join Date: Dec 2008 Posts: 234 Is Android Open Source Or Not? | Shantanu's Technophilic Musings And if anyone wants to discuss this any further, don't make any sweeping statements, read and [...]
[...] Full post: http://tech.shantanugoel.com/2010/10/25/android-open-source-or-not.html [...]
[...] © Shantanu Goel | Is Android Open Source Or Not? [...]
[...] ¿Es o no es Android software libre? tech.shantanugoel.com/2010/10/25/android-open-source-or-n… por Guevara hace 3 segundos [...]
[...] Is Android Open Source or Not? Let’s settle this once and for all. (tech.shantanugoel.com) [...]
[...] Is Android Open Source or Not? Let’s settle this once and for all. (tech.shantanugoel.com) [...]
[...] are several discussions on the internet about this subject, one more confusing than the other: Is Android Open Source or not Is the Android truly Open Source http://source.android.com/ Quote from the last site: [...]
[...] . Les recomiendo un articulo (en ingles), que trata sobre lo "open" de Android… Is Android Open Source Or Not? | Shantanu's Technophilic Musings [...]
[...] http://tech.shantanugoel.com/2010/10/25/android-open-source-or-not.html [...]