Google vs Cyanogen: Android App Wars
So I've been looking into unofficial builds of Android to put on my HTC Dream, and I've come across something that could make the idea unattractive.
cyanogen, Steve Kondik, the author of the CyanogenMod Android build received a Cease and Desist letter from Google's legal department. Not because he was distributing Android, but because he was also distributing the applications that come with almost every phone anyway, but aren't opensource.
Google build Android as an open source system, but they add proprietary apps to it. These are really useful apps too, like Maps, or GMail. They're the added value which they give telco's the right to redistribute on a case by case basis. The telco then ships out Android with the Google applications, as well as any others that they see fit to include.
So - where does this leave awesome developers like Cyanogen? Well - it means they probably have to ship their Android builds without some very basic applications like GMail, which isn't available in the Market either!
For a complete list of applications that you *are* likely to find, visit http://git.source.android.com. These have the source available for anybody to look at and tweak and modify to your hearts content (You'll notice Calendar *is* in there).
Fear not though, for all is not lost (I hope). If you download the Android SDK (about 180mb, but it varies from platform to platform), you'll find an interesting binary in the tools called adb (adb.exe on Windows). This is the Android Debug Bridge and allows you to transfer files between your phone's internal memory chip and your computer. This is handy because (and I'm yet to test this)... the applications which a third party developer is not allowed to ship is already on your phone, and you can copy them off with the following simple command:
adb pull /system/apps apps
Restoring them is just as simple:
adb push apps /system/apps
You'll have a directory full of .apk and some odex files. An apk is an application package installer for Android (think a .dpkg in Linux, an img in MacOS X, or an MSI in Windows), and an odex is an optimised version of this package.
So, what do I intend to do? I plan on taking this backup of applications I have a right to (because I'm paying Optus for their bundle which includes these Google applications) and I'm going to back them up, perform the upgrade, and the ones that are missing.
This is far from ideal though, because I'll be using old applications that I might not be able to get updates for. If Android changes too much (the underlying API), then the applications might even break when they expect to run certain procedures and they aren't there, or return data the application doesn't expect, and I'm not sure how to get my hands on more recent versions from my telco despite being allowed to install them.
All in all, this is a set back (partially) for the open source world given that these applications might not be available anymore to those who adopt an unofficial build. If I buy a laptop with some accounting software that runs only under Windows, and I install Linux, I still have a right to access and run the accounting software, even if I can't (or if I have to use some additional software to make it run).
- Just entered to win a Free Nexus One. Just follow @NexusOneBlog and retweet. http://bit.ly/4QP2PD #nexusone — 28 weeks 4 days ago
- #googledns, a simple explanation of #google #dns: http://bit.ly/8KyMkd — 33 weeks 21 hours ago
- set up @carneekiNET for #work; track @carneeki if you're interested in #personal — 33 weeks 23 hours ago
