Simulating Code Growth in Libre (Open-Source) Mode (Revised January 2005)
We present an original modeling tool that can be used to study the social mechanisms by which individual software developers' efforts are allocated within large and complex open source projects. The dynamical agent-based model is first described analytically in a deterministic discrete choice framework. Next, the results of simulations experiments using a stochastic specification are presented, to study the effects of various structural parameters that reflect "community norms" and governance rules affecting the behaviors of individuals associated with the particular project. In addition to the relative peer evaluation of different kinds of programming work associated with its constituent modules, individual developer's behaviors choices among the latter appear to be affected by the clustering of others developers at certain "hot spots" of development activity. Allowance for that effect enables the simulations to generate the very high Gini coefficients describing the empirical distributions of modules sizes that are reported in the literature. 脗 The model is dynamic, with contributions of code being added sequentially either to existing modules, or to create new modules that are technically related to existing ones: consequently, the emerging global architecture of the project's code can be conveniently represented as an evolving hierarchical tree. For a particular "tree" its morphological features at any given moment in time affects both the interest it holds for developers at that moment, and its utility in application by end-users.