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)|Aug 8, 2017
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 の2大エコシステム間における開発者リテンションのパターンを比較すること。
  • コメントなどの社会的相互作用とコミットなどの技術的活動が、開発者の継続期間に与える影響を調査すること。
  • コア開発者と周辺開発者のリテンション要因の違いを明確にすること。
  • 知識損失を軽減するため、エコシステムから離脱するリスクが高いかつての開発者を自動的に予測可能にする仕組みを提供すること。

提案手法

  • 3万件を超える RubyGems 開発者および6万件を超える npm 開発者の GitHub における社会的・技術的活動データを収集した。
  • 技術的活動の尺度として、時間経過に伴うコミット頻度と強度を測定した。
  • 社会的活動の尺度として、コミット、イシュー、プルリクエストに対するコメントの頻度と強度を測定した。
  • 開発者の離脱を時間に依存するイベントとしてモデル化し、活動パターンを説明変数とする生存分析を適用した。
  • コックス比例ハザードモデルからのハザード比を用いて、リテンションリスクを定量化した。
  • 貢献量と活動パターンに基づき、コア開発者と周辺開発者を区別した。

実験結果

リサーチクエスチョン

  • RQ1RubyGems および npm エコシステムにおける開発者の離脱を予測する上で、最も予測力のある社会的・技術的要因は何か?
  • RQ2これらのエコシステムにおいて、コア開発者のリテンションパターンは周辺開発者とどのように異なるか?
  • RQ3コミュニケーション頻度とコミット頻度が、離脱リスクを独立して予測する程度はどの程度か?
  • RQ4RubyGems と npm の間で、開発者リテンションに影響を与える要因にエコシステム特有の差異があるか?
  • RQ5活動強度と関与期間の長さは、開発者リテンション確率にどのように影響するか?

主な発見

  • コメント活動が少なく、会話への参加がない開発者は、エコシステムから離脱する確率が顕著に高くなる。
  • 低強度の社会的活動と技術的活動に加え、貢献頻度が低い状態は、両エコシステムにおいて離脱リスクを高める。
  • 長期間にわたり技術的および社会的活動に参加しない開発者は、エコシステムから離脱する可能性がより高くなる。
  • RubyGems では、社会的コミュニケーション頻度は離脱の予測要因として有意ではなかったが、npm ではコミット頻度が有意な予測要因ではなかった。
  • 両エコシステムのコア開発者は、貢献頻度の変動に対して感受性が低く、関与の安定性が見られた。
  • 本研究は、エコシステム特有のリテンションプロファイルを明らかにした。これにより、離脱予測モデルは個々のエコシステムに適合させる必要があることが示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。