Simulating Code Growth in Libre (Open-Source) Mode

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. Introducing a simple representation of the latter agents’ social utility function, we find preliminary but striking indications that the social “reward structure” (that sociological observers suggest is influential in developers’ decisions about what and where to contribute) is not particularly not well aligned to produce an eventual simulated code architecture that approaches optimally when evaluated from the viewpoint of end-users. This may have some significance for those who stress the purely “self-organized” and undirected features of open source software projects. When allowance is made for the existence of project governance rules, however, it is found that the social utility index of the eventual code-tree can be enhanced substantially if maintainers’ policies set minimum standards for “commits” that nonetheless facilitate the “early release” of successive versions of the code.

[1]  Sandeep Krishnamurthy,et al.  Cave or Community? An Empirical Examination of 100 Mature Open Source Projects , 2002, First Monday.

[2]  P. David Path Dependence, its Critics, and the Quest for ‘Historical Economics’ , 2005 .

[3]  Nicolas Jullien,et al.  "Libre" software : turning fads into institutions? , 2003 .

[4]  B. Kogut,et al.  Open-source Software Development and Distributed Innovation , 2001 .

[5]  Jean-Michel Dalle,et al.  Heterogeneity vs. externalities in technological competition: A tale of possible technological landscapes , 1997 .

[6]  T. Data,et al.  The Economic Logic of “Open Science” and the Balance between Private Property Rights and the Public Domain in Scientific Data and Information: A Primer , 2003 .

[7]  Jean-Michel Dalle,et al.  The Allocation of Software Development Resources In ‘Open Source’ Production Mode , 2005 .

[8]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[9]  G. R. Feiwel Arrow and the ascent of modern economic theory , 1987 .

[10]  Rishab Aiyer Ghosh,et al.  The Orbiten Free Software Survey , 2000, First Monday.

[11]  A. Bonaccorsi,et al.  Comparing Motivations of Individual Programmers and Firms to Take Part in the Open Source Movement. From Community to Business , 2006 .

[12]  E. Feigenbaum Simon, Herbert A. , 2006 .

[13]  Partha Dasgupta,et al.  Information Disclosure and the Economics of Science and Technology , 1987 .

[14]  R. A. Ghosh The nature and composition of the Linux kernel developer community: a dynamic analysis , 2003 .

[15]  Gregorio Robles,et al.  Free Software Engineering: A Field to Explore , 2003 .

[16]  Kim B. Clark,et al.  The power of modularity , 2000 .

[17]  Kim B. Clark,et al.  Design Rules: The Power of Modularity , 2000 .

[18]  Paul A. David,et al.  Understanding the emergence of 'open science' institutions: functionalist economics in historical context , 2004 .

[19]  John R. Anderson The Architecture of Cognition , 1983 .

[20]  Eric A. von Hippel,et al.  How Open Source Software Works: 'Free' User-to-User Assistance? , 2000 .

[21]  Alfonso Gambardella,et al.  Proprietary vs. Public Domain Licensing of Software and Research Products , 2005 .

[22]  W. Edward Steinmueller,et al.  The Open Source Way of Working: a New Paradigm for the Division of Labour in Software Development? , 2003 .

[23]  Brian Fitzgerald,et al.  Understanding open source software development , 2002 .

[24]  Paul A. David,et al.  Common Agency Contracting and the Emergence of "Open Science" Institutions , 1998 .

[25]  Eric von Hippel,et al.  Satisfying Heterogeneous User Needs Via Innovation Toolkits: The Case of Apache Security Software , 2002 .

[26]  Jane Greenberg,et al.  A Quantitative Profile of a Community of Open Source Linux Developers , 1999 .

[27]  Paul A. David,et al.  Communication Norms and the Collective Cognitive Performance of "Invisible Colleges". , 1998 .

[28]  Yochai Benkler,et al.  Coase's Penguin, or Linux and the Nature of the Firm , 2001, ArXiv.

[29]  Sheldon M. Ross,et al.  Introduction to probability models , 1975 .

[30]  Jean-Michel Dalle,et al.  Advancing Economic Research on the Free and Open Source Software Mode of Production , 2004 .

[31]  HERBERT A. SIMON,et al.  The Architecture of Complexity , 1991 .

[32]  Karim R. Lakhani,et al.  Community, Joining, and Specialization in Open Source Software Innovation: A Case Study , 2003 .

[33]  Jesus M. Gonzalez-Barahona Community structure of modules in the Apache project , 2004, ICSE 2004.

[34]  Walt Scacchi,et al.  Free Software: A Case Study of Software Development in a Virtual Organizational Culture , 2003 .

[35]  P. David,et al.  Toward a new economics of science , 1994 .

[36]  青島 矢一,et al.  書評 カーリス Y. ボールドウィン/キム B. クラーク著 安藤晴彦訳『デザイン・ルール:モジュール化パワー』 Carliss Y. Baldwin & Kim B. Clark/Design Rules, Vol. 1: The Power of Modularity , 2005 .

[37]  Eric S. Raymond,et al.  Homesteading the Noosphere , 1998, First Monday.

[38]  Christopher M. Kelty,et al.  Free Software/Free Science , 2001, First Monday.

[39]  A. Offer Between the gift and the market: the economy of regard , 1997 .

[40]  André de Palma,et al.  Discrete Choice Theory of Product Differentiation , 1995 .

[41]  Juan Fernández-Ramil,et al.  Qualitative simulation of models of software evolution , 2002, Softw. Process. Improv. Pract..

[42]  Jane Greenberg,et al.  Who is an open source software developer? , 2002, CACM.

[43]  Acknowledgments , 2013, The American Journal of Tropical Medicine and Hygiene.

[44]  Paul A. David,et al.  Patronage, Reputation and Common Agency Contracting in the Scientific Revolution: From Keeping 'Nature's Secrets' to the Institutionalization of 'Open Science' , 2004 .

[45]  E. Hippel Horizontal Innovation Networks - By and For Users , 2007 .

[46]  Stefan Koch,et al.  Results from software engineering research into open source development projects using public data , 2000 .

[47]  Ilkka Tuomi,et al.  Internet, Innovation, and Open Source: Actors in the Network , 2001, First Monday.

[48]  Josh Lerner,et al.  The Simple Economics of Open Source , 2000 .

[49]  D. Harhoff,et al.  Profiting from Voluntary Information Spillovers: How Users Benefit by Freely Revealing Their Innovations , 2003 .

[50]  Kim B. Clark,et al.  The Option Value of Modularity in Design: An Example From Design Rules, Volume 1: The Power of Modularity , 2000 .