Apple has a interesting relation to Darwin. On the one hand, the Unix kernel that powers all Macs and iPhone-like devices is called Darwin and was released as open source 10 years ago, with the first release of MacOS X. There even was OpenDarwin, a community effort co-created by Apple to allow evolution and contributions to this kernel outside of Apple.
The fact that this kernel is named Darwin is interesting, since the open source development model is often compared to "software darwinism" (see Stefano's presentation on this subject): most open source projects follow an evolution path that is driven by the changing environment of its users' needs and developers' itches. Projects that don't adapt either because of a technology paradigm shift or because they're too big or too specialized to allow evolution become dinosaurs and die.
OpenDarwin was closed in 2005 and has re-emerged as PureDarwin in 2007, which is coincidentally the year when the iPhone was first released.
And this leads to the other hand of Apple's relation to Darwin: the iPhone ecosystem is a vivarium where evolution happens in a very controlled environment. Developers who are living in the vivarium came here because everything is shiny an polished, and because there's a lot "visitors" that come to buy what's being built in the vivarium.
So this ecosystem grows and evolves within the rules dictated by its owner, the mighty Apple and His Steveness. Darwinian evolution could happen in this articificial environment if the rules where stable enough. But they are not:
- every application must be reviewed by the owner's minions, and they sometimes arbitrarily decide some of them do not comply to the rules (even if they seem to seem to infringe any) and reject applications. Building a business on advanced innovative iPhone applications depends on these arbitrary decisions, and not on the usual market rules where users decide. Developers who're particularly upset or don't want to hand off their survival to the owner may even decide to leave.
- Apple carefully rejects any application that may compete with its own business or applications. How many music stores on the iPhone? Even simple pinch-to-zoom is reserved for their own use.
- even worse, the owner can strongly change the rules overnight. The announcement of iPhone OS 4.0 last week brought two major changes that simply kills some companies, and opens the door to an unprecedented control on both developer and business freedom on the iPhone platform.
Clause 3.3.1 of the new developer agreement forbids 3rd party tool chains to be used to produce iPhone applications. Apple already had forbidden any kind of scripting on the iPhone, but this now forbids cross compilation! You have to use their tools (and buy a Mac) and write specifically for the iPhone. Period. Right, some cross-platform applications aren't that nice, but let people decide! If people don't like these applications, they won't install them and they will disappear! This look and feel problem mostly affects applications that make use of widgets. Full-screen games have to implement their own controls anyway, so why not let them use the tools they like?
Going back to the vivarium metaphor, Apple found that some inhabitants where helping others not in a way that was matching their overarching goals, just kicked them out.
Clause 3.3.9 is in my opinion even more dangerous, and I was feeling it would happen when His Steveness announced iAd, Apple's own advertising platform. Basically, Apple can decide to reject any application that makes use of 3rd party services that collect user data and are not related to the core functionnality of the application. Simply put, Apple can decide that you can not use any other in-app advertising platform than his own.
This means that Apple wants to control not only the tools that vivarium inhabitants are using, but also all their food sources! And of course it will get its share on the food. The only way to escape these suffocating rules while staying in the vivarium? Building HTML5 applications, which also opens some level of cross-platform goodness.
So Apple, who started MacOS X with Darwin's ideas in mind has now gone in the complete opposite direction, imposing an unprecedented dictatorship on developers and the rules of the ecosystem. Not even Microsoft went that far. How long until developers escape to greener lands or anti-trust actions take place? Not sure about legal action though, since Apple does not sell software, but a hardware+software combination.
I've been loving Apple for more than 25 years, having bought my first Apple II in 1984 and my first Mac in 1987. I still love my Mac, but no more Apple. As I read somewhere: "Apple, could you spin off the iPhone division so you can stop being evil"?