Apple's Relationship to Open Source
Despite being one of the most tightly controlled technology companies on the market, Apple has a surprisingly complicated relationship with open source. Both of Apple’s flagship operating systems, OS X and iOS are based on Darwin, which is in turn based on FreeBSD. Apple has also contributed a large amount of code back to the open source community, most notably WebKit, which is used as the browsing engine in nearly every mobile platform. Considering the recent popularity of Apple’s systems, and since there was a big Apple event happening today, their involvement in open source is worth a look.
Some of the source code for OS X is available on Apple’s open source site. Apple has made a decade of browsable archives available of all OS X releases going back to 10.0. Much of what is there is inherited from FreeBSD, but there are a few Apple developed tools there too. Up until the release of Leopard, or OS X 10.5, Apple made a downloadable ISO available for Darwin. They have since stopped offering the ISO, but significant amounts of source code are still available, enough that another project, PureDarwin, has managed to create a bootable OS.
Understanding Apple’s involvement in open source is easier if you look at it from their point of view. Apple can seem to be generous, as is the case with WebKit and their contributions to zeroconf networking, which they’ve named Bonjour, but there is a strategy behind it. Apple sells hardware, that’s where they make their money. Apple very nearly went out of business in the nineties, and were pushed into a small corner of the market by Microsoft. They’ve since recovered, and found a generous high-end niche market to operate in, but they still bear the scars of the nineties and remember what it taught them. If Apple can’t control the experience themselves, then they don’t want anyone to be able to control it. Microsoft came close to completely owning the web with Internet Explorer, and Apple knows that if there were still a lot of popular sites that required IE to function correctly, the Mac would not seem as appealing. So, it pushes open source adoption of WebKit. Apple believes in open standards, and at times open source, because it believes it can win on a level playing field. Or at least come out with a very profitable margin. So far, it seems to be working.
That’s one part of the conversation when talking about Apple and open source. The other part is the third party ecosystem that surrounds the Mac. OS X is an open platform in that anyone can develop an application to run on the Mac and put it out there on a website to download, and some of the best software for OS X is open source. The excellent Adium is the best chat client available, and is licensed under the GPL. Other open source apps like Firefox, VLC, and CyberDuck are all common on Mac desktops. Going deeper than that even though is the relationship between independent developers on OS X.
Source code to accomplish common tasks is often passed around between developers on the Mac as either drop in classes or frameworks. It reminds me of stories of how programmers in the seventies would work with Unix, freely trading their ideas back and forth. Even some Apple employees make some of their side projects available. Most of the code is licensed under a BSD or Creative Commons license, meaning that derivative works are not only acceptable, but encouraged. Most developers who put code into the public domain do it out of a sense of community with their fellow developers, and ask only that their name be mentioned somewhere in the final product.
The conversation around open source and Apple is a complicated one because Apple walks the fence between open and closed. They are not 100% either, but they seem to have found a good balance between the two. Would Apple be more successful if they completely open sourced OS X or iOS? Would it be better for everyone? Possibly to the latter, not likely to the former. In the end, Apple is in business to make money, and encouraging adoption of open standards and protocols is good for business.