GitHub Sponsorsに支えられたサイドプロジェクトの立ち上げ
原文は Matthias Endler により に公開されました。 このブログを購読する
昨日、僕たちはanalysis-tools.devをローンチしたのだが、その反響の大きさは想像をはるかに超えていた。

これは静的コード解析ツールを比較するためのサイドプロジェクトだ。静的解析は、ソースコードを実行することなくバグを検出し、コード品質の向上に役立つ。
このプロジェクトの何よりの魅力は、完全にオープンソースであることだ。広告の表示やユーザーの追跡に依存しないプロダクトを作りたかった。代わりに、GitHubでスポンサーを募る——それだけだ。その過程で多くのことを学んだ。あなたも同じようにやってみたいなら、ぜひ読み進めてほしい。
まずは数字から
みんなビジネス指標が好きだ。僕たちの数字をいくつか紹介しよう:
- プロジェクトは2015年12月にGitHub上のawesome listとして始まった(December 2015)。
- 現在、470の静的解析ツールを掲載している。
- トラフィックは伸び続け、現在7.5kのスターと190人以上のコントリビューターを数えている。
- 週あたりのユニークユーザーは500〜1000人。
- ウェブサイトを作るアイデア自体は何年も前からあったが、同僚のJakubが2020年5月に加わって、ようやく実現した。

出典: star-history.t9t.io
「ウェブサイトを作るのに5年もかかったの!?」という声が聞こえてきそうだ。アイデアがあまりにも明白だったので、きっと誰かがすでに試して失敗したのだろうと思っていたからだ。
誰もこのニッチを埋めようとしなかったのに、先延ばしにした。
5年間リストを更新し続け、世の中のツールについて学び続けていたのに、先延ばしにした。
言いたいことはわかるだろう——物事をあまり長く先延ばしにするな。アイデアが明白に思えるとしたら、それはおそらく本当に明白だからだ。
収益モデル
プロジェクトをどうやって財政的に支えるかを考えるには時間がかかった。何をやりたくないかははっきりしていた。AdWordsに支えられたSEOのゴミ捨て場にはしたくなかったし、トラッカーに「ユーザーデータを売る」こともしたくなかった。
GitHubのコントリビューターたちに対して、すべてのデータを誰でも無料で使えるようにしておく責任がある。では、どうやってその上にサービスを構築できるだろうか。当初はインフラコストを自分たちで負担することも考えたが、それではサイトを維持したり新機能を追加したりするインセンティブが働かない。
GitHub Sponsorsは当時まだ始まったばかりだった。だが、それが選択肢になると気づいた途端、ピンときた。競合との比較を恐れない企業であれば、その比較を促進するオープンなプラットフォームを支援するインセンティブがある。さらに、偏りを避け、比較を客観的かつアクセスしやすくするプロダクトを作れるのだ。
スポンサーシップは、魂のない成長に対する解毒剤となり、代わりにリーンで持続可能なサイドビジネスを構築することを可能にする。analysis-tools.devがいつか本業になるとは期待していない。市場が小さすぎるかもしれない——でも、それでいいのだ。
技術スタック
収益モデルが決まれば、あとは技術に集中できる。僕たちは二人ともエンジニアなので、素早くイテレーションできるのが強みだ。
最初はYewで何か凝ったものを作ろうと思っていた。Rust/WebAssemblyのフレームワークで、僕はRust/WebAssemblyが大好きなのだ……
Jakubが別のものを提案してくれてよかった。Gatsbyだ。正直に言うと、僕はGatsbyにはこれっぽっちも興味がなかった。Jakubにもそう言った。「Gatsbyなんてどうでもいい」と。だが、まさにそこがポイントだ。何かに感情的に執着しないことで、ツールではなく仕事そのものに集中できる。そうすれば、より多くのことを成し遂げられる!
そこからはほぼ順調だった。スターターテンプレートを使い、JakubがGraphQL連携の仕組みを教えてくれ、しかもRustも使うことができた!サイトはCloudflare上でRustベースのエッジワーカーとして動いている。(ちょっとずるをしたけどね。)
3つ数えれば、MVPの完成だ!
スポンサー探し
こうしてプロトタイプはできたが、スポンサーはまだゼロだった。ここから始まったのが(そして今も)、断トツで最も難しいパートだった。人々に支援を納得してもらうことだ。
幸い、コールドメールは送らないという賢明な判断をした。ほとんどの企業が無視するからだ。代わりに、自分たちのネットワークに目を向け、以前GitHubの静的解析リストに自社のプロジェクトを追加してほしいと連絡してきた開発者たちがいたことに気づいた。
まずは彼らに連絡を取った。メッセージは短く、個人的なものにするよう心がけた。
最も効果があったのは、ある程度の長さで背景を説明し、以前プロジェクトに貢献してくれたことを思い出してもらうメールだった。スポンサーページへのリンクも添えた。
企業は信頼できるパートナーと合理的な価値提案を求めている。だから、スポンサーページが細部まで磨き上げられていることが前提条件だ。

