Open-source software is released under a license that permits the inspection, use, modification and redistribution of its source code without compensation. Considering the specificities of its development process, including a large number of geographically and organizationally distributed developers with various motives for participation and greater dynamics of joining and leaving projects, the topic of open-source software development dynamics and the effect of participants on the dynamics has been intensively researched. Various research methods were used, including surveys, secondary data, interviews, experiments and simulations. Some of the advantages of the simulation method are simple data collection, simple parameter variation and high explanatory power of the modelled phenomena. Agent-based modelling is a simulation method widely used since the end of the 20th century. Each agent-based model contains the following three elements: autonomous objects called agents, an environment in which these agents are placed, and relations and interactions affecting their behaviour. Compared to other similar simulation methods, agent-based models provide high freedom in defining individual agents' behaviour which, for example, does not have to be described by equation and can include complex conditional execution with complex rules, logical operations, heterogeneity and randomness. Different agent-based models of open-source software development and some similar processes with a large number of participants, including crowdsourcing and social innovation, are already developed, but some phenomena related to the dynamics of open-source software development have not yet been described in existing models, including the phenomena of a "project takeoff" and knowledge loss due to developers leaving the project.
Research in this doctoral dissertation will include modelling of the conceptual agent-based model of open-source software development, implementation of an associated computerized prototype for simulation, and calibration and validation of the conceptual model and computerized prototype. Empirical data which will be used include existing open-source software development literature and publicly available data, including code repositories and databases with real projects and open-source software repositories data. The purpose of the model is understanding, phenomena description and prediction of observed system's behaviour. Agents have to be defined precisely as basic components of the simulation model, and hypotheses related to internal mechanisms which lead to specific behaviour should be described. Based on that, an agent-based model will be developed, and its computerized prototype will be calibrated, validated and compared to real-world open-source software development data. Special emphasis will be on determining that the theories and assumptions used in the model are correct, that a model correctly represents the entities from the problem space, and that the model's output behaviour has sufficient accuracy for the intended model purpose.
Ongoing
PhD thesis