Network Analysis of The Evolution of an Open Source Development Community
Zhaocheng Fan · 2013
This research investigated the evolution of an open source development community by undertaking network analysis across time.Several open source communities have been previously studied using network analysis techniques, including Apache, Debian, Drupal, Python, and SourceForge.However, only static snapshots of the network were considered by previous research.In this research, we created a tool that can help researchers and practitioners to find out how the Eclipse development community dynamically evolved over time.The input dataset was collected from the Eclipse Foundation, and then the evolution of the Eclipse development community was visualized and analyzed by using different network analysis techniques.Six network analysis techniques were applied: (i) visualization, (ii) weight filtering, (iii) degree centrality, (iv) eigenvector centrality, (v) betweenness centrality, and (vi) closeness centrality.Results include the benefits of performing multiple techniques in combination, and the analysis of the evolution of an open source development community.Open source software: The distribution terms of open-source software must comply with the following criteria: (i) free redistribution (ii) program must include source code, (iii) derived works among committers, (iv) integrity of the author's source code, (v) no discrimination against persons or groups, (vi) no discrimination against fields of endeavour, (vii) license must not be specific to a product, (viii) license must not restrict other software, (ix) license must be technology-neutral.(Open Source Initiative, 2013) Project: A Project is the main operational unit at Eclipse.Specifically, all open source software development at Eclipse occurs within the context of a Project.Eclipse Projects are organized hierarchically.A special type of Project, Top-Level Projects, sits at the top of the hierarchy.Each Top-Level Project contains one or more Projects.A Top-Level Project is said to be the "parent" of those Projects.A Project that has a parent is oftentimes referred to as a Sub-Project (Eclipse