Open Source and why forking is good

Fake Steve Jobs on the Trouble with Android:

Um, hello? Folks, the whole point of doing open-source code is to let it fork. The idea is to accelerate evolution by encouraging weird mutations. Creating an open source program and hoping it won't fork is like decorating your house with a zillion Christmas lights and a forty-foot inflatable Santa and hoping nobody stops to look at it.

This is an interesting way to look at Open Source. Traditionally freedom to fork has been seen as a safeguard against dead projects or vendors, as a way to hand maintainership over to parties that are still interested.

But what FSJ is talking about is forks being beneficial by themselves. This is the model that Distributed Version Control Systems like git also promote: every developer has their own fork of the software, and merges to "blessed" repositories happen under the watchful eye of a maintainer.

This is quite a different model than the traditional centralized way of working with projects. Merging between forks has its costs, but if we embrace this model we gain lots of new developer flexibility and possible new workflows. DVCSs haven't been with us for a long time yet and so it takes some time for this new distributed way of working to take root.