Monday, May 31, 2010

Apple neuters the notion of open source

Quietly, Apple has out-maneuvered the open source movement.

The iTunes/AppStore combination works against open source, or at least neuters it on the iPhone/iPod/iPad platform. All applications must be approved by Apple, and therefore Apple has control over all applications (and all possible applications) that can be installed on any of the devices.

Open source relies on a number of assumptions. The primary assumption is the openness of source code. This openness drives many of the licenses.

Open source also relies on the availability of a compiler (or run-time engine in the case of scripting languages). I can release open source projects for C, C++, Java, Perl, Python, Ruby, and lots of other languages and people could use them. If I created a private language and kept the compiler to myself (the compiler itself not just the source for the compiler), then I have prevented anyone else from creating an open source project in that language.

Open source also relies on the ability to install an application. If I have the source code for a project and a compiler to build the application, yet I cannot install a program onto my computer, then open source does not help me.

It is this last case that Apple has used with its consumer platform (the iPhone and its ilk). I can write programs as much as I want, but I cannot install them on my iPhone. Only "blessed" applications can be installed. I could go to the trouble of getting the application approved by Apple and added to its App Store, but that still blocks open source -- anyone else cannot install their (modified) version of the app unless they get that modified version approved.

So we can see that open source is about more that the source code. A successful open source movement requires the source code, the ability to turn the source into a runnable program, the ability to install the application on your computer, and the ability to run the program -- all without approval from another party.

These issues are at the heart of the "trusted computing" platform of a few years ago. With that proposal, the "choke point" was on the execution of the code. The trusted computing platform would run only code that had been signed (approved) by the appropriate authority.

Since Apple has locked the open source movement out of its consumer platform, and Microsoft is doing little to encourage or enable open source on Windows (or Windows Mobile), it seems that open source will be limited on desktops to Linux and limited on phones to Android. Microsoft and Apple will succeed (for a while) with their walled gardens. In the long run, I think a lot of the creative work will occur in the open source world and Apple and Microsoft will be hard-pressed to keep up with it.

No comments: