Early Identification of Future Committers in Open Source Software Projects

There exists two types of developers in Open Source Software (OSS) projects: 1) Committers who have permission to commit edited source code to the Version Control System (VCS), 2) Developers who contribute source code but cannot commit to the VCS directly. In order to develop and evolve high quality OSS, projects are always in search of new committers. OSS projects often promote strong developers to become committers. When existing committers find strong developers, they propose their promotion to a committer role. Delaying the committer-promotion might lead to strong developers departing from an OSS project and the project losing them. However early committer-promotion comes with its own slew of risks as well (e.g., the promotion of inexperienced developers). Hence, committer-promotion decisions are critical for the quality and successful evolution of OSS projects. In this paper, we examine the committer-promotion phenomena for two OSS projects (Eclipse and Firefox). We find that the amount of activities by future committers was higher than the amount of activities by developers who did not become committers). We also find that some developers are promoted to a committer role very rapidly (within a few month) while some of developers take over one year to become a committer. Finally, we develop a committer-identification model to assist OSS projects identifying future committers.

[1]  Shahedul Huq Khandkar,et al.  The role of patch review in software evolution: an analysis of the mozilla firefox , 2009, IWPSE-Evol '09.

[2]  Ken-ichi Matsumoto,et al.  An analysis method for improving a bug modification process in open source software development , 2009, IWPSE-Evol '09.

[3]  Audris Mockus,et al.  What make long term contributors: Willingness and opportunity in OSS community , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[4]  Stephan Diehl,et al.  Small patches get in! , 2008, MSR '08.

[5]  Ken-ichi Matsumoto,et al.  Studying re-opened bugs in open source software , 2012, Empirical Software Engineering.

[6]  Jonathan L. Herlocker,et al.  Evaluating collaborative filtering recommender systems , 2004, TOIS.

[7]  Philip J. Guo,et al.  Characterizing and predicting which bugs get reopened , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[8]  Thomas Zimmermann,et al.  Information needs in bug reports: improving cooperation between developers and users , 2010, CSCW '10.

[9]  Vladimir Filkov,et al.  Social Activities Rival Patch Submission for Prediction of Developer Initiation in OSS Projects , 2013, 2013 IEEE International Conference on Software Maintenance.

[10]  Westley Weimer,et al.  Modeling bug report quality , 2007, ASE '07.

[11]  Premkumar T. Devanbu,et al.  The missing links: bugs and bug-fix commits , 2010, FSE '10.

[12]  Ken-ichi Matsumoto,et al.  An Analysis of Committers toward Improving the Patch Review Process in OSS development , 2010 .

[13]  Andreas Zeller,et al.  When do changes induce fixes? , 2005, ACM SIGSOFT Softw. Eng. Notes.

[14]  Rongxin Wu,et al.  ReLink: recovering links between bugs and changes , 2011, ESEC/FSE '11.

[15]  Walt Scacchi,et al.  Role Migration and Advancement Processes in OSSD Projects: A Comparative Case Study , 2007, 29th International Conference on Software Engineering (ICSE'07).

[16]  George Winter,et al.  A bug’s life: MRSA has become a key election issue. But what is the truth behind the headlines? Biomedical scientist George Winter explains , 2005 .

[17]  Karl Fogel,et al.  Producing open source software - how to run a successful free software project , 2005 .

[18]  David F. Redmiles,et al.  Supporting collaborative software development through the visualization of socio-technical dependencies , 2007, GROUP.

[19]  Yi Zhang,et al.  Classifying Software Changes: Clean or Buggy? , 2008, IEEE Transactions on Software Engineering.

[20]  Audris Mockus,et al.  Developer fluency: achieving true mastery in software projects , 2010, FSE '10.

[21]  Gail C. Murphy,et al.  Automatic bug triage using text categorization , 2004, SEKE.

[22]  Leo Breiman,et al.  Random Forests , 2001, Machine Learning.

[23]  Naoyasu Ubayashi,et al.  Magnet or sticky? an OSS project-by-project typology , 2014, MSR 2014.

[24]  Gerardo Canfora,et al.  Supporting change request assignment in open source development , 2006, SAC.

[25]  Gail C. Murphy,et al.  Who should fix this bug? , 2006, ICSE.

[26]  Thomas Zimmermann,et al.  Duplicate bug reports considered harmful … really? , 2008, 2008 IEEE International Conference on Software Maintenance.

[27]  Gail C. Murphy,et al.  Summarizing software artifacts: a case study of bug reports , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[28]  Thomas Zimmermann,et al.  Improving bug triage with bug tossing graphs , 2009, ESEC/FSE '09.

[29]  Chao Chen,et al.  Using Random Forest to Learn Imbalanced Data , 2004 .

[30]  Tetsuo Tamai,et al.  Understanding the process of participating in open source communities , 2009, 2009 ICSE Workshop on Emerging Trends in Free/Libre/Open Source Software Research and Development.

[31]  Premkumar T. Devanbu,et al.  Open Borders? Immigration in Open Source Projects , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[32]  Saurabh Sinha,et al.  Entering the circle of trust: developer initiation as committers in open-source projects , 2011, MSR '11.

[33]  Anita Sarma,et al.  Tesseract: Interactive visual exploration of socio-technical relationships in software development , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[34]  Martin Pinzger,et al.  "A Bug's Life" Visualizing a Bug Database , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.