GitHubで初めてStar 50個以上を獲得した感想と実施した内容【Redditで宣伝】
前書き:人生で初めてGitHub Star 50個超え
“go install”したバイナリをアップデートするgupコマンドが、公開から一週間でGitHub Starを50個以上獲得しました!ちょっと嬉しい。最新の仕様は、Zennで説明しています。
gupコマンドの初期版は、4〜6時間で完成しました。それなのに1ヶ月以上かけて作成したMimixBox(golang製のBusyBox)のStar数をアッサリと抜き去り、私を悲しい気持ちにさせました。
なんだろう、1.5ヶ月かけて作ったOSS(画像の上側)のStar数を一日で抜くの止めてもらっていいですか?
— Nao31 (@ARC_AED) February 22, 2022
golangのバイナリをアップデートするだけのgupコマンドが、ここまで伸びるとは思わなかった。
gup(https://t.co/gvTIlaoh9Q)はシェルでも作れるレベルなのに……OSS良く分からん。 pic.twitter.com/wVCKmG9TN5
今回、GitHub Starを思いがけず大量獲得したため、「GitHub Starを獲得する方法論があるのではないか」と考え、調査してみました。本記事では、その方法論の内容と「gupコマンドでは、それらの方法論を実践していたかどうか」を記載します。
GitHub Starを獲得するためにすべき事
creativeitやdev.to、その他のサイト(複数)で語られていた方法の中で、他の人の力を借りず再現できる内容は以下の通りでした。
- 綺麗かつ分かりやすいREADMEを作成
- SNS共有用に、リポジトリのOpen Graphic Protocolを設定
- RedditやTwitterで宣伝
上記とは逆に、「他の人の力を借りるパターン」はインフルエンサーに宣伝してもらう等です。知人にインフルエンサーがいる場合は宣伝を気軽にお願いできますが、いない場合は依頼のハードルが上がります(依頼しても拒否られる可能性もあります)。
gupの場合:READMEは無骨
gupコマンドは、格好良いロゴも綺麗なアイキャッチもないので、スクショをペタッと貼ったREADMEでした。ターミナル画像(スクショ)は、gifですらありません!
文字だけのREADMEよりマシですが、最近のOSSはもう少し小綺麗ですよね。
ユーザー視点で考えると、綺麗なREADMEは「おっ、このOSS良さそう」と目を引かれる要因になるでしょう。開発者視点で考えると、「ロゴやアイキャッチをどうやって作ろう」と困ってしまうのではないでしょうか。
ロゴやアイキャッチを頑張るなら、良い感じの無料ロゴメーカーを探すか、ココナラ等で制作依頼(有料)を出すか。私の場合は、気合入っていないOSSなら、スクショで十分じゃないかと考えています(自作したOSSがヒットするか分からないので)
gupの場合:OGP設定をしていない
GitHubでは、リポジトリの[Settings] > [General] > [Social preview]からOGP設定ができます。gupでは、OGP設定をしませんでした。その理由は、ロゴもアイキャッチもないので、OGP設定用の画像がないから。
以下、OGP設定がされている場合とされていない場合の比較です。ちなみに、下側(ubumeコマンド)はOGPを設定していますが、Starを獲得できていません!
gupの場合:Redditで宣伝し、効果があった
gupコマンドは、Redditで宣伝記事を書いており、9,300PVを集めました。RedditからGitHubへの流入は100人ぐらい来ていました。Redditに書いた次の日には、Starを10〜20個ほど獲得していました。
GitHub Issueでコメントを残す人がいたり、Redditで意見もいただけました。そのため、Redditへの投稿は、費用対効果の高い活動だと考えてます。ただし、一回限りの技だと思います。
(ちなみに、上記の画像でGitHub内から流入が多い理由は不明)
番外:インフルエンサーのツイートは強い
gupコマンドは、golang界隈で有名なmattn氏によってツイート(紹介)されました。
その結果、Twitterからの流入がRedditからの流入より多い結果になりました。このツイートをきっかけに、日本人からStarを獲得できたり、Pull Requestが飛んできたりしました。インフルエンサー強い。
go install でインストールしたバイナリを更新するプログラム。go version -m を使う手法。 #golang / “GitHub – nao1215/gup: gup – Update binaries installed by “go install”” https://t.co/PKmfRNRCAc
— mattn (@mattn_jp) February 22, 2022
最後に:上記の方法論、再現性無いですよね?
結局の所、「OSSがユーザーの課題を解決しているか」という点が、小手先のStar獲得方法より大事という印象を持ちました。微妙なOSSを凄そうに見せかけても、ユーザーは見抜く筈です。
gupコマンドは、golangユーザーの「”go install”で取得したバイナリを一括でアップデートする方法がない」という課題を解決したから、ある程度Starを獲得できました。その一方でMimixBoxコマンドは趣味で作成したOSSであり、既存の課題は何も解決していません。BusyBox(C言語)のGolang実装であり、Mimixboxは間違いなく劣化版BusyBoxです。
MimixBoxもRedditで宣伝していますが、gupコマンドと比較するとそこまでヒットしていません。今後は、「趣味以外で作るOSSは、想定ユーザーを設定してから開発しようかな」と考えています。Star多いとモチベが維持できるので。
おまけ:2022年に作成したGolang製コマンド一覧
【Golang】2022年に開発した自作CLIコマンド/ライブラリに対する所感と宣伝【OSS】
ロシア人と国際結婚した地方エンジニア。
小学〜大学院、就職の全てが新潟。
大学の専攻は福祉工学だったのに、エンジニアとして就職。新卒入社した会社ではOS開発や半導体露光装置ソフトを開発。現在はサーバーサイドエンジニアとして修行中。HR/HM(メタル)とロシア妻が好き。サイトに関するお問い合わせやTwitterフォローは、お気軽にどうぞ。
2件のフィードバック
[…] GitHubで初めてStar 50個以上を獲得した感想と実施した内容【Redditで宣伝】 […]
[…] GitHubで初めてStar 50個以上を獲得した感想と実施した内容【Redditで宣伝】 […]