I listened to Steve Jobs’ rant against Android on Apple’s earnings call, and felt it was unfair and misleading, mostly because he bent the definition of open into “open like Windows”, which is clearly - as I’m sure we both know - wrong. However, I believe your definition of open is wrong too. Here’s why:
I’ve been using open-source software since I was quite young. That is to say, that I understand the point you were trying to make about you guys providing access to the source code for the Android platform. However, when you are talking about something that anyone (with no programming background) can use - certainly the intention with Android -, the definition of “open” is different. Here’s some of the things “open” might mean:*Open means not feeling locked to a given vendor when using a handset. It means freedom from typical carrier shackles like proprietary software, functionality limitations, random UI/branding changes.
*Open means being able to tinker with the cellphone platform freely. Explore the code, write new pieces, run them on your handset. Share your changes with others. Collectively improve the OS.
*Open means being able to freely upgrade the operating system on the handset.
I believe you now know where I’m heading. Android promises a few of these things, but fails to deliver. Back when Android was first announced, I was excited - finally there was going to be true competition to the iPhone. I downloaded the SDK, played with it a bit. Ran the emulator, was pumped about it, couldn’t wait to get my hands on a handset. Things were looking up.
Fast-forward to today. Vendors, not the consumers, control the platform. You can’t freely upgrade your handsets. You can’t run custom software on them. The UI isn’t consistent between handsets - you don’t know what to expect. Software built for one specific version of android and one specific handset isn’t guaranteed to work on another. Companies are building their own proprietary app stores. In short: it’s an (open) mess.
iOS is - and has always been - a closed platform. I can’t tinker with the software. It takes paying cold hard cash to build something that runs on it. You need to go through Apple’s app store in order to make your software available on the platform. There’s no such thing as a public repository with the iOS source code. I’m locked into apple’s UI - if I hate it, I’m stuck with it for as long as I carry an iPhone.
All this being said, I must admit to prefer Apple’s idea of closed to your idea of open. With iOS, I at least know what to expect. I know exactly which handsets my software will run on. I can upgrade the software on my phone freely. I’m in control. Carriers can’t touch the UI or the phone’s software. My iPhone, even if sold to me by a 3rd party, looks and feels like it was designed to. Closed, yes. But “closed” I can trust.
I certainly wish there was a truly open platform. One where I’d buy the hardware, compile (or download a pre-compiled binary of) the software, and run it. On my own terms, not someone else’s. The day you guys let carriers take charge was the day Android and “open” stopped making sense in the same sentence. Go out into the streets and ask random people what they care about: downloading source code, or feeling in control. I know you know what the answers will be. I’m also certain you guys at Google can pull it off. Good luck.