スター・ウォーズ エピソード9さながら、反応は賛否両論だった。多くの人は返信すらなく、マネージャーに回したもののそこから返事がないケースもあれば、そもそもオープンソースプロジェクトのスポンサーに興味がないという人もいた。どれも当然のことだ。みんな忙しいし、スポンサーウェアという概念自体まだ新しいのだから。
ちょっと愚痴らせてほしい。テック企業は、オープンソースから得ている価値に比べて、スポンサーが全然足りていないと思っている。もし会社設立時にLinuxのような無料のOSや、NginxやApacheのようなウェブサーバーがなかったら、あなたの会社は存在していただろうか?
ただ、数は少ないながらも、興味を示しつつもガイダンスを必要とする人たちもいた。多くの人にとって、GitHub SponsorsやOpenCollectiveを通じて誰かの開発者をスポンサーするのは初めての経験なのだ。
僕たちがOpenCollectiveをフィスカルホストとして利用し、請求書発行や寄付の送金を任せていることが役立った。彼らのドキュメントは、始める際に大いに助けになった。
スポンサー探しという仕事は決して終わらないが、AIベースのセマンティック解析サービスであるDeepCodeから、僕たちに賭けてみるという連絡をもらえたときは、本当に心強かった。
彼らのおかげで、プロダクトを最後までやり遂げることができた。彼らのおかげで、サイトを誰にとっても無料のまま保てる。そして、ウェブサイトを広告やトラッカーから自由に保てるということでもある。
一方でDeepCodeは、コード品質を気にかける多くの優れた開発者にリーチでき、彼らはロイヤルな顧客になるかもしれない。また、オープンソースにフレンドリーなテック企業として認知される。これは開発者向けツールを売ろうとするなら、これまで以上に重要だ。Win-Winというわけだ!
マーケティング
Jakubも僕も以前にビジネスを立ち上げた経験はあったが、今回が初めての本当にオープンなプロダクトだった。
フェーズ1:とにかく早くリリースする 🚀
僕たちはソフトローンチを選んだ。できるだけ早くサイトをデプロイし、クローラーにインデックスさせる。ページが静的にレンダリングされ、基本的なSEOガイドラインに沿っていたことが、時間をかけて検索エンジンの順位を上げるのに確実に役立った。
フェーズ2:ターゲット層にフィードバックを求める 💬
オーガニックなトラフィックと最初の投票が集まった後、開発者の友人たちに声をかけ、ページを試してもらい、知っているお気に入りのツールに投票してもらった。これは初期のバリデーションとなり、率直なフィードバックを得ることで、最も明白な欠陥を見つけるのに役立った。
フェーズ3:告知用の投稿を準備する 📝
多少クリックベイト気味ではあるが、役割は十分に果たすブログ投稿を書いた。Static Analysis is Broken — Let’s Fix It! この分野に対する僕たちのフラストレーションと、なぜオープンなプラットフォームを構築することが重要なのかがよく伝わる内容だ。異なる解析ツールの技術的な違いについては、もっとうまく説明できたはずだが、それはまた別の機会に。
フェーズ4:ソーシャルメディアで告知する 🔥
正式発表の直前、検索機能が壊れていることに気づいた(案の定だ)。調べてみると、Algoliaの無料枠の上限に、予想よりほんの少しだけ早く達していたのだ。😅 大した問題ではない。Algoliaのカスタマーサポートとすぐにやり取りし、(存在すら知らなかった)オープンソースプランに移行してもらえた。すぐに軌道に戻った!
余談:Algoliaのカスタマーサポートは最高だ。レスポンスが速く、技術に精通していて、とても親切。Algoliaは僕たちのプロダクトにぴったりだった。レスポンスタイムは常に数ミリ秒台で、Gatsbyとの連携も迅速かつ簡単だった。

もちろん、僕たちが支援を求めていることは誰もがわかっていたが、いいねやリツイートをしてくれた一人ひとりに感謝している。こういうとき、同じ志を持つ人々のネットワークがあることが助けになる。
サイトが完全に壊れているわけではないと確信できた途端、Lobste.rs(2 downvote)、/r/SideProject(3 upvote)、そしてHacker News(173 upvote、57コメント)で告知した。ソーシャルメディアはある意味予測不能だ。ただ、メッセージをそれぞれのオーディエンスに合わせ、謙虚でいることは役に立つ。
そのマーケティングの成果に対する反応は驚異的だった:

おそらく当然のことながら、Cloudflareのエッジワーカーはびくともしなかった。

上司のXoan Vilasが簡単なパフォーマンス分析までしてくれて、お墨付きをもらった。(ありがとう、ボス!)

みんなでハイタッチだ!
で、これからどうする?
もちろん、新機能は追加するし、将来の計画もいろいろある。でも、そんなことはさておき、このマイルストーンを振り返ってみよう。広告もトラッカーもなく、スポンサーだけで成り立つ健全な小さなビジネスだ。🎉
最後に、自分自身の奥深くを見つめて、取り組むべき小さなプロダクトを見つけてほしい。それはおそらく目の前にあるはずだ。そして僕と同じように、あなたも長い間先延ばしにしてきたのだろう。でも、もう終わりにしよう!次のサクセスストーリーはあなたのものだ。さあ、外に出て何かを作ろう。
あ、ちょっと待って!……去る前に、analysis-tools.devをチェックして、気に入ったツールにぜひ投票していってくれないだろうか? もし今日すごく気前がいい気分なら(あるいはオープンソースを大切にする素敵な雇用主がいるなら)、僕たちのスポンサーシップページも覗いてみてほしい。

記事をランダムに読む
コメント
ログインしてコメントする