Andrea Capiluppi and Martin Michlmayr: “From the Cathedral to the Bazaar: An Empirical Study of the Lifecycle of Volunteer Community Projects”
Capiluppi and Michlmayr argue, contra Eric Raymond, that most open source project do not start out as highly distributed, “bazaar-like” development models. Rather, most start out with a relatively hierarchical, small, stable core of developers with little outside recruitment or participation, and then transition at some point (if they grow large, complex, and successful enough) into a “bazaar phase” characterized by active recruitment of new developers, who form a large distributed network of volunteers, coinciding with a radical expansion of the software itself. The authors propose a three-phase structure for OSS projects: an initial cathedral stage, a transition stage, and a bazaar phase. While not necessarily a measure of software quality, they suggest that development success or failure can be evaluated based upon when, if, and how smoothly this transition occurs. They illustrate this by analyzing two large open source projects, Wine (which allows users to run Windows applications in Linux) and Arla (a networked file system). Tracking both projects for over ten years, they note that Arla’s development community never substantially grew over time, and the number of code “commits” decreased steadily over the years. Wine, on the other hand, grew slowly at first, and then saw a period of rapid expansion (around 1998) in both number of developers and number of commits that has continued unabated ever since.
The authors argue that this transition is initiated by recruitment of outside developers combined with the proposal or creation of a significant number of new modules for the software itself. They note that new developers on an OSS project tend to work on new modules rather than old ones, suggesting that they are incentivized by the expansion of software features rather than the maintainence of core features. In the Wine project, 50% of what new developers work on is added within the same month that they joined the project. Clearly, in many cases new developers are attracted to a project by opportunities to add functionality. This suggests a strategy by which developers of a cathedral-phase OSS project can transition into a bazaar phase: they must not only signal their interest for new developers, but create a roadmap for greatly expanded functionality (in the form of new modules) that will attract the talent to work on them. These insights also suggest that new projects are easier to start utilizing cathedral-style organization, and should only attempt to expand into a large distributed network of developers (which will lead to rapid expansion of the software) when the time is right: that is, after a certain degree of sustainability, quality, and vision has been achieved, but before the original developers bite off more than they can chew in the form of massively expanded complexity. The transition into a more complex (and less stable) version of the software should be coordinated with an expansion of the developer community.
-ZHTagged with: bazaar • cathedral • eric raymond • open-source • OSS