Ecological Studies of Open Source Software Ecosystems (ECOS)
Summary
Software systems are among the most complex artefacts ever created by humans. Collaborative development of open source software (OSS) has witnessed an exponential increase in two decades. Collections of OSS projects developed by the same developer community can be considered as software ecosystems bearing many similarities with biological ecosystems. While biological ecosystems have been the subject of study for many decades, research on software ecosystems is more recent. For this reason, this research project aim to determine whether and how selected ecological models and theories from biological ecosystems can be adapted and adopted to understand and better explain how OSS projects (akin to biological species) evolve, and to determine what are the main factors that drive the success or popularity of these projects. Expressed in biological terms, we wish to use knowledge on the evolution of biological ecosystems to provide support aiming to optimize the fitness, resistance and resilience of OSS projects. These insights will be implemented as guidelines in an evolution dashboard that helps to improve upon the daily practices of OSS communities.
Research context
This project belongs to complex systems modeling, one of the research axes of UMONS (COMPLEXYS Research Institute). It combines expertise in two complementary domains: biological ecology and software engineering. This interdisciplinary project extends the research of the Software Engineering Lab, focusing on empirical studies of evolving OSS, emphasising the social interaction. Based on the experience of Numerical Ecology of Aquatic Systems Lab, we will model and compare general properties of biological versus software ecosystems. We will validate these results through empirical statistical studies of evolving OSS projects. This project is supported by research project AUWB-12/17-UMONS-3, an Action de Recherche Concertée financed by the Ministère de la Communauté française - Direction générale de l’Enseignement non obligatoire et de la Recherche scientifique, Belgium.
Objectives
The novelty of the proposed project is to use theories, control mechanisms and statistical models that have been proven successful in understanding or explaining the evolution of biological ecosystems, and apply them to software ecosystems. The similarities between both types of ecosystems lead us to believe that biological evolutionary theories and general rules that govern biological ecosystems may be applicable to software evolution as well. The differences imply that the adopted theories will necessarily have to be adapted to fit the software context in which they will be applied. In this research project, two main research questions will be targeted:
- RQ1: Which theories for biological evolution can be used to understand and explain software project evolution? Biologists have proposed different theories to explain the evolution of biological species. The most popular one is Darwinian evolution, but other theories exist, such as reticulate evolution. We will adopt these theories to study and model the evolution of OSS projects in their ecosystem of competing projects. Through empirical studies, we aim to gain insights to help software project communities to increase their survival and fitness over time.
- RQ2: Which control mechanisms driving biological ecosystems can be used to explain and change the way in which software ecosystems evolve? Biological ecosystems dynamics is traditionally represented in a trophic web that can be constrained from the bottom up, limited by the resources available to primary producers, or from the top down, driven by predation by top predators. Ecosystems with wasp-waist control combine both mechanisms with partial effects in both directions acting simultaneously. We will explore similar control mechanisms for OSS projects: some projects could be driven mainly by ideas from its core developers, or by limited hardware resources (corresponding to bottom-up control), others could be mainly driven by change and bug requests from the end users (corresponding to top-down control), and some projects may contain a mix of both (corresponding to wasp-waist control). A study of how the type of control affects the software evolution will allow us to classify open source projects in different categories, and to assess whether the ecological models borrowed from biological ecosystems can lead to better management strategies of OSS projects.
Both research questions are driven by a need to better understand why and how software projects evolve, how they collaborate together with, or compete with other projects within the same environment. Such an increased understanding can lead to guidelines and tool support to help the software communities in managing their projects better, stay ahead of the competition, produce higher quality products, increase the fitness and survival of their project in a rapidly changing world (which is, after all, something that all biological species are doing everyday since life appeared on earth).