190 likes | 322 Views
Entering the Circle of Trust: Developer Initiation as Committers in Open-Source Projects. Vibha Singhal Sinha, Senthil Mani, Saurabh Sinha IBM Research - India. Social Landscape of an Open-Source Project . Contributors Open bug reports Provide resolutions
E N D
Entering the Circle of Trust: Developer Initiation as Committersin Open-Source Projects Vibha Singhal Sinha, Senthil Mani, Saurabh SinhaIBM Research - India
Social Landscape of an Open-Source Project Contributors • Open bug reports • Provide resolutions • Participate in mailing-list discussions Core Committers(Founding Members) Non-Core CommittersCode committers added to the project over time Other People No recorded contribution to the project What factors govern the induction of new people as project committers?
The Hypotheses and Approach • H1: Developers make contributions to the project’s bug-tracking system • Opening bug reports • Submitting code patches • H2: Developers with prior experience in contributing code to related open-source projects • H3: Developers working for same organization that a member of the core committer group works for • Our contribution • An empirical investigation of three hypotheses to explain the phenomenon of developer induction as core committers in Eclipse project • The development of an automated approach, based on mining different data sources, for studying the phenomenon of developer induction
Classification of Eclipse Users (a subset of projects) • Contributors • Open bug reports: 8616 • Submit patches: 1933 Core Committers 397 (45% of committers) • Non-core Committers • 478 (55% of committers) • 139 non-contributors (29%) Other People No recorded contribution to the project
Users • User ID • User Name • Bug submission date • Patch submission date • Product Approach • Data Sources • Eclipse Bugzilla snapshot provided by MSR Mining Challenge • Augmented with mapping from user ID to user name (extracted from online Eclipse Bugzilla) Bug Repository Identify users and activities
Code Repositories (other projects) Code Repository Identify committers Identify committers and commit dates Committers • User ID • First commit date • Project Committers • User ID • Commits in other projects (Y/N) Approach • Data Sources • Eclipse Dash for commit history Bug Repository Identify users and activities
User-profile Information Identify user and company Users • User ID • Company • User name Approach Code Repositories (other projects) • Data Sources • Eclipse Dash for commit history • Eclipse Dash for company information Bug Repository Code Repository Identify users and activities Identify committers Identify committers and commit dates
Users • User ID • Company • User name Approach Code Repositories (other projects) • Data Sources • Eclipse Dash for commit history • Eclipse Dash for company information • Eclipse project pages for names User-profile Information Bug Repository Code Repository Identify users and activities Identify user and company Identify committers Identify committers and commit dates
Approach Code Repositories (other projects) User-profile Information Bug Repository Code Repository Identify users and activities Identify user and company Identify committers Identify committers and commit dates Classify committers as core or non-core Cut-off date Core Committers Non-core Committers Consolidate bug-zilla & commit information Map user-names (620 – name match, 247 – heuristic match,12 – no match) Map cvs projects and bugzilla products
Applying the Hypotheses • H1: Developers make contributions to the project’s bug-tracking system. First Bugzilla activity < First commit date • H2: Developers with prior experience in contributing code to related open-source projects Commit date in another product < First commit date in current product • H3: Developers working for same organization that a member of the core group works for Belongs to same company as core-committer
H2 H3 Not found Support for H1, H2, H3 • H1: 51% 246 (51%) 478 93 (19%) 139 (30%) 12% 11 51 55% 31 33% No Relevant Bugzilla Activity
H2 H3 Not found Support for H1, H2, H3 • H1: 51% • H2: 5% • H3: 17% • None: 27% 246 (51%) 93 (19%) 139 (30%) 10% 12% 14 11 76 49 51 55% 55% 31 33% 35% No Relevant Bugzilla Activity No Bugzilla Activity
Overlap Between H1, H2, H3 • 351 (of 478) non-core committers meet at least one hypothesis • 51% meet H1 • 16% meet H2 • 38% meet H3 • 14 meet all three hypotheses • H1, H2, and H3 uniquely applicable for 114 (23%), 25 (5%), and 69 (14%) non-core committers • Not H1: 17% (1933 of 11424) • Not H2: 6% (727 of 11424) • Not H3: Could not measure
Bugzilla Activities of Promoted and Other Users Other Users Promoted Users • Promoted users have much higher patch submissions • Promoted users have more bug submissions
Duration Between First Activity and First Commit • 21% performed the first commit within one month • 61% performed the first commit within 6 months • A small percentage performed the first commit after 2 years
Diversity Across Products BIRT Tools - CDT Eclipse PDE H3 None H1 H2
Diversity Across Organizations Nokia IBM H3 None H1 H2
Summary and Future Work • Demonstration of skill through activity in the bug repository seems to be the most significant factor • However, shared employment with a core contributor is also significant • Observations differ at product level Future Work • Survey Eclipse committers to verify our findings • Leverage additional sources of information • Investigate more hypotheses • Conduct similar studies of other open-source consortiums such as Apache Data available at: http://sites.google.com/site/committeranalysisinos/