SimCode: Agent-based Simulation Modelling of Open-Source Software Development

TitleSimCode: Agent-based Simulation Modelling of Open-Source Software Development
Publication TypeJournal Article
Year of Publication2004
AuthorsDalle, J-M
Date PublishedNovember

We present an original modeling tool, which can be used to study the mechanisms by which free/libre and open source software developers' code-writing efforts are allocated within open source projects. It is first described analytically in a discrete choice framework, and then simulated using agent-based experiments. Contributions are added sequentially to either existing modules, or to create new modules out of existing ones: as a consequence, the global emerging architecture forms a hierarchical tree. Choices among modules reflect expectations of peer-regard, i.e. developers are more attracted a) to generic modules, b) to launching new ones, and c) to contributing their work to currently active development sites in the project. In this context, we are able - particularly by allowing for the attractiveness of "hot spots"– to replicate the high degree of concentration (measured by Gini coefficients) in the distributions of modules sizes. The latter have been found by empirical studies to be a characteristic typical of the code of large projects, such as the Linux kernel. Introducing further a simple social utility function for evaluating the mophology of "software trees," it turns out that the hypothesized developers' incentive structure that generates high Gini coefficients is not particularly conducive to producing self-organized software code that yields high utility to end-users who want a large and diverse range of applications. Allowing for a simple governance mechanism by the introduction of maintenance rules reveals that "early release" rules can have a positive effect on the social utility rating of the resulting software trees.

Full Text
PDF icon dalledavid2.pdf330.81 KB