Can I Touch Your Code? The Effects of Programming Style on Open Source Collaboration

Open source software (OSS) development has recently garnered extensive attention from both industry practitioners and academic researchers. However, existing OSS research has typically focused on the role of social or behavioral factors in affecting collaboration outcomes while neglecting to critically consider the nature of the software artifact itself. In this study, we seek to integrate behavioral factors and software factors to extend understandings of OSS collaboration. Specifically, we investigate the role of programming style in open source collaboration, where strict coding guidelines are typically not enforced. We develop the implications of programming style on collaboration outcome and development progress from material and social perspectives. Additionally, two team formation factors (developer experience and team familiarity) that moderate the negative effects of programming style inconsistency are discussed. Using metrics identified based on the software engineering literature and industry standards, we quantify programming style for both within-file inconsistency and across-file inconsistency. Our empirical analysis suggests that style inconsistency negatively affects collaboration outcomes through within-file inconsistency but positively affects development progress through across-file inconsistency. We also find that team familiarity alleviates the negative effects on collaboration outcomes, but developer experience unexpectedly intensifies them. Our study contributes to the literature on OSS development, software engineering, and diversity in distributed work groups, and offers practical insights for OSS teams.

Categories: