Monday, August 25, 2008

The Open Source Software Myth


Once in a while I get asked my opinion on Open Source Software projects. Personally I think Open Source software (OSS) is great: Apache, GNU C++, Linux to name a few. But as a project management or product development technique I can’t say I recommend it. There are two reasons I give for this.

First there is no single OSS development model: Apache has a stack of IBM cash, GNU C++ is largely volunteers with chip makers (and others) contributing expertise and resources to help their own products, Mozilla was seeded by Netscape and has done a good job of marketing itself, etc. etc. Some OSS projects have paid development teams, some have single individuals and so on. It is not enough to say “We will do it open source” you need to be more specific.

Second: most OSS projects fail. “Go look at the number of web browsers on Source Forge” I say - a quick search this morning shows 19,362. There are lots and lots of OSS project that go no where. Commercial projects (famously) fail too but the important point is: OSS is no silver bullet.

So with this in mind I was interested to find and read a paper by Kieran Healy and Alex Schussman from the University of Arizona entitled: The Ecology of Open-Source Software Development. Although from 2003 I think the analysis and arguments probably still stand. (This paper appears in several places on the web so I guess it is already well know, maybe I’m late to the party.)

The authors did some analysis on projects in Source Forge and came up with some interesting results. Basically it turns out that when most people talk about the Open Source model, and successful examples, they are talking about the top 1% or less of all Open Source projects. The true OSS model has a long tail.

Taken as a whole OSS projects follow the Power Law - its that law again! The authors say:

“The median number of developers is one. The 95th percentile is 5. Relative to the whole field, only a tiny number of projects have more than a handful of developers. The median number of cvs commits is zero. At the 75th percentile it is 1 and at the 90th percentile it is less than 100. This indicates that there is little or no programming activity taking place on more than half of the projects. Examining the number of message authors across all forums shows that only projects at the 90th percentile and above have more than two contributing message writers.”

And later:

“In summary, we found power-law type distributions for all activity measures in our dataset. In each case, a tiny number of projects dominate an activity-type when measured by volume.”

The projects which are actively developed (in this study these include Crystal Space 3D, Open CASCASE, gkernal) are not the most downloaded (in this study CDex, VirtuakDubm ZSNES). In fact the authors say:

“Measures of user interest in a project — such as site views and downloads — are not closely related to measures of developer activity on a project.”

So what are we to make of these findings?

Well I think it bears out my initial comments. OSS is no silver bullet.

The papers authors propose three hypothesis for further consideration - and given that the paper was five years ago they may well have developed these further.

First they suggest that the involvement of professional developers is key. Despite the gifted ametuer image of some projects it helps to have professionals along. Second the role of project leader is critical - nothing new here perhaps but more evidence that OSS alone is not enough. (Actually, I was reminded of Fred Brook’s Chief Programmer model while I was reading this.)

And third, most interesting to me: the authors suggest that successful OSS projects with have hierarchical structure between leader and development team. Many OSS proponents (e.g. Eric Raymond) suggest a more chaotic structure in OSS projects which may not be the case (remember Healy and Schussman are suggesting a theory here without proof).

Personally all three suggestions ring true for me. There are wider lessons here too for the Agile and business communitiies.

There are those in the Agile community who see it as a route to emulate the success of OSS. However this study shows that the OSS success if not good enough for commercial projects.

Second some elements of leadership and hierarchy are necessary to have a successful project. In other words, relying exclusively on self-organising teams and emergent behaviour may not be enough. Some element of control is justified.

In the business community there has been a lot of talk in the last few years of applying Open Innovation - that is applying Open Source ideas to business problems and products. Proctor and Gamble have one example, Walkers Crisps in the UK is trying an Open Source type idea at the moment. If the OSS experience is anything to go by open innovation may come up with some good ideas but it is not enough alone.