The Open Source Value Proposition
The rational for starting any engineering task has to be compared with the value in doing it. Apple's open source efforts are designed to open up their code to developers, to expose bugs, to share technology, to promote interoperability, and to accelerate adoption of their technologies.
That's an important point to remember: much of the technology being opened up is being opened as a last resort. Commercial developers do not open up their code without risk. Opening commercially viable code risks not only lost sales but also market control; even opening abandoned code risks a fragmentation of development focus. It may also involve licensing issues that posed no problem for a commercial product, but are incompatible with free distribution.
Those factors all weigh against opening code; without compelling reasons for opening their source, a lot of software becomes lost to the world unless the planets align perfectly and the shrinking risks of code release happens to nicely coincide with a given product's wane in commercial viability.
Managing Complex Projects
Another factor counting against open source is the related risks of loss in direction and increased complexity. A vendor opening code has to balance the value of community input and contributions against the increase in complexity required to manage those contributions, and the potential for losing control of strategies and goals within the project.
Apple's Darwin operates like this in some respects. Apple opened up their core OS so developers could look though it, but the company hasn't allocated the resources to build a complete code sharing repository infrastructure that can accommodate every contribution that outside developers might be able to offer.
He took Apple to task over their withholding of the kernel sources for Intel Macs in the interim period between the new machines' debut and the release of Mac OS X 10.5 Leopard.
His incessant articles suggested that Apple's unreleased kernel code was causing pain for a worldwide community of developers. In doing so, he painted an inaccurate portrayal of open source as a single entity with a single motivation and a single purpose.
Open Source as an Appropriate Tool
Apple maintains tight control over their projects to prevent creating a catastrophic mess along the lines of what Microsoft has to cope with in developing Windows. Apple wouldn't tangibly benefit from opening their development model to the random contributions from distributed sources; it would just complicate their project management for a project that is rapidly evolving and highly complex already.
Apple's Open Opportunities
Apple, like all commercial developers, has to carefully weigh the value proposition offered by a wide range of different open source strategies. Next up, I'll look at areas where Apple could open things up, and detail some of the challenges they face along the way. Stay tuned!
Next Article:
This Series