An Empirical Comparison of Developer Retention in the RubyGems and npm Software Ecosystems

08/08/2017
by   Eleni Constantinou, et al.
0

Software ecosystems can be viewed as socio-technical networks consisting of technical components (software packages) and social components (communities of developers) that maintain the technical components. Ecosystems evolve over time through socio-technical changes that may greatly impact the ecosystem's sustainability. Social changes like developer turnover may lead to technical degradation. This motivates the need to identify those factors leading to developer abandonment, in order to automate the process of identifying developers with high abandonment risk. This paper compares such factors for two software package ecosystems, RubyGems and npm. We analyse the evolution of their packages hosted on GitHub, considering development activity in terms of commits, and social interaction with other developers in terms of comments associated to commits, issues or pull requests. We analyse this socio-technical activity for more than 30k and 60k developers for RubyGems and npm respectively. We use survival analysis to identify which factors coincide with a lower survival probability. Our results reveal that developers with a higher probability to abandon an ecosystem: do not engage in discussions with other developers; do not have strong social and technical activity intensity; communicate or commit less frequently; and do not participate to both technical and social activities for long periods of time. Such observations could be used to automate the identification of developers with a high probability of abandoning the ecosystem and, as such, reduce the risks associated to knowledge loss.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/28/2023

An Introduction to Software Ecosystems

This chapter defines and presents different kinds of software ecosystems...
research
07/21/2021

Towards Using Package Centrality Trend to Identify Packages in Decline

Due to its increasing complexity, today's software systems are frequentl...
research
05/09/2022

Modeling Interconnected Social and Technical Risks in Open Source Software Ecosystems

Open source software ecosystems consist of thousands of interdependent l...
research
04/09/2022

What are the characteristics of highly-selected packages? A case study on the npm ecosystem

With the popularity of software ecosystems, the number of open source co...
research
07/08/2020

Effect of Technical and Social Factors on Pull Request Quality for the NPM Ecosystem

Pull request (PR) based development, which is a norm for the social codi...
research
05/31/2023

Trusting code in the wild: A social network-based centrality rating for developers in the Rust ecosystem

As modern software extensively uses open source packages, developers reg...
research
03/21/2021

Understanding Architecture Erosion: The Practitioners' Perceptive

As software systems evolve, their architecture is meant to adapt accordi...

Please sign up or login with your details

Forgot password? Click here to reset