Japan
サイト内の現在位置を表示しています。
ブログ
OSS貢献活動オープンソースコミュニティの重要人物を特定する手法(IEEE IEEM 2023)
2023年12月18日(月)~21日(木)にシンガポールで開催された国際会議「IEEM」(2023 IEEE International Conference on Industrial Engineering and Engineering Management)において、NECから「Identification of Key Persons in Open Source Communities」(オープンソースコミュニティの重要人物を特定する手法) と題した発表を行いました。本国際会議は、約50カ国から約500名の参加者がありました。
本記事では、発表者である、私 (NEC 岩見 紫乃) が、内容の概要についてご紹介します。
目的
本分析は、ネットワークのノード(後述)の中心性を計算することで、重要人物を特定します。重要人物を特定することは、注目されるオープンソースのプロジェクトを見つけたり、有用なスキルを持つ人物を探し協力関係を結ぶなど、エビデンス・ベースの意思決定に活用できると期待されます。
手法
中心性とは
まず、この分析で要となる概念である中心性を、グラフ理論の分野から説明します。グラフとは、ノードとエッジから構成されるネットワークのことを指します。ノードは、図 1の丸の部分を指し、エッジは、図 1の棒の部分を指します。
次に、中心性について、世の中には様々な中心性が存在しますが、この分析では、Degree Centrality(次数中心性)とBetweenness Centrality(媒介中心性)に絞って分析を行います。図 1に、InDegree Centrality、OutDegree Centrality、Betweenness Centralityを図示します。Degree Centralityは、ネットワークの中で繋がり(グラフにおけるエッジ)の数が多い人(グラフにおけるノード)ほど高いスコアが算出されます。Betweenness Centralityは、ネットワーク内のグループ間を繋ぐ役割が強い人ほど高いスコアが算出されます。Degree Centralityの計算において、人と人との繋がりには方向性があり、多くの人から注目されるとInDegree Centralityのスコアが高くなり、多くの人に注目しているとOutDegree Centralityのスコアが高くなります。
図 1 Degree CentralityとBetweenness Centrality
データソース
分析には、GitHub上のFollowersとFollowingの関係を使用します。
分析上の課題
データ量が大きいため、分析時間が数日かかるケースがありました。また、全数のデータを使うと雑音の影響も大きくなるという課題が判明しました。そこで、適切な結果が出力されるように、データを絞る条件が必要となりました。
検証したパラメータと評価基準
・中心性の種類:Degree Centrality、Betweenness Centralityの2種類。
・データの期間:2021-2020、2021-2019、2021-2018の3期間。この期間はレポジトリーが作成された時期を表し、それらのレポジトリーに参加しているアカウントを分析対象としています。
・アカウントの”Following” / “Followers”の数:”Following”の数が1-9、10-99、100-999、1000-9999、” Followers”の数が1-9、10-99、100-999、1000-9999の8種類。
以上、2×3×8=48の条件で分析を行います。
評価基準:この分析では、Linuxの開発を始めたLinux Torvalds氏(アカウント ”torvalds”)が、中心性のスコア降順の5位内に来た時、その条件を目的に適った条件と評価します。
結果
Followersが1-9名しかいないアカウントと、そのFollowしたアカウントで作ったネットワークにおいて、Degree Centralityを計算した時、torvaldsは2位となり、評価基準に最も適合しました。データの期間は、2021-2020、2021-2019、2021-2018と3期間を試しましたが、期間による影響は見られませんでした。
考察
前章のように、条件を変更して目的に適った結果を出力できた理由は、次のように考えられます。Followersが1-9名ということは、GitHubに参入した初心者だと考えられます。そうすると、まず誰をフォローするでしょうか。著名な方や尊敬する方のアカウントを初期にフォローすると考えられます。その後、OSSコミュニティ活動を続けるうちに、同僚や友人のアカウントが増えてフォローするようになるのではないでしょうか。ゆえに、Followersが1-9名のアカウントを集めてビッグデータにするとこで集合知となり、重要人物のアカウントが抽出できた理由と考えられます。このネットワークが成長するプロセスを一例として、図 2に図示しました。
図 2 人が他のアカウントをフォローするプロセスの一例
結論
本分析で、「Followersが1-9名しかいないアカウントと、そのFollowしたアカウントで作ったネットワークにおけるDegree Centrality」がOSSコミュニティの重要人物を特定でき、全データを投入してもうまくいかないということが明らかになりました。
執筆者
岩見 紫乃 (Shino Iwami)
日本電気 (NEC Corporation)
工学博士、CISSP。OSSへの関わりを、データ・ドリブンで判断するための調査・分析と、そのシステム化を行っています。それら調査・分析の結果を題材に、NECのOSSにおける知名度を向上すべく、Open Source Summit JapanやIEEE IEEM等の産学の国際イベントで講演者を務めています。また、国際イベントの座長や査読委員を担当することもあります。(2024年1月時点の情報)