The risk to using third-party libraries in a software application is that much needed maintenance is solely carried out by library maintainers. These libraries may rely on a core team of maintainers (who might be a single maintainer that is unpaid and overworked) to serve a massive client user-base. On the other hand, being open source has the benefit of receiving contributions (in the form of External PRs) to help fix bugs and add new features. In this paper, we investigate the role by which External PRs (contributions from outside the core team of maintainers) contribute to a library. Through a preliminary analysis, we find that External PRs are prevalent, and just as likely to be accepted as maintainer PRs. We find that 26.75% of External PRs submitted fix existing issues. Moreover, fixes also belong to labels such as breaking changes, urgent, and on-hold. Differently from Internal PRs, External PRs cover documentation changes (44 out of 384 PRs), while not having as much refactoring (34 out of 384 PRs). On the other hand, External PRs also cover new features (380 out of 384 PRs) and bugs (120 out of 384). Our results lay the groundwork for understanding how maintainers decide which external contributions they select to evolve their libraries and what role they play in reducing the workload.
翻译:在软件应用中使用第三方图书馆的风险是,非常需要的维护工作完全由图书馆维护者来承担。这些图书馆可能依赖一个维护者核心团队(他们可能是单一的维护者,没有报酬,而且工作过量)为庞大的客户用户基地服务。另一方面,开放源头的好处是接受捐款(以外部PR的形式),帮助解决错误并添加新的特征。在本文件中,我们调查外部PR(维护者核心团队以外的捐款)为图书馆作出贡献的作用。通过初步分析,我们发现外部PR很普遍,而且很可能被接受为维护者PR。我们发现,26.75%的外部PR提交了解决现有问题的方法。此外,修复源头还属于一些标签,如打破变化、紧急和等待等。不同于内部PR,外部PR覆盖文件的变更(384 PR中的44项),而没有像384 PR(34项中的34项)那样对文件进行重新界定。另一方面,外部PR还涵盖新的功能(380项,这是384项出版物的定位)和错误的定位。