The Success of Open Source - Journal of Omnifarious

Jan. 18th, 2006

09:51 am - The Success of Open Source

I've been reading this excellent book called "The Success of Open Source". It's an attempt to dissect why Open Source development seems to work, despite that fact that it seems like an economic anomaly.

The author had an really interesting insight. He's been examining why each individual finds it beneficial to contribute. He's gone through a whole list of reasons, and deconstructed why each reason isn't actually quite enough to explain it, then he comes out with what I think is a very important insight.

There are network effects in software. The more people use Open Office, the better it is for all users of Open Office because it means there are more people they can readily exchange documents with or exchange tips with about how to use the software, or any number of other things. This is true about most kinds of software.

This means that there are no 'free riders' in Open Source. Anybody who downloads a piece of software and uses it is increasing (in a small way) the utility of the software for everyone. And anybody who contributes a feature that makes the software more useful sees that contribution returned a hundredfold in increased usage of the software.

This effect also has the tendency to discourage small groups of people taking a piece of Open Source software and improving it on their own out of public view. The larger the audience the software has, the less beneficial this is for the small group.

This meshes well with my reasons for semi-avoiding BSD licensed software. The smaller the audience a piece of software has, the easier it is for a small group to take the piece of software, improve it out of public view and then try to get everybody to use their improved software without opening the source. When this happens, the efforts of contributors are wasted because network effects stand a good chance of starting to favor the new proprietary version. This means that it is less beneficial in the long run for people to contribute to BSD licensed projects. Especially BSD licensed projects in their infancy.