  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.
