Turnover is the phenomenon of continuous influx and retreat of human resources in a team. Although this phenomenon was widely studied in many settings, this is not the case with development teams of open-source software projects. In this paper, we define metrics usable in open-source projects, measuring both external and internal turnover. By analyzing developers turnover at a software module granularity and the number of post-release bug-fixing commits in three open-source software projects, we show that external turnover reduces the quality of the project while internal turnover improves it. In practice, although external turnover cannot be prevented, internal turnover should be stimulated. Moreover, based on the results of our empirical study, we suggest the use of turnover metrics as quality indicators in future empirical studies.
The code providing the results presented in the paper is divided in two parts: first, a Java program using the Harmony Framework extracted the contributions of each developer in the studied periods of time. Then the results were exported in csv files and an R script computed the metrics and the corellations witrh bugs.
Java SE 7, Mysql/MariaDB, Eclipse Kepler Standard, R (consider using RStudio)
First the harmony framework extracts all the history of the projects from their Git repositories, computes the number of bugfixes per module and stores it in a mysql/mariaDB database. This step is a bit long, and you can skip it by importing this sql dump in your local database.