OSS「日本人」を理由にしたくないし、「コードは全世界共通語」なのは分かっているけど、自分が日本人で日本語を母国語としていることはOSSにおいて不利になる。この2年間のHonoの開発をしてきた経験で分かったことだ。そこに目を瞑ってはいけないし、自覚することで世界と戦えるかもしれない。今回はそのことについて書こうと思う。8k現在、HonoのGitHubスター数は8,000を超えた。これはとんでもない数字なんだけど、もっと伸びるべきで、早く1万を超えなくはいけない。npmのダウンロード数は週間「46,000」とこれは相対的に低く、こちらも伸びるべきである。数字が全てではないが、こうした数字は昨今のOSSにとって「一番の」指標であることは確かだ。戦うことはこの数字を伸ばすことである。「戦う」のかなんで「戦う」というおっかない言葉を使い、そして戦わなくてはいけないのか。良いソフトウェアを作ってるのにそれが正しく評価されないことは悔しい。いろんな人を巻き込んで、コントリビュートしてもらっているのになおさらである。日本人であることや日本語を母国語とすることがその理由になっているのであれば、それはもったいない。2つの側面OSSに関わらずソフトウェアを作るには2つの側面がある。よいソフトウェアを作る使ってもらう幸いなことに「1」は日本人かどうかはほとんど関係ないと思う。次に話すのは「政治」の話である。「1」だけに興味ある開発者にとってはたぶんすごく退屈なことだというのを予め伝えておこう。OSSとインフルエンサーこの不利な状況は「英語ができない」から来ているのではない。それも多少あるとは思うが第一の理由ではない。周りが日本語を喋っている状況で英語を喋らない(書かない)からである。痛感したのはXを観察していてだ。現在、OSS、特にフロントエンドを取り巻く大御所のやり取りはXでやり取りされている。TypeScriptエデュケイターのMattは力がある。Next.jsを扱うVercelは非常に巧みだが、所属するDevRelのLeerobの影響力は強い。shadcnも最近参画した。BunのJarredの発言は新興のランタイムの人気を支えるのに一役かっているだろう。ORMは洒落が効いていて面白い。htmxはふざけすぎてるがフォロワーが多い。「これはインフルエンサーの話ではないか」。残念ながら、声を上げることは昨今のOSSでは強力な戦闘力になる。我々は、なかなかこの文脈に我々は入れない。それは英語ができないからではない。日本語で話している環境の中で英語で発信しても力にならないからだと思う。Honoのアカウント興味深いのはXのHonoアカウント。実はFollowingがメンテナ含め4人しかいないのに、フォロワーが今みたら「3,526」いる。大したことは言っていない。Thanks😊というポストをすると瞬く間にLikeがつく。僕の個人アカウントはフォロワー「9,200」とそれでもかなり多い方だが、Honoのものと比べると明らかに世界への影響力が違う。英語の文脈で英語で発言すれば、価値のあるアカウントに対して「世界的に」評価される。このアカウントが日本語を話していたら、こうはならなかった。blog.yusu.keこの前、世界中の「ゆうすけ」が嫉妬するであろう「yusu.ke」という素晴らしいドメインを取った。ちなみにkeはケニアドメインである。yusukebeというアイデンティティを捨ててblog.yusu.keというサブドメインで英語のブログを書くことにした。会社のメンバーに見せる用途もあるが、実験をしてみたかった。4本しか記事を書いていないがなかなか面白いことが起こった。記事を書いたらそれをHonoのXアカウントでシェアするというのをやった。すると反響があったのだ。Newsに掲載れて60ポイント集めている。JQueryインフルエンサーがHonoを取り上げつつある。JQuery」と発言し「Honoのことを思っていた」と語っている。「ホワイトボード動画」をアップした。「Hono」も出てくる。SyntaxのWesは以前からHonoをピックアップしてくれている。Workers特集らしく、そこでもHonoの話をする。AdvocateのColinがHonoを紹介している。驚くべきことにExpressとKoaより先に名前が出てくる。Bun効果Bunといえば、Bunの効果はすごい。Bunに早いうちから対応できたことで大きく成長できた。詳しくは以下に書いた。BunとHono|yusukebeDenoFest先日、DenoFestというイベントで話す機会をもらって行ってきた。これはなかなかすごいイベントでDenoの開発チームが25人(!)日本に集まって、その人達が参加するという。Node.jsとDenoの作者のライアン・ダールもいる。Hono」と発言する場面もあった。DenoのDevRelのケビンが以前からHonoユーザーであることは知っていた。Doc」ではHonoをDocusaurusのサーバーサイド、リダレクタとして使っている。そのケビンとはよく話せた。Deno」ではトップバッターにHonoが出てきた。みんな書いてくれて、自分が知らないかなりの数の利用者がいることが分かった。AnalyticsExpenSee悪くはないそう、悪くはない。逆に言うとこのくらいやらないと戦えない。どのように戦っているかを書いていく。神対応すごくシンプルで強力な戦い方がある。Issueには素早く返信する。相手の環境の再現する努力をする。requestを実現できないか熟考する。Issueテンプレートを用意したり、毎日の習慣化をしたりすればなんとかなる。それよりもquickとかfastとかawesomeとか💯とか書かれるのがとても嬉しい。その人とHonoというソフトウェアが繋がった感じがする。神対応に国籍、言語は関係ない。GitHubGitHub上の開発に関しては徹底して英語を使っている。自然とHonoのコントリビューターは日本人が多い。これには特に深い意味はなく、僕が日本人だからだと思う。それは悪いことではない。日本人だからソフトウェアの品質が落ちることは決してない。「グル化」しなければいいと思っている。「日本人だけがやってるプロダクト」として見られるのが怖い。これは杞憂かもしれない。ほとんどの議論をGitHub上でオープンにすることを心がけている。英語いくらDeepLやChatGPTを使えるとしても、英語を書く、読むための「瞬発力」は必要になってくる。Issueの返信を日本語で書くのと英語で書くのとでは作業の重さが違う。Discordや社内のチャットでは文章を毎回添削をしていると時間がかかるし、フォーマルになりすぎる。瞬発的に英語を書くその精度を上げるしかない。ドキュメントとランディングページ逆にAIを使えばドキュメントページはわりと書ける。その辺は頑張らなくてはいけないがなんとかなりそう。課題はHonoにはランディングページがない。OSSで戦うにはブランディングが大事なのだが、英語とか英語ネイティブなセンスが要求されるのも事実だ。時差Cloudflareに入社するまで時差というものを甘く見ていた。うちのDevRelチームはヨーロッパとUSにメンバーがいるので、自然とアジアの僕が犠牲になる。ミーティングが23時30分に設定される。下の図がかなり可笑しい。DevRelチームのメンバーのいる場所と時間をプロットした。面白いのは、よく社内でチャットをする開発者がいるなーと思ったら、オーストラリアのGlenだった。彼は僕をCloudflareに誘ってくれたひとりで、UKから地元のオーストラリアに帰って仕事をしたいから同じタイムゾーンの開発者を探していたのがキッカケである。今となってはよく分かる話だ。これは社内での話だが、OSSの件でも言えることだ。同期的なコミュニケーションがつらいのだ。DiscordHonoにはDiscordがある。Discordの同期的なコミュニケーションでは上記の通り不利になることがある。非同期でことを終わらせられるようにしている。そもそもDiscordだと質問攻めになるのが嫌ってのもあるんだけど、「Questions」はGitHubのDiscussionsでやってね、としている。それでもDiscordでの会話の半分以上は質問なのだが、もう放置している。最近だと、僕がいなくても返答をしてくれる人が出てきて、コミュニティっぽくなってきていて喜ばしいことだ。コントリビューターコントリビューターを増やすことが大事だと思っている。これはもっと増えるべきだ。自分の性格上、全部やってしまいがちなんだけど、なるべく任せるように心がけている。Issueに上がったことでその人が解決できそうなものだったら、PRを作ってくださいと言う。ソフトウェアに関わる人を増やすことが、より多くの人に使ってもらうことに繋がるはずだ。エコシステムHonoにはミドルウェアという仕組みがあって、ビルトイン・ミドルウェアカスタム・ミドルウェアサードパーティ・ミドルウェアの3つがある。この「3」は外部のライブラリに依存したり、文字通り第三者が作るミドルウェアのことである。...そのつもりだったが、最近では作者が各自のリポジトリで管理し、独自のパッケージ名で公開するミドルウェア、もしくは関連プロダクトが増えてきた。https://hwy.dev/など当初はあまり意図してなかったことだが、これはエコシステムが成長した証で、素晴らしいことだと思っている。具体的には書かないが嫉妬されることもある。少ない方だと思うし、わりと理にかなっている。その辺をいなしたり、気にしない力も必要になってくるんだと思う。OSSで戦うために他にも語るべきことはある気がするが、ここらでまとめよう。よいソフトウェアを作る使ってもらう今回は主に「2」の話をしてきた。あなたのソフトウェアももっと評価されるべきかもしれない。その時に日本人を言い訳にしたくはない。その差を自覚し、世界と戦っていく。Guideから以下を引用しよう。like.まぁ戦いたくないよね。一緒に作っているusualomaさんがこんなこと言ってました(タイポしてるのは気にしないでください)。さんがやってくれているのでほんとうに頭が上がらないのですが、hoonの初期の頃からのコントリビューターとして私がこの件(世界と戦うために)に関して言えるのは「憧れるのをやめましょう」かもと思いました。yusukebe.com。