Coordination of Free/Libre Open Source Software Development

The apparent success of free/libre open source software (FLOSS) development projects such as Linux, Apache, and many others has raised the question, what lessons from FLOSS development can be transferred to mainstream software development? In this paper, we use coordination theory to analyze coordination mechanisms in FLOSS development and compare our analysis with existing literature on coordination in proprietary software development. We examined developer interaction data from three active and successful FLOSS projects and used content analysis to identify the coordination mechanisms used by the participants. We found that there were similarities between the FLOSS groups and the reported practices of the proprietary project in the coordination mechanisms used to manage task-task dependencies. However, we found clear differences in the coordination mechanisms used to manage task-actor dependencies. While published descriptions of proprietary software development involved an elaborate system to locate the developer who owned the relevant piece of code, we found that “self-assignment” was the most common mechanism across three FLOSS projects. This coordination mechanism is consistent with expectations for distributed and largely volunteer teams. We conclude by discussing whether these emergent practices can be usefully transferred to mainstream practice and indicating directions for future research.

[1]  Kevin Crowston,et al.  Coordination and Collective Mind in Software Requirements Development , 1998, IBM Syst. J..

[2]  JoAnne Yates,et al.  Electronic markets and electronic hierarchies , 1987, CACM.

[3]  Walt Scacchi,et al.  Understanding the requirements for developing open source software systems , 2002, IEE Proc. Softw..

[4]  Audris Mockus,et al.  An empirical study of global software development: distance and speed , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[5]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[6]  Robert E. Kraut,et al.  Coordination and Virtualization: The Role of Electronic Networks and Personal Relationships , 1999, J. Comput. Mediat. Commun..

[7]  Kevin Crowston,et al.  The interdisciplinary study of coordination , 1994, CSUR.

[8]  Victor R. Basili,et al.  Communication and Organization in Software Development: An Empirical Study , 1997, IBM Syst. J..

[9]  L. Sproull,et al.  Coordinating Expertise in Software Development Teams , 2000 .

[10]  Rosalie J. Ocker,et al.  High versus low performing virtual design teams: a preliminary analysis of communication , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[11]  Kevin Crowston,et al.  A coordination theory approach to process description and redesign , 1998 .

[12]  Kevin Crowston,et al.  A Coordination Theory Approach to Organizational Process Design , 1997 .

[13]  Audris Mockus,et al.  Shared Mental Models and Coordination in Large-Scale, Distributed Software Development , 2001, ICIS.

[14]  Robert E. Kraut,et al.  Coordination in software development , 1995, CACM.

[15]  D. R. Heise,et al.  The Syntax of Social Life: The Theory and Method of Comparative Narratives. , 1989 .

[16]  J. Alberto Espinosa,et al.  Explicit versus implicit coordination mechanisms and task dependencies: One size does not fit all. , 2004 .

[17]  Reijo Sulonen,et al.  Supporting virtual software projects on the Web , 1998, Proceedings Seventh IEEE International Workshop on Enabling Technologies: Infrastucture for Collaborative Enterprises (WET ICE '98) (Cat. No.98TB100253).

[18]  Yutaka Yamauchi,et al.  Collaboration with Lean Media: how open-source software succeeds , 2000, CSCW '00.

[19]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[20]  M. Wright,et al.  The Use of Co-ordination Theory to Improve Service Quality in Executive Search , 2000 .

[21]  Martin Michlmayr,et al.  USENIX Association Proceedings of the FREENIX Track : 2004 , 2004 .

[22]  Kevin Crowston,et al.  Defining Open Source Software Project Success , 2003, ICIS.

[23]  James D. Herbsleb,et al.  Splitting the organization and integrating the code: Conway's law revisited , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[24]  David G. Glance Release criteria for the Linux kernel , 2004, First Monday.