Let's talk about it: evaluating contributions through discussion in GitHub

Let's talk about it: evaluating contributions through discussion in GitHub
复制标题

DOI:
10.1145/2635868.2635882
复制
发表时间:
2014-11
期刊:
Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
影响因子:
--
通讯作者:
Jason Tsay;Laura A. Dabbish;J. Herbsleb
Jason Tsay;Laura A. Dabbish;J. Herbsleb
中科院分区:
其他
文献类型:
--
作者:
Jason Tsay;Laura A. Dabbish;J. Herbsleb

文献摘要

被引文献

相似文献

开源软件项目通常依靠各种开发人员的代码贡献来扩展其软件的功能。项目成员评估这些贡献,并经常进行扩展的讨论,以决定是否整合变更。这些讨论对项目管理具有重要意义,内容涉及新贡献者以及项目需求和方向的演变。我们介绍了一项关于开放工作环境中的开发人员如何评估和讨论拉的请求的研究,这是GitHub中的主要贡献方法,分析了有关拉力请求的扩展讨论样本,并与GitHub开发人员进行了访谈。我们发现,开发人员对提交者试图解决的问题的适当性和实施解决方案的正确性提出了围绕贡献的问题。核心项目成员和第三方利益相关者都讨论了,有时还实施了解决这些问题的替代解决方案。不同的利益相关者还通过引起不同社区(例如依赖项目甚至公司)的支持来影响评估的结果。我们还发现,评估结果可能比仅仅接受或拒绝更为复杂。在某些情况下,尽管提交者的贡献被拒绝,但核心团队通过实施替代解决方案实现了提交者的技术目标。我们发现,提交者在项目上的先前互动的水平改变了开发人员讨论拟议替代解决方案的贡献和性质的方式。
Open source software projects often rely on code contributions from a wide variety of developers to extend the capabilities of their software. Project members evaluate these contributions and often engage in extended discussions to decide whether to integrate changes. These discussions have important implications for project management regarding new contributors and evolution of project requirements and direction. We present a study of how developers in open work environments evaluate and discuss pull requests, a primary method of contribution in GitHub, analyzing a sample of extended discussions around pull requests and interviews with GitHub developers. We found that developers raised issues around contributions over both the appropriateness of the problem that the submitter attempted to solve and the correctness of the implemented solution. Both core project members and third-party stakeholders discussed and sometimes implemented alternative solutions to address these issues. Different stakeholders also influenced the outcome of the evaluation by eliciting support from different communities such as dependent projects or even companies. We also found that evaluation outcomes may be more complex than simply acceptance or rejection. In some cases, although a submitter's contribution was rejected, the core team fulfilled the submitter's technical goals by implementing an alternative solution. We found that the level of a submitter's prior interaction on a project changed how politely developers discussed the contribution and the nature of proposed alternative solutions.