メモ

技術選定をGitHubのスター数で行う場合の落とし穴についてオープンソース開発者のグループが語る


オープンソースのプロジェクトを評価する際に、最も「正しい」と言える方法はコードの中身を確認することです。しかし、コードの読解は労力のかかる作業であるため、開発者たちの中にはGitHubについているスターの数で評価を決める人が数多く存在します。そうした「スター数で評価を決める」場合の落とし穴について、オープンソース開発者で構成される団体「The Guild」がブログに掲載しています。

How Much Are GitHub Stars Worth to You? – The Guild
https://the-guild.dev/blog/judging-open-source-by-github-stars


例えばフロントエンド開発のライブラリを比較して「Angularは8万8000スターでReactは21万スターなのでReactの方が優れたライブラリだ」と述べた場合、これが冗談だとわかる人は多いはず。両者はカバーしている範囲や開発の思想が異なっており、どちらのライブラリが適しているのかはどんなアプリを開発するかに左右されます。とはいえ、初めて見たライブラリの信頼度を測るのにスター数を使ってしまうことはよくあることです。

世の中にはGitHubのスターを購入できるサービスが存在しており、スター数だけを見ていると判断を間違える危険性があります。こうしたスター購入サービスについて、The Guildに所属するエンジニアたちが実際に利用して性能を確かめてみたとのこと。

最初に購入したのは「プレミアムスター」という高級サービスです。これはスター25個あたり19.90ユーロ(約3000円)という高価なサービスで、偽のスターのなかでも一番「正当に見える」スターを提供しています。


注文から6時間後、25個のスターがそろったとのこと。スターを付けたアカウントを確認してみると、1年以上前に作成されたアカウントばかりで、プロフィール画像や勤務先が設定されているほか、いくつかのリポジトリを保有したりオープンソースプロジェクトへのコミットを行ったりしており、かなり「本物っぽい」アカウントとなっています。


一方で、スター100個で9ドル(約1300円)という安価なサービスも試してみたと述べられています。なんと注文番号は5万7000番を超えており、かなりサービスが利用されている形跡が見て取れます。


安価なサービスのアカウントについても調査してみたところ、高価なサービスとは違い、注文時に新規で作成されたアカウントばかりだったとのこと。個人情報やリポジトリなどの偽装は一切行われていません。


そして注文から1~2カ月後にはGitHubによってBANされてしまいました。ただし、その点を業者に連絡すると無料でもう一度スターを付与してくれるとのこと。ブログでは「クレイジーだ」と述べられています。


こうした偽のスターにだまされないようにするためのツールを探してみたところ、Astronomerというツールが見つかったとのこと。実際にAstronomerを使ってみた結果がブログに記されています。

まず高価なサービスの方を検証してみたところ、項目ごとに評価はさまざまなものの、最終的な信頼度は「B」となりました。


一方で、安価なスターを購入したリポジトリの信頼度は「E」となっています。


なお、正当なスターについても検証してみると、全項目で「A」となっていたとのこと。


Astronomerのような確認ツールを利用することである程度は偽のスターを判断できますが、世の中には検証結果が「A」となるようなスター購入サービスが存在する可能性があり、結局のところスター数だけで判断するのは危険だと言えそうです。ブログでは、「なぜこのライブラリを採用するのか」という点を同僚やTwitterなどのコミュニティと議論することが推奨されています。

また、優れたオープンソースプロジェクトの見分け方として以下の点を確認するのがオススメとのことです。

1:長期的な持続可能性
継続的に開発・保守されているかを確認します。GitHubの「Contributors」タブのタイムラインが参考になるとのこと。


2:コミュニティとのやりとり
議論や意見交換が活発に行われている方が望ましいです。確認の方法の一つとしてGitHubの「Discussions」タブを見ることが述べられています。


3:コードの品質
コードの読みやすさや保守性、ベストプラクティスが守られているかを確認します。

4:応答性
イシューやプルリクエストに対してメンテナがどれくらい対応しているかを確認します。

5:評判
コントリビューターの数やスター数、レビューなどコミュニティの評価を確認します。

この記事のタイトルとURLをコピーする

・関連記事
「10年かけてGitHubリポジトリが集めた5万4000個ものスターをうっかりミスで失ってしまった」という体験談 - GIGAZINE

「日本の開発者はプルリクエスト経由でコードを出す割合が最も高い」などGitHubの2022年のトレンドまとめ - GIGAZINE

GitHubの活動実績が雇用や就職でまったく役に立たない理由とは? - GIGAZINE

GitHubの利用をやめるようオープンソースソフトウェア非営利団体が強く呼びかけ - GIGAZINE

作者自らによる破壊で世界中に被害を与えた「Faker.js」がコミュニティ主導のプロジェクトに変更 - GIGAZINE

Kickstarterからスタートして年間1億円以上稼ぐようになったCMS「Ghost」が激動の5年間を振り返る - GIGAZINE

in メモ,   ソフトウェア,   ネットサービス, Posted by log1d_ts

You can read the machine translated English article here.