OSSコミュニティにおけるメンバ間のコミュニケーション分析

研究の背景:

ソフトウェア開発を円滑に進めるためには,ソフトウェア開発者はソフトウェア開発に関する知識を常に獲得する必要があります.しかし,ソフトウェア開発に関する技術は非常に多く存在し,新たな技術も次々と生み出されています.また,それらの技術は日々進化しているため,獲得した技術に関する知識はすぐに過去のものとなってしまいます.そのため,個々の開発者が全ての技術について知識を獲得することは不可能と言えます.

オープンソースソフトウェアコミュニティ:

あらかじめ開発に必要な知識やスキルを持っているメンバーを集めてから開発を進める従来の(企業などにおける)組織的なソフトウェア開発と異なり,オープンソースソフトウェア(OSS)コミュニティでは,一般的にはあらかじめ開発に必要なメンバーは集めません.OSS開発では,そのソフトウェアの開発に共感した人が順次そのコミュニティに参加していくことでコミュニティが形成され,開発を進めていきます.したがって,開発メンバーが開発に必要な知識やスキルを持っているとは限りません.

OSSコミュニティにおける知識共有:

OSSコミュニティでは,開発者だけでなく,OSSを使用するユーザやOSSの不具合を報告するバグレポーターもコミュニティの重要なメンバーとなります.ユーザやバグレポーターの”声”がOSSの信頼性の向上や機能拡張につながるだけでなく,開発者の新たな開発に対するモチベーションにもなります.そのため,コミュニティメンバー間の知識共有のためのコミュニケーションが重要となります.

コミュニケーションがうまくいかないと・・・

  • 開発者は誰も使わないソフトウェアの開発を進めません.
  • ユーザは(使い方の質問などをしても)誰も助けてくれないソフトウェアは使いません.
  • バグレポーターは報告したバグが修正されないようなソフトウェアのバグは報告しません.

研究の目的:

本研究では,OSSコミュニティのコミュニケーションの質を知るためにソーシャルネットワーク分析を用いて,知識共有が成功している状態,および,失敗している状態とはどのような状況であるのかを明らかにしようとしています.

ソーシャルネットワーク分析:

本研究では,OSSコミュニティにおいて一般に使用されているメーリングリスト,バグトラッキングシステム,版管理システム,ディスカッションフォーラムなどにおけるメンバー間のコミュニケーションや作業分担などを基にソーシャルネットワークを構築し,ソーシャルネットワーク分析を行っています.

OSSコミュニティでは,コミュニティメンバーの入れ替わりや役割の変更が頻繁に起こります.そのため,本研究では,一定期間ごとのソーシャルネットワークの状態を取得し,ソーシャルネットワーク分析に時系列分析を取り入れて分析を行っています.また,より詳細なソーシャルネットワークの変化を得るため,分析期間を重複させて分析を行っています.

期間を重複させた時系列分析
ソフトウェア開発におけるソーシャルネットワーク分析では,ソーシャルネットワークの状態を表す指標であるソシオメトリクスの値がソフトウェア開発のどのような状態を表すことになるかを知ることが重要となるため,そちらの研究も同時に進めています.