Master on Free Software {jgato,teo}@libresoft.es GSyC/Libresoft 28-29 November 2008
(cc) 2008 (cc) 2007 Juanjo Amor, Gregorio Robles Some rights reserved. This work licensed under Creative Commons Attribution-ShareAlike License. To view a copy of full license, see http://creativecommons.org/licenses/by-sa/2.0/ or write to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Open Source How to study open source projects? Software Growth Distribution of work Social structure: Onion model Evolution of the core group Social Network Analysis Information Sources (SCM, BTS, mailing lists...) Tools (sloccount, mailstat, cvsanaly...)
Software Growth Lehman s laws (the Laws of Software Evolution) 2nd (1974) Increasing Complexity - As an E-type system evolves its complexity increases unless work is done to maintain or reduce it Godfrey and Gregorio Robles demostrate that Lehman s laws does not work in open source
Software Growth
Distribution of work Lorenz curve, is a graphical representation of the cumulative distribution function of a probability distribution The Gini coefficient is a measure of statistical dispersion most prominently used as a measure of inequality of income distribution or inequality of wealth distribution Pareto principle, 80-20 rule
Distribution of work
Social structure: Onion model Kevin Crowston (Professor of Information Studies) The social structure of Free and Open Source software development (2004) Empiric model for open source projects, onion model
Social structure: Onion model
Social structure: Onion model User Start to participate in the community Report bugs Fix bugs Get an SCM account
Integration in a project
Evolution of the core group The project leader changes between different developers groups No project dependency in one developer Experiment Study the evolution of the main contributors in a project Several time slots
Evolution of the core group
Social Network Analysis (I)
Social Network Analysis (II)
Social Network Analysis (and III)
SNA for Linux 1.0
Developer Territoriality