Google's decision not to release the source code to Honeycomb, the latest version of its Android operating system, has upset even its most ardent supporters. It's a reversal on the scale of its flip-flop on net neutrality. But Google's refusal to release Honeycomb is more than just a public relations crisis or fuel for an ideological debate about "open" vs. "closed" among the open source community.
Refusing to release the Honeycomb code creates potential legal issues, too, because the code is nearly impossible to get from any other source.
One of the basic principles of free and open source software is the principle of "copyleft", which is enshrined in the General Public License (GPL). Under copyleft, everyone is free to use, copy, modify, improve, and share GPL'd code, but there's an important and uncompromising condition: if you modify and distribute the code, you must make the code, and any works derived from it, available for use by others. If you don't, you've violated the terms of the license and copyright law.
Those who enforce the GPL say that there isn't supposed to be any delay in providing the code. GPL-Violations.org emphasizes that the "GPL demands that as soon as you distribute GPL licensed software in executable format you make available the complete corresponding source code." HTC has been excoriated by the community for delays of 90 to 120 days.
The first Honeycomb device, the Motorola Xoom, was released in mid-February. My colleagues have requested the code from Motorola but they've gotten nowhere. I've also looked into this, and as far as I can determine, Asus is the only manufacturer that has released any Honeycomb source code, and it is only the kernel code for its EEE Pad Transformer product, which is an incomplete source release and of little use to developers.
If a manufacturer drags its feet or refuses to release source code altogether, what can a developer or small company really do? Open source advocates could file lawsuits to get the code, as they have in similar situations, but litigation is slow, probably too slow to get any useful code, given the quick cycles of Google's in-house Android development.
What's really troubling is how Google has changed its story on the "openness" of Android. Google has long trumpeted Android's open source credentials, even in court filings. Responding to Oracle's complaint that Android infringed Oracle's patents and copyrights, Google claimed that Android is an "open platform - a platform that provides equal access to any who would choose to develop software for the platform." Google said that the "objective of Android is an open and shared product that each contributor can freely tailor and customize" and claimed that "the success of the Android platform is due in large part to its open nature, which benefits the entire open source community of consumers, developers, manufacturers, and mobile operators."
That's Google's official story, and Andy Rubin, Google's Android chief, has been repeating it. When word got out that Google would not release Honeycomb code, the community reaction was so strongly negative that Rubin was pressured to address the issue on his blog, where he insisted that Android is still open. But in the same breath, Rubin also made clear that Google would not be releasing the Honeycomb code any time soon. That is a strange definition of "open." (In a move that was not nearly as well-scripted as Rubin's blog, two Google engineering directors acknowledged the truth when they described Android as partially "open" and partially "closed.")
This is a dangerous game. Marketers may gild the lily a bit now and again, but this is different. Google made "open source" promises to device makers and the open source community to get them to buy into Android. They helped grow Android into a huge business for Google, which reports that 350,000 handsets running Android are activated each day. Device makers thought they were helping to develop a platform with few restrictions and broad rights to differentiate, but the deal for them has changed dramatically.
Android's "evolving openness" is already causing problems for Google. It's been reported that several device makers have complained to U.S. antitrust regulators. Two of South Korea's largest Internet search sites recently filed complaints against Google with that country's Fair Trade Commission alleging that Google has refused to allow competing search applications on Android devices. Skyhook Wireless sued Google after it forced Motorola to drop Skyhook's location service. These probably won't be the last lawsuits concerning Android.
By not releasing the Honeycomb code, by dictating what search applications can be used on the Android platform, and by redefining "open" to suit its purposes, Google has essentially privatized the Android platform. This may allow Google to make more money, but it also creates legal problems for itself and its partners, and it undermines the open source community that helped to create and grow Android in the first place.
I've also written a blog post with more detailed information on this: http://ebb.org/bkuhn/blog/2011/05/19/proffitt.html
In the not too distant future, someone (not in the US...) is finally going to do it: release a Linux distro specifically for portable phones. For ANY phone. For EVERY phone. All you need to "port" this distro to another phone device will be a small software layer, also open.
And... there will finally be one, open-source standard and protocol for (legal) music sharing and intellectual rights protection. Several adequate standards already exist.
The bottom line is this:
(1) "Phones" and "Pads" are no different from any other device in that They Need A Linux. This is the one and only truly-universal operating system.
(2) No one is ever going to "win" this game, i.e. by owning the Device that nobody else has and that everybody else wants. Google thinks that it owns the Device or that, at the very least, it can sell the Operating System To Rule Them All. Guess what... Microsoft already tried that (and failed), and Google would not be where it is today had they succeeded.
(3) No one is ever going to "win" by owning the only legal way that people can legally share music or other forms of multimedia. See #2.
Remember the War Games Rule: "A most interesting game. The only way to win, is not to play."
Forget this, and Mister Market is not kind to you. Oh, no. Not kind. Not kind at all.
The fact is... if I'm an "App" developer, I need to be able to write my "App" once and to deploy it everywhere. I can't afford to write and to maintain the same "App" four different times.
Apple knows this, and they have placed a "Hotel California honeypot" in place. Come on in, enjoy the bean-bag chairs and the comfy sofas, but you can never leave.
Nevertheless, we have seen this fallacy before. The market demands, above all else, flexibility. Not "six different ways to do the same thing, none of which you own," but, "one way to do the same thing, which no one owns." It's called open-source, or if you prefer, "cooperative development," and it has succeeded brilliantly and repeatedly.
You simply cannot build the things on a "closed" foundation that you can build, once, on an "open" one.
http://www.osnews.com/story/24705/Apple_Withholds_iOS_LGPL_WebKit_Source_Code
Android platform: no.
A good example of this is Cygwin by Red Hat. Cygwin is under the GNU General Public License, meaning code that links to Cygwin binaries falls under the GPL. You can buy a license exempting you from this requirement. Even Richard Stallman approves of it: http://www.fsf.org/blogs/rms/selling-exceptions
http://android.git.kernel.org/
The policy change is that Google will no longer provide official public builds (binary install images) for the most recent Android release until some time after the builds are released to hardware vendors whose devices and Android installations comply the Compatibility Definition Document (CDD).
This policy intends to address the issue of platform fragmentation, in which device vendors introduce modifications which break application compatibility between different devices. As anyone familiar with desktop Linux distributions will attest, fragmentation is a major hassle.
If you want, you can build your own Android installation from the latest source code, but you won't be able to call it Android 3.0 or Honeycomb, and so device vendors would not do this unless they really wanted to stick out their necks and maintain an independent fork.
There is no legal or philosophical provision of free and/or open-source software that calls on distributors to furnish binary builds on an unconditional basis. The F/OSS movement is predicated on the availability of source code. If you want builds, build them yourself.
Core system components that only look as if the 2.3.x code is available include alsa (sound,) apache (onboard http server,) and the Dalvik vm inside of which, as I understand it, pretty much all of Android apps are run.
What am I missing here?
Let's make them both irrelevant in two years time.
We can pay for development with community currency. And we'll do a drum circle format gathering to consense on the standards we'll use, natch. It'll be freakin' sweet, dude, just like my men's support group.
Anyone realize that Android is basically Linux delivered to the consumer? Linux on servers has been moving along great for years, but the consumer branch never amounted to much until Android. You basically need a sysadmin level skill set to care enough to think that much about your computer. So the sysadmin market lapped up Linux like it was going out of style, and regular people did not want to be that involved.
I don't trust corporations at all, not in the least little bit. They will steal you blind in a hearthbeat, matter of fact that is their fiducial responsibility in this messed up "free market" society where corporations can steal your property with impunity, but if you happen to listen to a song on the wrong device they can throw you in prison for "stealing" their propery.
Quite dissappointing.
The only significant piece of GPL code they use is the Linux kernel, and the Linux kernel project has stressed over and over again that the system call table and associated macros in kernel.h constitute an interface declaration and not executable code, and userspace code which calls the Linux kernel directly through this interface need not be licensed under the GPL.
The Bionic C library distributed with Android can be licensed under the BSD for the same reason that glibc (included with most Linux distributions) can be licensed under the weak-copyleft LGPL. Their interface to the Linux kernel does not constitute a derivation of the kernel.
Google's Android team has not had an easy relationship with Linux kernel project, and most of the Android-specific patches to the Linux kernel are maintained by Google outside of the mainline kernel tree. Google is obligated under the GPL to release their kernel patches, and they can be found in Android's Git repository on kernel.org:
http://android.git.kernel.org/
As for the rest of Android (the vast majority of the codebase), most of it is licensed under permissive licenses like the Apache 2.0, and Google is under no legal obligation to release that code.
If you browse the link above or better yet use git to extract the source trees onto your machine, you'll find that Google is releasing most of their userspace code (in the /platform directory). While Google hasn't tagged a source release for Honeycomb, the development tree in its current state (HEAD) is accessible, and there's nothing stopping you from forking that tree.
Linux founder and project leader Linus Torvalds had some choice words for Mr. Naughton concerning better ways to attract attention to himself without spreading FUD about the Linux kernel. I'd paste the quote, but you know, moderated thread...
Do you refuse to browse to websites hosted on IIS? If so, do you have a Firefox plugin that lets you do that, or do you start each new session with a telnet to port 80 for a quick set of diagnostics?
I think a lot of people are missing what Google wants to do as a company: they want you to be their mechanical turk, and they want to sell your eyes and your mouse. The question is, is what Google offers you worth the exchange? Because Bing and Yahoo and AOL want exactly the same thing.
Remember, in the US, the product is you. I understand the impulse to purity, but short of pulling off the grid completely, making your own hemp soap, hemp clothes, and herding a few goats, your basically done. On the bus (because I know you don't own a car - that gas, those fumes, those patents) you're still being sold as a unit. As a very cheap, low-end unit now (I mean, look at the production values on ads displayed inside buses) -- but even there.
http://www.itworld.com/open-source/140916/android-sued-microsoft-not-linux
About the Microsoft relationship:
http://www.networkworld.com/community/node/72323
Also see:
http://www.groklaw.net/article.php?story=20110322014831856