Popular adoption of third-party libraries for contemporary software development has led to the creation of large inter-dependency networks, where sustainability issues of a single library can have widespread network effects. Maintainers of these libraries are often overworked, relying on the contributions of volunteers to sustain these libraries. In this work, we measure contributions that are aligned with dependency changes, to understand where they come from (i.e., non-maintainer, client maintainer, library maintainer, and library and client maintainer), analyze whether they contribute to library dormancy (i.e., a lack of activity), and investigate the similarities between these contributions and developers' typical contributions. Hence, we leverage socio-technical techniques to measure the dependency-contribution congruence (DC congruence), i.e., the degree to which contributions align with dependencies. We conduct a large-scale empirical study to measure the DC congruence for the NPM ecosystem using 1.7 million issues, 970 thousand pull requests (PR), and over 5.3 million commits belonging to 107,242 NPM packages. At the ecosystem level, we pinpoint in time peaks of congruence with dependency changes (i.e., 16% DC congruence score). Surprisingly, these contributions came from the ecosystem itself (i.e., non-maintainers of either client and library). At the project level, we find that DC congruence shares a statistically significant relationship with the likelihood of a package becoming dormant. Finally, by comparing source code of contributions, we find that congruent contributions are statistically different to typical contributions. Our work has implications to encourage and sustain contributions, especially to support library maintainers that require dependency changes.
翻译:在这项工作中,我们衡量与依赖性变化相一致的贡献,以了解这些贡献的来源(即非维护者、客户维护者、图书馆维护者、图书馆维护者和客户维护者),分析这些贡献是否有助于图书馆宿舍(即缺乏活动),并调查这些贡献和开发者典型贡献之间的相似之处。因此,我们利用社会技术技术技术衡量依赖性贡献的一致性(DC congruence),即捐款与依赖性变化相一致的程度。我们进行大规模的经验研究,以利用170万个问题衡量DC对国家预防机制生态系统的一致性,970 000个拉链请求(PR),超过530万个国家预防机制软件包用于维持107 242个。在生态系统层面,我们确定这些贡献和开发者典型贡献之间的相似性。我们利用这些社会技术技术技术技术来衡量依赖性贡献的一致性一致性(DC congruence),即捐款与依赖性贡献的一致程度与依赖性相一致的程度。 最终,我们从在线到在线搜索系统生态系统的970万个问题,970万个拉链请求(PR),以及超过530万个国家预防机制的软件包用于维持107 。在生态系统层面,我们准确度水平上,我们确定一致性的统计贡献的峰值,我们确定为一致性高峰,与一致性的统计比例之间的对比值,最终需要这些需求。