Engaging developers in open source software projects: harnessing social and technical data mining to improve software development
Date
Authors
Major Professor
Advisor
Committee Member
Journal Title
Journal ISSN
Volume Title
Publisher
Altmetrics
Abstract
As software development has evolved, an increasing amount of collaboration and management is done online. Open source software, in particular, has benefited greatly from communication and collaboration on the Internet. As software projects increase in size, the codebase complexity and required communication between developers increases. The barriers of entry for development participation are not only technical in nature but involve understanding the changing dynamics of the community.
Social Technical Congruence (STC) attempts to understand and model the synergies between technical development and communication. Motivated by this theory, three algorithms were developed that leverage data from version control history and email mailing list communication to help developers better understand the community. The “code impact” algorithm identifies commits that are impactful to the overall technical structure of the source code. The “developer knowledge” algorithm calculates the knowledge that a developer or developers have for a particular section of code. Lastly, the “communication suggestions” algorithm provides suggestions about who a developer could be increasing communication with on the mailing list based on shared technical dependencies and recent communication. These algorithms were implemented in an online website called “Jamii”. Through an interactive front-end, the website provides relevant development-centric information to the community. The website was evaluated with Mozilla and KDE, two large open source communities.
Quantitative and qualitative analysis provide details about the socialization process before the website was developed through an initial survey as well as afterwards. The results from the initial survey paint a primarily positive picture of socialization and inclusion for KDE and a more complex process of socialization and inclusion for Mozilla because of the large size of its community and codebase.
In many cases for both communities, the ratings on a number of factors regarding the socialization process and effective coordination were actually higher for the beginner participants as compared to the veterans. This suggests that new participants may have an overly-inflated positive view
than veteran members. This work provides fundamental contributions to the field of STC and may generalize to other distributed online collaboration efforts.