Skip to main content
QUICK REVIEW

[논문 리뷰] An Empirical Comparison of Developer Retention in the RubyGems and npm Software Ecosystems

Eleni Constantinou, Tom Mens|arXiv (Cornell University)|2017. 08. 08.
Open Source Software Innovations참고 문헌 34인용 수 7
한 줄 요약

이 연구는 GitHub 데이터를 대상으로 생존 분석을 수행하여 RubyGems 및 npm 생태계 내 개발자 유지를 비교한다. 커밋 및 댓글과 같은 사회기술적 활동을 분석한다. 주요 발견은 낮은 소통, 낮은 빈도의 활동, 지속적인 참여 부족이 이탈 위험을 증가시키며, 생태계 간 및 핵심 개발자와 보조 개발자 간에 뚜렷한 차이가 있음을 보여준다.

ABSTRACT

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.

연구 동기 및 목표

  • 오픈소스 소프트웨어 생태계에서 개발자 유지에 영향을 주는 사회기술적 요인을 규명하기 위해.
  • 주요 생태계 두 곳인 RubyGems와 npm 간의 개발자 유지 패턴을 비교하기 위해.
  • 소통(예: 댓글 달기)과 기여(예: 커밋)와 같은 사회적 상호작용과 기술적 활동이 개발자 수명에 어떤 영향을 미치는지 조사하기 위해.
  • 핵심 개발자와 보조 개발자 간 유지 요인의 차이를 식별하기 위해.
  • 지식 유실을 완화하기 위해 생태계에서 이탈 위험이 높은 개발자를 자동으로 예측할 수 있도록 하기 위해.

제안 방법

  • 3만 명이 넘는 RubyGems 및 6만 명이 넘는 npm 개발자의 사회기술적 활동 데이터를 GitHub에서 수집하였다.
  • 기술적 활동은 시간에 따른 커밋 빈도와 강도로 측정하였다.
  • 사회적 활동은 커밋, 이슈, 피처 레이블에 대한 댓글 빈도와 강도로 측정하였다.
  • 개발자 이탈을 시간-사건 모델로 모델링하기 위해 생존 분석을 적용하였다. 공변량은 활동 패턴을 나타내었다.
  • Cox 비례 위험 모델에서 산출된 위험 비율을 활용해 유지 위험을 정량화하였다.
  • 기여량과 활동 패턴을 기반으로 핵심 개발자와 보조 개발자를 구분하였다.

실험 결과

연구 질문

  • RQ1RubyGems 및 npm 생태계에서 개발자 이탈을 가장 잘 예측하는 사회기술적 요인은 무엇인가?
  • RQ2이 생태계에서 핵심 개발자와 보조 개발자의 유지 패턴은 어떻게 다를까?
  • RQ3소통 빈도와 커밋 빈도가 이탈 위험을 독립적으로 예측하는 데 얼마나 기여하는가?
  • RQ4RubyGems와 npm 간의 생태계 특화 요인 차이가 개발자 유지에 영향을 주는가?
  • RQ5활동 강도와 참여 기간이 개발자 유지 확률에 어떤 영향을 미치는가?

주요 결과

  • 소통 빈도가 낮거나 토론에 참여하지 않는 개발자는 생태계 이탈 확률이 유의미하게 높다.
  • 낮은 강도의 사회적 활동과 기술적 활동이 결합되고 기여 빈도가 낮을수록 양 생태계에서 이탈 위험이 증가한다.
  • 장기간에 걸쳐 기술적 활동과 사회적 활동 양쪽 모두에 참여하지 않는 개발자는 생태계 이탈 가능성이 더 높다.
  • RubyGems에서는 사회적 소통 빈도가 이탈 예측에 유의미한 요소가 아니었지만, npm에서는 커밋 빈도가 예측력이 없었다.
  • 양 생태계의 핵심 개발자들은 기여 빈도에 대해 유지에 있어 덜 민감한 것으로 나타나, 그들의 참여가 안정적임을 시사한다.
  • 연구는 생태계 특화된 유지 프로파일을 드러내었으며, 이는 이탈 예측 모델이 개별 생태계에 맞게 맞춤화되어야 함을 시사한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.