見出し画像

GitHub Star⭐とOSS使用頻度

GitHub Starが付くと嬉しい

私は、2022年からGitHubにOSS(プロジェクト)を公開するようになりました。GitHubにはOSSに対してStar⭐をつける機能があり、自身が公開したOSSに他のユーザーから⭐を付けていただけると素直に嬉しいです。ニッコリします。

どれぐらいの嬉しさかと言えば、⭐ 50個を獲得した時に記事を書いてしまうぐらいです。ちなみに、以下の記事で言及したOSSは⭐ 100個を超えました(どこまで伸びるかな)


また、GitHub Starを獲得すると、LAPRAS(転職サイト)の技術スコアも上がるのでモチベが上がります(個人的に、技術スコア4.0を目指してます)

振り返り:どんなOSSに⭐が付きやすいか

私は、2022年に10個程度のOSSを開発し、⭐の付き具合をザッと確認しました。上位5個のうち、飛び抜けたOSSが一つあり、他はソコソコです。

Star history

⭐の付き方は、OSSの使用頻度と相関がありそうだと気づきました(相関係数 r ?そんなものは知らんな〜。雰囲気で書いてます)

トップのgupコマンドは二週間に一度ぐらいの頻度で使うぐらい便利ですが、三番目のmkgoprjコマンドは数ヶ月に一度ぐらいしか使いません。上記の画像に出てこないOSSは、殆ど使っていません!

使用頻度が高いOSSを作れば⭐が付く?

「使用頻度が高くなるようなOSSを作れば、⭐が付きやすくなる(仮説)」は、⭐ありきで開発する場合には分かりやすい観点だと思います。便利なOSSも⭐が付きやすいと言われていますが、便利の指標を測るのは大変です。しかし、使用頻度はある程度予想できます。

例えば、人気のあるghqコマンドlazygitコマンドはgit操作を楽にするコマンドのため、使用頻度が高いことが予測できます(エンジニアはgitコマンドをほぼ毎日使うことが多い)

開発前の設計が大事

⭐を狙う場合は、開発前にキチンと設計をして、「ユーザーはこれぐらいの頻度でOSSを使うだろうな」と予想した方が好ましいでしょう(私は⭐が欲しい一方で、衝動的に開発を進めるタイプなので、実装が終わった辺りで後悔してます)

例えば、Readme駆動開発(Readme Driven Development)でOSSの仕様をREADMEに書いてから、開発を進める方法がオススメです。READMEを先に書くことで頭が整理されます。書き終わったREADMEを見ながら使用頻度を予測するのはいかがでしょうか。

とは言え、バズりのパワーもある

GitHub Starを集めるには、宣伝も大事です。Reddit、Hacker News、Twitterで話題になったOSSは凄まじい勢いで⭐をかき集めます。

最近だと、Twitterで話題になった「ojichat:おじさんがLINEやメールで送ってきそうな文を生成するコマンド」が1.2kの⭐を集めてます。

nao@nao:~$ ojichat  ヴィクトリヤ 
ヤッホー🎵😘(笑)😄ヴィクトリヤチャン、元気かな❗❓✋❓
ヴィクトリヤチャンと今度イチャイチャ、したいナァ(笑)😃♥ 
このホテル🏩、サラダがオイシイんだって😚オレと一緒に行こウヨ💕😘(^_^)ナンチャッテ😂😃♥ 😚🎵

Twitter上でのやりとりが気になる方向けの記事を置いておきます。

他にも様々なサイトで話題に挙がった「pinguコマンド」のバズり等があります。

最後に

今まで「自分にも他人にも便利なOSSを作りたい(ついでに⭐が欲しい)」と考えてきましたが、「便利」という言葉がふわふわしている状態でした。しかし、「便利さ」を「使用頻度の高さ」に置き換えると、評価尺度がわかりやくなることに気づきました。

本記事は、上記の気づきを残すために作成しました(自分用メモ)

とは言え、細かいことを考えずに書きたいコードを書くこともあるだろし、バズりを意図的に起こすこともできないので、⭐は貰えたらラッキーぐらいの心持ちで生きてきます!

この記事が気に入ったらサポートをしてみませんか?