Users and Developers: An Agent-Based Simulation of Open Source Software Evolution

  • Neil Smith
  • Andrea Capiluppi
  • Juan Fernández-Ramil
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3966)


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.


simulation models software process open source software software evolution 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Lehman, M.M., Fernández-Ramil, J.: Software Evolution. In: Software Evaluation and Feedback — Theory and Practice, Wiley, Chichester (2006)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    Raymond, E.S.: The Cathedral and the Bazaar. O’Reilly Media, Inc., Sebastopol (2001)Google Scholar
  5. 5.
    Scacchi, W.: Understanding Open Source Software Evolution. In: Software Evolution and Feedback, Theory and Practice, Wiley, Chichester (2006)Google Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Dalle, J.M., David, P.A.: imCode: Agent-based simulation modelling of open-source software development. Technical report, MIT (2004)Google Scholar
  9. 9.
    Brooks, F.: The Mythical Man-Month: Essays on Software Engineering, 20th edn. Addison-Wesley, Reading (1995)Google Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
  12. 12.
    Capiluppi, A.: Models for the evolution of OS projects. In: Proceedings, ICSM 2003, Amsterdam, pp. 65–74 (2003)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    McCabe, T.J.: A complexity measure. IEEE Transactions on Software Engineering 2, 308–320 (1976)CrossRefzbMATHGoogle Scholar
  16. 16.
    McCabe, T.J., Butler, C.W.: Design complexity measurement and testing. Communications of the ACM 32(12), 1415–1425 (1989)CrossRefGoogle Scholar
  17. 17.
    Smith, N., Capiluppi, A., Fernández-Ramil, J.: Agent-based simulation of open source evolution. Software Process Improvement and Practice (to appear)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Neil Smith
    • 1
  • Andrea Capiluppi
    • 2
  • Juan Fernández-Ramil
    • 1
  1. 1.Centre for Research in ComputingThe Open UniversityMilton KeynesUK
  2. 2.University of Lincoln, Brayford PoolLincolnUK

Personalised recommendations