On the abandonment and survival of open source projects: An empirical investigation

On the abandonment and survival of open source projects: An empirical investigation
复制标题

开源项目的放弃与生存:实证调查

DOI:
--
复制
发表时间:
2019
期刊:
International Symposium on Empirical Software Engineering and Measurement
影响因子:
--
通讯作者:
A. Serebrenik
A. Serebrenik
中科院分区:
--
文献类型:
--
作者:
G. Avelino;Eleni Constantinou;M. T. Valente;A. Serebrenik

文献摘要

被引文献

相似文献

背景:开源项目的发展常常依赖于少数核心开发人员。这些核心开发人员的流失可能对项目不利,甚至威胁到项目的整个延续。然而,新的核心开发人员有可能承担项目维护工作并让项目得以生存。目的:本文的目的是提供以下方面的实证证据:1)项目废弃和生存的频率,2)废弃项目和幸存项目之间的差异,3)假设废弃项目时面临的动机和困难。方法:我们采用混合方法来调查项目废弃和生存。我们精心挑选了 1,932 个热门 GitHub 项目,回收了废弃和幸存的项目,并对那些对项目生存做出了贡献的开发者进行了调查。结果:我们发现 315 个项目 (16%) 被放弃,其中 128 个项目 (41%) 由于新的核心开发人员承担了项目开发而得以幸存。调查表明(i)在大多数情况下,新维护者在开始贡献时就意识到了项目放弃的风险; (ii) 他们自己对系统的使用是为此类项目做出贡献的主要动机; (iii) 人类和社会因素在做出这些贡献时发挥了关键作用; (iv) 缺乏时间和难以获得对存储库的推送访问是他们面临的主要障碍。结论:即使在大型开源项目中,项目放弃也是一个现实,我们的工作可以更好地理解此类风险,并强调避免这些风险的方法。
Background: Evolution of open source projects frequently depends on a small number of core developers. The loss of such core developers might be detrimental for projects and even threaten their entire continuation. However, it is possible that new core developers assume the project maintenance and allow the project to survive. Aims: The objective of this paper is to provide empirical evidence on: 1) the frequency of project abandonment and survival, 2) the differences between abandoned and surviving projects, and 3) the motivation and difficulties faced when assuming an abandoned project. Method: We adopt a mixed-methods approach to investigate project abandonment and survival. We carefully select 1,932 popular GitHub projects and recover the abandoned and surviving projects, and conduct a survey with developers that have been instrumental in the survival of the projects. Results: We found that 315 projects (16%) were abandoned and 128 of these projects (41%) survived because of new core developers who assumed the project development. The survey indicates that (i) in most cases the new maintainers were aware of the project abandonment risks when they started to contribute; (ii) their own usage of the systems is the main motivation to contribute to such projects; (iii) human and social factors played a key role when making these contributions; and (iv) lack of time and the difficulty to obtain push access to the repositories are the main barriers faced by them. Conclusions: Project abandonment is a reality even in large open source projects and our work enables a better understanding of such risks, as well as highlights ways in avoiding them.