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

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

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.

13beaa3b7239eca3319d54c6a9f3a85a?s=128

ASERG, DCC, UFMG

September 20, 2019
Tweet

Transcript

  1. On the abandonment and survival of open source projects: An

    empirical investigation ESEM 2019 Guilherme Avelino gaa@ufpi.edu.br UFPI/UFMG, Brazil Eleni Constantinou eleni.constantinou@umons.ac.be UMONS, Belgium Marco Tulio Valente mtov@dcc.ufmg.br UFMG, Brazil Alexander Serebrenik a.serebrenik@tue.nl TU/e, The Netherlands
  2. 2 Nearly all software today relies on open source code

    This type of code makes up the digital infrastructure of our society today Roads and Bridges, Nadia Eghbal
  3. 3 There is a growing concern on OSS sustainability

  4. 4

  5. 5 Millions of OSS repositories

  6. 6 Open Source Libraries

  7. 7 Who are maintaining the OSS projects we use?

  8. 8 How reliable are these communities?

  9. 9

  10. Truck Factor The number of people on your team that

    have to be hit by a truck (or abandon) before the project is in serious trouble 10
  11. ICPC 2016 11

  12. Truck Factor Results 133 popular projects (TF ≤ 2) 65%

    12
  13. Discussions 13 "It would be useful to look at this

    when deciding on using a dependency in a project." "This is great avenue for research."
  14. 14 "It shouldn't be in trouble just because the current

    developers get hit by trucks. It's an open source project, anyone can start contributing if they want to."
  15. On the abandonment and survival of open source projects

  16. 16 Research Questions RQ1: How common are TFDDs? RQ2: How

    often the projects survive TFDDs? RQ3: How surviving projects differ from non-surviving ones? TFDD = Truck Factor Developers Detachment
  17. 17 Dataset ▪ Top-500 in 6 languages ▪ Filtering step

    1,932
  18. 18 Identifying TFDDs TFDD = all TF developers abandoned the

    system (more details in the paper)
  19. 19 Identifying TFDDs Jan/2015 Jan/2016 Today TF = 1 {Alice}

    ... Bob last commit ... TF = 2 {Alice, Bob} Alice last commit TFDD
  20. 20 RQ1. How common are TFDDs? 315 projects ▪ TFDDs:

    ▪ 66% => TF = 1 ▪ 59% => < 2 yrs of development
  21. 21 Identifying Surviving Projects Surviving project = new TF developer(s)

    assumed the project after TFDDs
  22. 22 Identifying Surviving Projects Jan/2012 Today ... TFDD ... TF

    = 2 {Alice, Bob} Jan/2017 TF = 2 {Bob, Charlotte} System Survived New TF developer
  23. 23 RQ2. Survival Rate 128 surviving projects ▪ Surviving projects

    ▪ 64% => one year after TFDD ▪ 48% => with newcomers
  24. 24 RQ3. Surviving vs Non-surviving

  25. 25 RQ3. Surviving vs Non-surviving Negligible or small effect size

    (Cliff's delta)
  26. 26 RQ3. Surviving vs Non-surviving Medium effect size (Cliff's delta)

  27. 27 Survey ▪ Target: new TF developers ▪ 140 emails

    sent ▪ 33 answers (response rate of 24%)
  28. 28 Discontinuation Risks 80% agree (or partially) agree

  29. 29 Motivations

  30. 30 Enablers and Barriers

  31. 31 Takeaways ▪ 16% of the projects face TF events

    ▪ 41% of the projects survive these events ▪ Key characteristic of surviving projects: friendly community
  32. 32 Replication Package http://doi.org/10.5281/zenodo.2546008

  33. On the abandonment and survival of open source projects: An

    empirical investigation Thanks!