[論文レビュー] Why do developers take breaks from contributing to OSS projects? A preliminary analysis
本論文は、コアコントリビュータとの準構造的インタビューをもとに、OSS開発者の貢献の一時的・恒久的中断を表すために「スリーピング」(睡眠中)状態と「デッド」(死)状態の概念を導入する。これらの遷移の背後にある個人的およびプロジェクト関連の動機を特定し、検出、再活性化、および離脱がOSSの持続可能性に与える影響に関する重要な研究課題を提起する。
Creating a successful and sustainable Open Source Software (OSS) project often depends on the strength and the health of the community behind it. Current literature explains the contributors' lifecycle, starting with the motivations that drive people to contribute and barriers to joining OSS projects, covering developers' evolution until they become core members. However, the stages when developers leave the projects are still weakly explored and are not well-defined in existing developers' lifecycle models. In this position paper, we enrich the knowledge about the leaving stage by identifying sleeping and dead states, representing temporary and permanent brakes that developers take from contributing. We conducted a preliminary set of semi-structured interviews with active developers. We analyzed the answers by focusing on defining and understanding the reasons for the transitions to/from sleeping and dead states. This paper raises new questions that may guide further discussions and research, which may ultimately benefit OSS communities.
研究の動機と目的
- OSS開発者ライフサイクルにおける「退職」フェーズについて、形式的なモデルが不足していることに対処すること、特に一時的および恒久的な非活動状態に焦点を当てる。
- 一時的および恒久的貢献停止を表す比喩として「スリーピング」と「デッド」状態を導入し、定義すること。
- これらの状態への遷移の背後にある動機を特定すること、個人的、職業的、プロジェクト関連の要因を含む。
- OSSの通信チャネルにおける可視的・非可視的シグナルを通じて、これらの状態の検出可能性を調査すること。
- 離脱の影響と開発者の再活性化の可能性に関する議論を促すこと。
提案手法
- 活動中のOSSプロジェクトのコア開発者を対象に、非活動状態や退職経験について探る準構造的インタビューを実施した。
- 一時的および恒久的貢献停止を概念化するために、比喩的フレーミング(「スリーピング」と「デッド」)を用いた。
- インタビュー回答の分析を通じて、スリーピングおよびデッド状態に関連する繰り返し現れる動機とシグナルを同定した。
- チャットツール(例:Slack、IRC、メーリングリスト、イシュートラッカー)が開発者の存在または不在をどのようにシグナルするかを検討した。
- 「バイタルサイン」(例:コメント投稿、レビュー、イシューのフォロー)の可能性を特定し、スリーピング開発者とデッド開発者を区別する手がかりとした。
- 固定時間枠ではなく、個人の貢献リズムに基づいた可変しきい値アプローチを用いて、非活動状態の特定を提案した。
実験結果
リサーチクエスチョン
- RQ1OSSプロジェクトにおいて開発者がスリーピング状態やデッド状態に入ることに至る主な動機は何ですか?
- RQ2貢献データと通信シグナルを用いて、スリーピング状態とデッド状態を客観的に特定する方法はどのようなものですか?
- RQ3スリーピング状態とデッド状態にいる開発者を示す可視的・非可視的シグナルはそれぞれ何ですか?
- RQ4スリーピング状態やデッド状態への遷移はどれほど一般的であり、開発者はどれくらいの頻度で休止後に「目を覚まし」または「再活性化」するのでしょうか?
- RQ5どのような条件下で開発者の離脱がOSSプロジェクトの持続可能性にとって有益または有害となるのでしょうか?
主な発見
- スリーピング状態とデッド状態は明確に異なる:スリーピング開発者は(例:イシューの閲覧、コメント投稿など)継続的な関心の兆候を示すが、デッド開発者は通信や関与の兆候を一切示さない。
- 離脱の動機には職業的変化、人生の出来事、社会的要因が含まれ、スリーピングとデッド状態への動機に顕著な重複が見られる。
- 一部の開発者は長期間の休止後にも復帰しており、再活性化が可能であることが示唆されるが、不在中のプロジェクトの変化によってその実現が妨げられる可能性がある。
- スリーピング状態からデッド状態への遷移は、動機だけでは明確に予測できないことが示され、同じ理由がどちらの結果にもつながりうることを示している。
- チャネル参加、イシュートラッキング、コードレビューへの参加といったシグナルは、スリーピング開発者の検出に不可欠であるが、非可視的活動(例:メッセージの閲覧)は追跡が難しい。
- メンテナーやコミュニティの間で、離脱した開発者を再活性化するべきかどうかの合意は得られていないため、より良いコミュニティ戦略の必要性が示されている。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。