2007: Apple introduces OS X 10.5, with its new quarantine feature. Applications which are downloaded from the Internet now show a warning dialog if you try to run them. At the same time, support is added for code signing, and notes that the user is likely to be bothered with additional dialog boxes and prompts for unsigned code that they don’t see with signed code. Developers are advised that they should sign all code.
2008: Apple introduces the iPhone SDK, and explains that for security reasons, the iPhone will only run code signed with a public key and co-signed by Apple.
2010: At WWDC, Apple introduces new security features for OS X 10.7. Developers are told that unsigned code will produce a new more strongly worded warning dialog every time it is run. A bundle of SDK, code signing key/cert and some new tools is announced for $99. Fanboys point out that you can turn the dialog off, so what’s the problem?
2011: Mac OS X 10.7 is launched with the new Mac App Store as an icon in the dock that cannot be removed. Anyone can sell signed applications via the App Store, with Apple taking a 30% cut of the profits and handling fulfilment. A developer feeding frenzy ensues. Soon, the Mac App Store is the main way to sell Macintosh applications. The old free OS X SDK is quietly discontinued. Fanboys point out that there are still the GNU tools and scripting languages, so what’s the problem?
2012: Mac OS X 10.8 is announced. OS X Server is rebranded as OS X Professional, aimed at developers, and shipped with Pro grade machines (MacBook Pro and Mac Pro) and servers. The regular OS X 10.8 is shipped on MacBook and Mac Mini systems. Development is still possible on the basic OS X, if you pay $99 for the SDK and a code signing key. Fanboys point out that you can easily jailbreak OS X 10.8, so what’s the problem?
2013: Mac OS X 10.9 no longer runs unsigned code. For that, you need to buy Mac OS X Professional, or the developer SDK and a signing key. The Mac is now locked up the same way as the iPhone or iPad. Fanboys explain that this was necessary for security reasons. Besides, what are you going to do, switch to Linux?