Abstract
Software systems usually include a limited number of important classes that a large number of other classes depend upon. These files comprise the technical core of a software system. Evolving this core is naturally difficult and requires caution, since inappropriate changes may induce side and ripple effects. Indeed, despite the rhetoric about openness in free/libre open source software, modifications to the technical core are usually accomplished by a small set of contributors known as key developers. Automatically identifying key developers is relevant for a number of reasons, such as supporting the recruitment of specialists, assigning tutors to newcomers, and estimating the longevity likelihood of projects. Moreover, little is known about how key developers evolve and about the social skills that support them in their technical tasks. In this paper, we describe a case study involving the Apache Ant project. Our goal was to identify key developers and characterize them in terms of their social activity and contributions. We conceived, implemented, and applied a method to identify key developers. Such method identified four individuals, who were the main target of our investigation. We built communication networks from mailing list data and a coordination requirements network from their development traces. The analysis of these two networks indicated that three key developers socialized more than the others. They acted as bridges connecting other developers and communicated with almost everyone they were supposed to. The other key developer showed a very distinct behavior, as he participated very rarely in the mailing list. We also analyzed key developers' contributions and found some patterns. Core commits and non-core commits were often interleaved and key developers also contributed to peripheral portions of the system. Finally, we observed that the set of key developers was indistinguishable from the set of top committers. We expect this characterization to foster the definition of key developers' profiles that take into account their social activities and contribution characteristics.
Keywords
- Key developers
- core developers
- free/libre open source software
- socio-technical analysis
- mining software repositories
- case study
- apache ant
MSC
68N01, 68P20, 62H30
Cite this article
@article{cai-article6,
author = {Gustavo Ansaldi Oliva and Jose Teodoro da Silva and Marco Aurelio Gerosa and Francisco Werther Silva Santana and Claudia Maria Lima Werner and Cleidson Ronald Botelho de Souza and Kleverton Carlos Macedo de Oliveira},
title = {Evolving the System's Core: A Case Study on the Identification and Characterization of Key Developers in Apache Ant},
journal = {Computing and Informatics},
volume = {34},
number = {3},
pages = {678--724},
year = {2015},
issn = {1335-9150},
url = {https://cai.type.sk/content/2015/3/evolving-the-systems-core-a-case-study-on-the-identification-and-characterization-of-key-developers-in-apache-ant/}
}
TY - JOUR AU - Gustavo Ansaldi Oliva AU - Jose Teodoro da Silva AU - Marco Aurelio Gerosa AU - Francisco Werther Silva Santana AU - Claudia Maria Lima Werner AU - Cleidson Ronald Botelho de Souza AU - Kleverton Carlos Macedo de Oliveira TI - Evolving the System's Core: A Case Study on the Identification and Characterization of Key Developers in Apache Ant JO - Computing and Informatics VL - 34 IS - 3 SP - 678 EP - 724 PY - 2015 SN - 1335-9150 UR - https://cai.type.sk/content/2015/3/evolving-the-systems-core-a-case-study-on-the-identification-and-characterization-of-key-developers-in-apache-ant/ KW - Key developers KW - core developers KW - free/libre open source software KW - socio-technical analysis KW - mining software repositories KW - case study KW - apache ant ER -
Oliva, G. A., Silva, J. T. d., Gerosa, M. A., Santana, F. W. S., Werner, C. M. L., Souza, C. R. B. d., & Oliveira, K. C. M. d. (2015). Evolving the System's Core: A Case Study on the Identification and Characterization of Key Developers in Apache Ant. Computing and Informatics, 34(3), 678–724. https://cai.type.sk/content/2015/3/evolving-the-systems-core-a-case-study-on-the-identification-and-characterization-of-key-developers-in-apache-ant/