10 ms·
Developer Joe Hewitt Tears Into Android’s Definition Of “Open”
- shib71 16y agoIn this case, Joe is wrong. "Open-source" simply means that anyone is allowed to read the code. We may associate certain release schedules and commit policies with typical open-source projects, but those schedules and policies are not mandatory. Or even common. Browse GitHub or SourceForge to see the typical choices - "when I can be bothered" and "only me" respectively. I understand that Joe is in a position where he will need to deal with changes in the OS when it is released, but he still comes across as a self-entitled whiner.
- jamesaguilar 16y agoI disagree. I agree that Android fulfills the license requirements of open source. But it delivers few of the practical benefits that were meant to stem from the term (control of your devices/computer, the ability to modify the software you use). So in spirit it is nothing like what we would traditionally call "open source" and it is certainly nothing to brag about vis-a-vis iOS. I see no sense of entitlement in his complaints at all. They seem reasonable based on the difference between what I might expect from an open source project and what Google actually delivers. This is rare considering I tend not to like open source software or even the basic principle of it.
- shib71 16y agoWe can fork and alter the code, and deploy it to our devices. I'll grant that it is not easy on some devices, but you can't argue against the carriers' right to change the code without compromising your own.
- msbarnett 16y agoThat's just shifting the goal-posts, though. Google touts the Android platform's openness as a benefit for developers and end-users. And yet: As a developer, I have, if anything, less visibility into upcoming changes to the Android SDK than I do into upcoming changes in iOS 4.2. As an end-user, Android's openness hasn't stopped carriers from foisting unremovable crapware on me, or given me any more control over my Droid X than I have over my iPhone 4. But whenever anyone dares to point out this disconnect between Google's marketing rhetoric and reality vis a vis openness, suddenly "open" means nothing more than "fulfills the letter of the contractual agreements of the GPL version 2 and provides no promises of anything beyond that". It's farcical.
- moultano 16y ago>As a developer As a developer, your customers can run the app even if the app store says no. >As a customer As a customer, you can choose from a range of android powered devices including those not approved by Google. The nook would likely not exist were it not for Android.
- msbarnett 16y agoAs a developer, if my app doesn't make it into the main app store, I'd be throwing good money after bad by trying to run about trying to set up my own payment infrastructure and trying to convince people to buy and side-load my app (which, among other things, Android's openness would keep AT&T Android users from doing anyways). From a pragmatic standpoint, there is no practical benefit to this openness for me, as a developer. As a customer, the freedom to "choose from a range of Android powered devices including those not approved by Google" simply means the burden of having to perform a complicated cost-benefits analysis, deciding which specific combination of carrier crap-ware and carrier locked out features, or unsubsidized hardware from little-known Chinese manufacturers is least un-appealing to me. I have to spend an enormous amount of time researching to ensure that the official app store is supported on such-and-such phone, to find out whether tethering works freely or not or whether I can side-load or not on such-and-such carrier. From a pragmatic standpoint, there is no practical benefit to this openness for me, as an average consumer. Openness is only a virtue if it has practical benefit. If Google is arguing for openness from a purely dogmatic, non-practical standpoint, then they should be honest about that instead of pretending that Android's openness is some kind of unicorns-and-candyfloss fun ride for app developers and end-users.
- moultano 16y ago>As a developer, if my app doesn't make it into the main app store, I'd be throwing good money after bad by trying to run about trying to set up my own payment infrastructure and trying to convince people to buy and side-load my app (which, among other things, Android's openness would keep AT&T Android users from doing anyways). From a pragmatic standpoint, there is no practical benefit to this openness for me, as a developer. Or support it with ads? >As a customer, the freedom to "choose from a range of Android powered devices including those not approved by Google" simply means the burden of having to perform a complicated cost-benefits analysis, deciding which specific combination of carrier crap-ware and carrier locked out features, or unsubsidized hardware from little-known Chinese manufacturers is least un-appealing to me. I have to spend an enormous amount of time researching to ensure that the official app store is supported on such-and-such phone, to find out whether tethering works freely or not or whether I can side-load or not on such-and-such carrier. From a pragmatic standpoint, there is no practical benefit to this openness for me, as an average consumer. This seems no different to me than any other free market. I buy the argument that Google should simplify your purchasing decision by being more selective with the trademark, but that's an entirely different argument than the one we are having.
- wtallis 16y agoYou can't always deploy your altered versions to your devices. Carriers have been experimenting with various techniques for locking down devices that have been rooted in any way, and the only completely unlocked Android phone (Nexus One when sold through Google) was a flop. If your reply to this is that you can always bypass whatever DRM they put in place: well, you can do that on the iPhone too. And if you're willing to count something as "open" when reverse engineering is required to use modified software, then the availability of source code for a reference implementation ceases to be a meaningful difference. Android is no more "open" than iOS under that definition, just easier to work on.
- biafra 16y agoYou mean: You can't deploy your altered version to any device Assuming you did not break it while altering. Then you can always deploy your altered version to the ADP-Phones. For example the Nexus One. And this is not a theoretical possibility. I have done it. It works. I use it every day since.
- wtallis 16y agoOpen is not the same as "open, if you run it on special developer hardware". The Android platform cannot really be said to be open if none of the consumer products based on it are open.
- biafra 16y agoThe Nexus One is a consumer product. You do not have to be a developer to buy it nor is it special developer hardware. Those other devices are still closed because people still buy them. Vote with your wallets and you will have freedom.
- deleted 16y ago[deleted]
- 16y ago
- shareme 16y agoI think you are confusing OEM and Mobile Operator missions with open source..they are not that same..Joe makes the same logical mistake in this debate..
- ubernostrum 16y agoI think you are confusing what actually matters. If I were to walk up to RMS and say I've got a Free Software mobile platform, but that the hardware/firmware is designed to brick itself if you start customizing the OS, and that it comes loaded up with non-Free software that you can't remove without finding a way around the firmware bombs, would he hail it as a grand advance for freedom?
- davidw 16y ago"The hardware". You mean The Android Phone? The only one out there? He'd probably also complain about mobile phones in general for other reasons ("portable surveillance device", etc...) I'm not RMS though, and Android is 'pretty good', if not perfect. If there's something better out there in terms of open source and open development, then let's hear about it.
- drivebyacct2 16y agoYour post is the reason GPLv3 was created if I understand some of its intentions properly.
- biafra 16y agoYou have all that freedom with Android. You have the control over your device with Android. You don't have it on every device. But how is this Googles fault? Android is so open it can be closed down by anyone. But there are Phones that are not closed down (ADP1, Nexus One) and hopefully there always will be. Just because customers choose to buy phones that are locked down does not mean that Android is less open.
- wtallis 16y agoIf Google actually cared about Android being open, they would have used GPLv3, to ensure that it stays open. In reality, they simply couldn't negotiate with carriers as well as Apple, so they've chosen to re-frame their capitulation as "openness".
- biafra 16y agoThats a philosophical question. Which is more open? GPLv3 or Apache/BSD license? http://en.wikipedia.org/wiki/BSD_and_GPL_licensing#Permissive_versus_Copyleft_opinions http://en.wikipedia.org/wiki/BSD_and_GPL_licensing#Permissiv...
- aphexairlines 16y agoLikewise, if Linus cared about Linux being open, he would have supported switching the kernel to AGPLv3.... Likewise, if the FSF cared about glibc being open, they would have switched the library to AGPLv3....
- grammaton 16y agoControl of your devices falls under the carrier, not Google. Blame the carrier if you can't re-flash your phone to your heart's content. You certainly can modify the base OS, with the exception of a handful of binaries. If the binaries in question (Gmail, YouTube, the market) bother you that much, there is nothing to stop you from writing your own versions.
- Tichy 16y ago"But it delivers few of the practical benefits that were meant to stem from the term (control of your devices/computer, the ability to modify the software you use)." Of course it does. A lot of people I know run community mods of Android of their phones, or at least used to do so for a while. Cyanogen seems to be a popular choice: http://www.cyanogenmod.com/ http://www.cyanogenmod.com/ That some phone vendors choose to make it difficult to install your own version of Android is not the fault of Android. Maybe Android could have a license that forbids the practice, but it would be debatable if that would be more or less open. Also I'd argue that if you care enough to install your own custom OS, then you are likely able to figure out which phone to buy (ie Nexus One). It seems however that the "only publish source code of releases" poses a problems for vendors considering releasing Android based hardware. It probably gives Google at least a little bit of leverage. Which might be a good thing - most anti-Android people seem to complain that Google is not able to exert enough pressure on manufacturers to maintain quality standards.
- edgibson 16y agoI agree. Joe can be somewhat of a whiner. Every time he's on the news, it's probably because he whines and complains about something (Apple app store policy, the state of web development, Android openness, etc.)
- kefs 16y agoJoe should stick to developing.. http://stackoverflow.com/questions/3077289/facebook-android-intent http://stackoverflow.com/questions/3077289/facebook-android-...
- moultano 16y agoSo fork it?
- gamble 16y agoWhat's the point of forking something you can't install without voiding your warranty? Especially knowing that you can't redistribute your fork because average users won't hack their phones to install it, and even if they did your fork would lack essential applications like an email client or maps? Android is no more open than Tivo, and in fact is the perfect example of what the GPL3 advocates were warning us about.
- carussell 16y agoAndroid is no more open than Tivo Does hyperbole make you feel good? Just what, exactly, are you proposing happen in the sphere of source code that's going to affect manufacturers' warranty process, really? Open source doesn't mean everything is amazing and you won't have to deal with logistics and deployment issues. You have the code, but if you want to get serious and get more than a dozen installs, you should expect to do some heavy lifting of your own and take care of some of the business aspects of the situation. Not everything can be solved by source and a code license.
- gamble 16y agoIt isn't hyperbole. Like Tivo, Android can only be installed on hardware from manufacturers that are hostile to unofficial software. Most handset manufacturers go out of their way to make installing unofficial builds difficult. They all void your warranty if you try. The fact is that there are no Android forks worthy of the name and never will be so long as hacking is required to install it. Open-source software that can never be installed is only 'open' in the most technical sense.
- davidw 16y ago> Most manufacturers So put your money where your mouth is and buy from those who don't do that. You have that possibility with Android: Nexus One. > The fact is that there are no Android forks worthy of the name and never will be so long as hacking is required to install it I installed Linux for the first time in 1996, downloading a bunch of Slackware floppies over a 28.8 modem (IIRC), and it certainly took some hacking to install. Granted, the vast majority of people out there aren't like that, but it's kind of odd on a site called 'hacker news' to see people who seem oblivious to the hacker spirit, and what a group of motivated people can accomplish, given time. The reason there are no (visible - I'm sure there are a few minor ones out there) forks of Android is because Google is doing a decent job, and mostly racing ahead of where forkers would be going on their own.
- bretthellman 16y agoWe can debate whether it's open or not all day long... If one of the most respected engineers around isn't happy with Androidm Google's doing something wrong.
- brown9-2 16y agoHe's not happy about Apple's app store either. Are they doing something wrong too?
- m0nastic 16y agoI would say yes, although his issues against the app store have been somewhat remediated by Apple's latest easing up on developer restrictions. I don't see this as an either/or scenario. As a developer, I can be dissatisfied with both Apple and Google. As someone who is pragmatic and not espousing a philosophy what matters is which I'm dissatisfied with more. There's no right or wrong answer to that question, each developer has to decide that for themselves.
- kragen 16y agoThe Open Source Definition, written by the folks who invented the term "open source" a few months previously, doesn't say anything about the stuff Joe criticizes in Android. He's simply mistaken about the meaning of the term. Also, the Android development policy that Joe criticizes is essentially identical to the way Emacs was developed up until the last decade. Emacs was the example "cathedral" in the original version of "The Cathedral and the Bazaar," for those who don't remember. It's well-established at this point, 13 years later, that bazaar-style development works better for a wide range of projects, but that doesn't mean that cathedral-style development doesn't qualify as open-source. It's just inefficient and frustrating.
- pkaler 16y agoAndroid source code is licensed under the GPL and Apache licenses and therefore is open for developers. Most Android hardware is carrier locked, has proprietary firmware, or has proprietary services loaded on top and therefore is closed for users.
- HaloZero 16y agoI think there's a separation between openness (freedom) vs openness (transparency). Android is open as in freedom, you can install it anywhere you want, you can modify the source code, you can build stuff on top of it, you can root it, etc. But it is not open in transparency as Joe points out. They are not open about what they are working on. His arguments against Android stem from that. The not allowing read/write access and the latest and greatest all relate to the fact that Google doesn't want to be transparent with the future of Android. Either way, iOS is neither.
- Locke1689 16y agoActually, the iPhone dev toolkits and prerelease announcements are pretty good at providing feature information for iOS developers. No they're not available years in advance, but it's still more than Google. I think iOS is probably more transparent in this sense. Still, I think neither are completely open and a misappropriation of terms has just lead to 'open' being more marketing bullshit.
- snotrockets 16y agoBut they only provide binaries. It's always easier to develop for a system you have the code for, even if you can't modify it. With iOS, you get more time to fix your code, but sometimes you have to speculate why the system works they way it does; with Android, the SDK drops later, giving you less time to code, but it's easier since you can find out why the system behave the way it does.
- Skroob 16y ago"Point I am trying to make is, Rubin bickering with Jobs is a farce, because both refuse to share the one thing that matters: control." I would say the one thing that matters is a consistent and polished experience, and that the iPhone will always have an advantage over Android in that simply because Apple doesn't play this pretend "open" game.
- jamesbritt 16y ago"I would say the one thing that matters is a consistent and polished experience, ..." Hey, as long as the trains run on time, we're all good.
- davidw 16y agoAndroid is open source. Android is not developed by an 'open community', if you will. It's a legitimate complaint, I think, but I wouldn't let the perfect be the enemy of the good. If someone wants to invest a lot of work and time, they can very much fork Android if they want, and develop it however they see fit. Also, something else that isn't brought up a lot: Android has a fairly open architecture. Intents let you plug in various things in various places so that you can choose which app handles what.
- compay 16y ago"Open source" != "open project." This issue comes up every so often on the Lua list, and I think Roberto Ierusalimschy's explanation describes the situation with Android pretty well. http://lua-users.org/lists/lua-l/2008-06/msg00407.html http://lua-users.org/lists/lua-l/2008-06/msg00407.html
- dondii 16y agoThere are commits from a couple of hours ago: http://android.git.kernel.org/?o=age http://android.git.kernel.org/?o=age What am I missing?
- dejb 16y agoAnd the Apple Fud campaign begins to take hold...
- guelo 16y agoBefore Android the mobile world was a much sadder place. There was the undisputed king, the iPhone, controlled by an increasingly ego-maniacal tyrant. Then there were all the manufacturers and carriers flailing around uncoordinated unable to respond. Google came along and offered the world a free open platform that everyone could rally around to put up a fight against the encroaching monopoly. Google makes no money off of Android but they've put massive resources into it. Their only benefit, the freedom from Jobs' capriciousness, is also a benefit to everyone else. I don't understand the Google hate, they gave the world a free OS, what is there to hate about that? Even the most ardent Apple fan should be thankful for the competition. Yes, it's true that the carriers suck, but they would suck a lot more if they were only pushing LG feature phones or whatever, instead they get to sell a powerful worthy system to the masses.
- yardie 16y agoGoogle makes no money off of Android but they've put massive resources into it. You honestly believe this? Then the must not be making tons of money off of search either. Oh but they are, to the tune of millions. And Android? $1Billion in revenue. No one hates Google, but a kernel doesn't make an OS. Which is why Linux is known as GNU/Linux. By that logic OSX is also open source, you can even download and compile their kernel from here http://www.opensource.apple.com/ http://www.opensource.apple.com/ People are hating because they were promised open, but what they got comes with a lot of strings attached. What good is downloading the kernel and running make if you have nowhere to install it?
- davidw 16y ago> a kernel doesn't make an OS You realize that Android is a lot more than just the Linux kernel, right? And that almost all of it is available under an open source license?
- yardie 16y agoExcept most of the drivers, the firmware, and some of the applications are not. I think most of developers would even be satisfied with a binary blob (ala nVidia or Broadcom) that would allow them to use the hardware, but not even that exists.
- jedbrown 16y agoIt sounds like the complaints against Android are [1] "Steering" discussions do not take place on a public mailing list (or community input is generally disregarded). Depending on the involvement of the community (in actually doing instead of bikeshedding) compared to the company, this isn't necessarily a bad thing. I like open development, but if the community really has enough motivation, they are welcome to fork the project. Git makes it as easy as possible to migrate patches [2]. Some new development does not go into the public repo right away, instead residing in a private repo until some merge window prior to a major release. Keeping it in a separate repo is probably a good idea if the changes are likely to cause occasional breakage. Again, visible branches (and/or RFC patchsets on mailing lists, a la LKML), but they do have a rapid release cycle and the full history is available after it is merged. They don't hand out commit access to the community. Is there just no email address to git send-email your patch sets or to send pull requests? Or do they ignore patches that show up? That's just bad administration and it's easy enough to create a community fork. The specific complaint about outright commit privileges is silly, Linus does not hand out commit access to anyone (including Ingo, Alan Cox, Andrew Morton), instead he pulls from them when they are ready. I'm not trying to defend Google, they certainly have a history of being a poor to mediocre open source citizen. But "no different than iOS" is a gross exaggeration. Note that the carriers and hardware vendors may be far more to blame for the privacy, it's likely that they require limited-time NDAs so that branches cannot be made public until a release. [1] I don't have specific experience working with the Android git repository or trying to send patches upstream, so I don't know if the complaints are entirely factual. [2] It's not so rare for Open Source (adhering to the strict definition, but not open development, obviously) projects to only publish release tarballs. In contrast, Android publishes their repository with daily activity: http://android.git.kernel.org/?o=age http://android.git.kernel.org/?o=age
- grammaton 16y agoMobile developer speaking here. As far as I can tell, most of the grousing about Google not being "open source" revolves around two points - one, they don't accept outside contributions, and two, you can't just install on whatever hardware you'd like / carriers do crappy things. As far as point two goes - blame the carriers, not Google. It's not even necessarily clear that the carriers are in the wrong to do things like this - part of open source is that you are free to modify as you see fit. Sprint exercising this very right is why they have their own interface now. If all of the carriers choose to pull this shady crap, put the blame where it belongs. As for point one - who ever said they have to? First off I'm not sure I'd want patches from Joe Schmoe running on my cell phone, and not even Google has all of the resources they need to review every submission they'd get. Secondly, plenty of open source projects are notoriously stingy about who they hand out commit privileges to - and the quality of the software in these cases more than justifies this policy. If you're free to read, download, modify, and re-distribute the source code as you see fit, it's open source. If a third party intervenes to make this pragmatically difficult, then that's a different issue. Google has certainly been more open than any number of other software companies - only Apple really comes close, as far as I can tell, and they still hold back huge chunks of their code. Google deserves the press they get for being open source, because at the end of the day, they are.
- cullenking 16y agoGoogle wouldn't just take patches from any Joe Schmoe, and it certainly wouldn't be a huge overhead to deal with them. It would be similar to how a project like Rails takes community patches: people wanting to contribute strike up conversation in a bug tracking program or IRC with some core developers. They say "hey I wrote this cool patch that fixes this ticket". The core team member takes 20 minutes to check out the patch, and he merges it in to his branch and then commits it to the core repo. After this community member does this a few times, the core member begins to trust and understand their coding style, and gives them commit access. Doesn't take a ton of resources, and it encourages an open and vibrant community. The benefits of doing this "up front work" in vetting a new committer is, well, you get a new committer knocking off tickets.