$30 off During Our Annual Pro Sale. View Details »

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.

ASERG, DCC, UFMG

September 20, 2019
Tweet

More Decks by ASERG, DCC, UFMG

Other Decks in Research

Transcript

  1. On the abandonment and survival of open source
    projects: An empirical investigation
    ESEM 2019
    Guilherme Avelino
    [email protected]
    UFPI/UFMG, Brazil
    Eleni Constantinou
    [email protected]
    UMONS, Belgium
    Marco Tulio Valente
    [email protected]
    UFMG, Brazil
    Alexander Serebrenik
    [email protected]
    TU/e, The Netherlands

    View Slide

  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

    View Slide

  3. 3
    There is a growing concern on OSS sustainability

    View Slide

  4. 4

    View Slide

  5. 5
    Millions of OSS repositories

    View Slide

  6. 6
    Open Source Libraries

    View Slide

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

    View Slide

  8. 8
    How reliable are these communities?

    View Slide

  9. 9

    View Slide

  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

    View Slide

  11. ICPC 2016 11

    View Slide

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

    View Slide

  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."

    View Slide

  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."

    View Slide

  15. On the
    abandonment
    and survival of
    open source
    projects

    View Slide

  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

    View Slide

  17. 17
    Dataset
    ▪ Top-500 in 6 languages
    ▪ Filtering step
    1,932

    View Slide

  18. 18
    Identifying TFDDs
    TFDD = all TF developers abandoned the system
    (more details in the paper)

    View Slide

  19. 19
    Identifying TFDDs
    Jan/2015 Jan/2016 Today
    TF = 1
    {Alice}
    ...
    Bob
    last commit
    ...
    TF = 2
    {Alice, Bob}
    Alice
    last commit
    TFDD

    View Slide

  20. 20
    RQ1. How common are TFDDs?
    315 projects
    ▪ TFDDs:
    ▪ 66% => TF = 1
    ▪ 59% => < 2 yrs of development

    View Slide

  21. 21
    Identifying Surviving Projects
    Surviving project
    =
    new TF developer(s) assumed the project after TFDDs

    View Slide

  22. 22
    Identifying Surviving Projects
    Jan/2012 Today
    ...
    TFDD
    ...
    TF = 2
    {Alice, Bob}
    Jan/2017
    TF = 2
    {Bob, Charlotte}
    System Survived
    New TF developer

    View Slide

  23. 23
    RQ2. Survival Rate
    128 surviving projects
    ▪ Surviving projects
    ▪ 64% => one year after TFDD
    ▪ 48% => with newcomers

    View Slide

  24. 24
    RQ3. Surviving vs Non-surviving

    View Slide

  25. 25
    RQ3. Surviving vs Non-surviving
    Negligible or small effect size
    (Cliff's delta)

    View Slide

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

    View Slide

  27. 27
    Survey
    ▪ Target: new TF developers
    ▪ 140 emails sent
    ▪ 33 answers (response rate of 24%)

    View Slide

  28. 28
    Discontinuation Risks
    80% agree (or partially) agree

    View Slide

  29. 29
    Motivations

    View Slide

  30. 30
    Enablers and Barriers

    View Slide

  31. 31
    Takeaways
    ▪ 16% of the projects face TF events
    ▪ 41% of the projects survive these events
    ▪ Key characteristic of surviving projects: friendly community

    View Slide

  32. 32
    Replication Package
    http://doi.org/10.5281/zenodo.2546008

    View Slide

  33. On the abandonment and survival of open
    source projects: An empirical investigation
    Thanks!

    View Slide