Abstract
We present an agent-based simulation model of open source software (OSS). To our knowledge, this is the first model of OSS evolution that includes four significant factors: productivity limited by the complexity of software modules, the software’s fitness for purpose, the motivation of developers, and the role of users in defining requirements. The model was evaluated by comparing the simulated results against four measures of software evolution (system size, proportion of highly complex modules, level of complexity control work, and distribution of changes) for four large OSS systems. The simulated results resembled all the observed data, including alternating periods of growth and stagnation. The fidelity of the model suggests that the factors included here have significant effects on the evolution of OSS systems.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Lehman, M.M., Fernández-Ramil, J.: Software Evolution. In: Software Evaluation and Feedback — Theory and Practice, Wiley, Chichester (2006)
Godfrey, M., Tu, Q.: Growth, evolution and structural change in open source software. In: Proceedings of the 4th International Workshop on the Principles of Software Evolution, Vienna, Austria (2001)
Herraiz, I., Robles, G., Gonzalez-Barahona, J.M., Capiluppi, A., Fernández-Ramil, J.: Comparison between SLOCs and number of files as size metrics for software evolution analysis. In: Proceedings, 10th European Conference on Software Maintenance and Reengineering (2006)
Raymond, E.S.: The Cathedral and the Bazaar. O’Reilly Media, Inc., Sebastopol (2001)
Scacchi, W.: Understanding Open Source Software Evolution. In: Software Evolution and Feedback, Theory and Practice, Wiley, Chichester (2006)
Smith, N., Capiluppi, A., Fernández-Ramil, J.: A study of open source software evolution data using qualitative simulation. Software Process Improvement and Practice 10, 287–300 (2005)
Madey, G.R., Freeh, V.W., Tynan, R.O.: Agent-based modeling of open source using SWARM. In: Proceedings of the Americas Conference on Information Systems (AMCIS 2002), Dallas, USA (2002)
Dalle, J.M., David, P.A.: imCode: Agent-based simulation modelling of open-source software development. Technical report, MIT (2004)
Brooks, F.: The Mythical Man-Month: Essays on Software Engineering, 20th edn. Addison-Wesley, Reading (1995)
Mockus, A., Fielding, R.T., Herbsleb, J.: Two case studies of open source software development: Apache and mozilla. ACM Transactions Software Engineering and Methodology 11(3), 309–346 (2002)
NetLogo (2005), http://ccl.northwestern.edu/netlogo/
Capiluppi, A.: Models for the evolution of OS projects. In: Proceedings, ICSM 2003, Amsterdam, pp. 65–74 (2003)
Capiluppi, A., Morisio, M., Fernández-Ramil, J.: The evolution of source folder structure in actively evolved open source systems. In: Proceedings of the 10th International Symposium on Software Metrics, Chicago, USA, pp. 2–13 (2004)
Capiluppi, A., Morisio, M., Fernández-Ramil, J.: Structural evolution of an open source system: A case study. In: Proceedings of the 12th International Workshop on Program Comprehension (IWPC), Bari, Italy, pp. 172–182 (2004)
McCabe, T.J.: A complexity measure. IEEE Transactions on Software Engineering 2, 308–320 (1976)
McCabe, T.J., Butler, C.W.: Design complexity measurement and testing. Communications of the ACM 32(12), 1415–1425 (1989)
Smith, N., Capiluppi, A., Fernández-Ramil, J.: Agent-based simulation of open source evolution. Software Process Improvement and Practice (to appear)
Antoniades, P., Samoladas, I., Stamelos, I., Bleris, G.L.: Dynamical simulation models of the Open Source Development process. In: Free/Open Source Software Development, Idea Group, Inc., USA (2005)
Robles, G., Merelo, J.J., Gonzalez-Barahona, J.M.: Self-organized development in libre software: a model based on the stigmergy concept. In: ProSim 2005, St. Louis, USA (2005)
Mockus, A., Fielding, R.T., Herbsleb, J.: A case study of open source software development: the apache server. In: Proc. ICSE 22, Limerick, Ireland, pp. 263–272 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Smith, N., Capiluppi, A., Fernández-Ramil, J. (2006). Users and Developers: An Agent-Based Simulation of Open Source Software Evolution. In: Wang, Q., Pfahl, D., Raffo, D.M., Wernick, P. (eds) Software Process Change. SPW 2006. Lecture Notes in Computer Science, vol 3966. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11754305_31
Download citation
DOI: https://doi.org/10.1007/11754305_31
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34199-4
Online ISBN: 978-3-540-34201-4
eBook Packages: Computer ScienceComputer Science (R0)