Tailwindの作者がオープンソースの苦悩について語る | The Standup

オープンソース・オープンウェイト
この記事は約44分で読めます。

Tailwindの作者であるAdam Wathan氏がオープンソース事業の課題について率直に語ったポッドキャストである。オープンソースプロジェクトの維持コストと商業化の難しさ、コミュニティとの複雑な関係、そして持続可能なビジネスモデル構築への模索などが深く掘り下げられている。

Tailwind Creator on the Challenges of Open Source | The Standup
Thank You! our sponsor today! Speed up your GitHub Actions AND pay less! Love Tailwind? Consider Sponsor...

オープンソースは苦痛

まあ確かにちょっとがっかりしてるわ。Trashに言うてたんやけど、冒頭でTrashがTailwindについてすごい権威的に語るけど、微妙に間違ってるっていうギャグをやったらよかったのにな。

「いや、聞けよ。わからんやろうけど、Tailwindが未来なんや」みたいな感じで。

で10分後くらいに「今日はTailwindの作者のAdamがおるで」って言うて、Trashがめっちゃびっくりした顔して切るんや。そうそう、切るんや。OBSの画面で「カメラが消えました」って表示されるんよ。

ほんまおもろいやろな。もしTrashが切ったら僕の配信全部めちゃくちゃになるから、それは困るんやけどな。

本題に入りましょう

さて、今日のスタンドアップは特に楽しみにしてるんよ。いつものTeeと、Trash Dev、そしてAdamも参加してくれてる。AdamはTailwindの作者や。聞いたことあるかもしれんな。

僕の一番好きなCSSの形やと思うわ。でもポッドキャストで「オープンソースは苦痛や」って言うてたやろ。それがまさに君の言葉やったと思うんやけど。

「オープンソースは苦痛」っていうのは、いろんなバージョンがあるんよね。記事もいっぱいある。2年くらい前に読んだこの記事なんか「オープンソースは壊れてる、もしくはなんで金払わん限り便利なソフトウェア作らんのか」っていうサブタイトルがついてて。「金もらわん限りやらんで」っていう感じやな。

オープンソースについていろいろあるんやけど、TJも君もたくさんオープンソースやってきたよな。僕は2017年にオープンソースで燃え尽きて、それ以来ほとんどやってへん。だからあの言葉の意味が気になるし、一般的にその辺の話をしたいんや。

自分がそう言うてたとして、何を意味してたかちょっと考えてみるわ。「オープンソースは苦痛」っていうより、「大規模なオープンソースは難しい」って言うかもしれんな。

最初から話すと、人それぞれオープンソースの捉え方が違うと思うんよ。僕の一番好きで、ストレスのない考え方は「何か作った。他の人に見せん理由もないし、どうぞ」っていう感じや。インターネットに置いとくから、何か作ろうとしてる時の参考になったり、コードを応用したり、時間の節約になったらええなっていう、本当に何の条件もつけへんオープンソースや。「なんでダメなん?」っていう理由で公開してる。世界のためとか、みんなの問題を解決するためやなくて、自分の問題は解決したから、コードから学びたかったら見てくれ、っていう感じ。

これがメンテナーと利用者の一番ええ関係やと思う。DHHもこの考え方をうまく内在化して広めてくれてるよな。

でも皮肉なことに、僕はオープンソースで生活の糧を得てる。これって真逆やん。でもオープンソースで作ったものが独り歩きして、めちゃくちゃたくさんの人に使われるようになったら、ちゃんと管理して維持して改良する責任を感じてまうのは自然なことやと思う。

そうなったら、フルタイムでやらなあかんくなる。そしてそれをどうやって実現するかが本当に難しいんや。

「オープンソースプロジェクト作って人気にして、それからちっちゃいサイドビジネス作って週5時間だけ働いて、残りの35時間はオープンソースの維持に充てる」っていう人もおるけど、これって現実的やないんよ。週5時間しか働かんのにフルタイムの給料もらえるビジネスを作りたいって言うてるのと同じやから。残りの35時間で何するかは別として、現実的にはビジネス立ち上げるのは大変な作業で、普通の40時間でも足りんくらいや。

スポンサーの紹介

バイブコーダーでも手作りフリーレンジNeovimユーザーでも、バイナリ作ったり、テスト実行したり、リリース作ったりするためにはCIが必要やろ。そこでBlacksmithの出番や。GitHub Actionsを1行変更するだけで、より速く、よりコスト効率よくしてくれるんや。

それだけやなくて、CIパイプラインで問題が起きた時にちゃんと見えるようにしてくれる。今回のスポンサーになってもらって嬉しいわ。これも僕らと同じで、本当にノーブレイナーやから。サインアップして、めちゃくちゃ安い値段でより速いGitHub Actionワークフローを楽しんでくれ。Blacksmith、2倍の速度で最大75%のコスト削減や。blacksmith.shでチェックしてくれ。

Tailwindの現実

Tailwindみたいな規模になったら、イシューがどんどん押し寄せてくるんや。その95%は問題ですらない。読んで、なんで問題やないかを理解して、どこに振り分けるか、削除するか、どう返信するかを考えなあかん。基本的に世界中からこのでっかい受信箱で爆撃されてる感じや。コントロールでけへん。

うん、めっちゃ責任重大やな。そのポッドキャストで何言うてたか思い出そうとしてるんやけど、今取り組んでる新しいプロジェクトの話をしてたと思う。RadixとかBase UIとかHeadless UIとかReact Ariaみたいなやつのウェブコンポーネント版みたいなもんや。

Tailwindでお金稼ぐ方法、というか基本的に唯一の方法は、お金払ってアクセスするウェブサイトがあって、そこにたくさんのコンポーネントUIの例が置いてあるんや。HTMLとかReact、Vueで作られてる。でも昔からHTML版には、何かインタラクティブな部分があったら、それは自分でやらなあかんかった。

それをちゃんとやるのは、めちゃくちゃ大変な作業なんよ。キーボードナビゲーションとかArya属性とか、変なアクセシビリティのバグとか。

だから返金とか、購入を見送る一番の理由が、ReactやVueを使わん人らが「このハンバーガーメニューをちゃんと動かすために600行のJavaScript書かなあかんのか」って嫌になることやったんや。もしくは適当にやって、結局うまくいかん。

そこで今、ウェブコンポーネント的な、スクリプトタグとCDNから引っ張ってこれるやつを作ってる。カスタム要素使って、同じような構成可能な動作を純粋なHTML環境でできるようになる。

昔やったら、これをオープンソースにするのは当然やったと思う。コードやったらそうするもんやろ。でも今の僕らの立場で、ビジネスを持続可能にしようとしてたら、インセンティブが逆になってまうんや。オープンソースにしたら、僕らのオープンソースを使って競合商品作る人らが出てくる。しかも彼らはオープンソースの維持はせんでええから、全ての時間と努力を僕らとの競争に注げる。僕らは90%の時間を彼らが僕らと戦うのに使うツールの改良に費やして、10%の時間で彼らと戦わなあかん。

めっちゃくそな状況やねん。オープンソース作って、たくさんの人に使ってもらって、みんながそれで何かすごいもの作ってるのを見て興奮したり喜んだりしたいねん。でもそれでビジネスしようとしたら、インセンティブが逆向きになってまう。時には自分のコミュニティと対立してるような気分になる。

解決方法を見つけるのが難しい問題や。僕はただすげーもん作って世に出すのが好きやし、商業的な面はあんまり考えたくないんやけどな。

そんなかんやで、「すげー成功したオープンソース作って、サイドでちっちゃいビジネスも成功させて生活費稼ぐ」っていうのは、雷が2回落ちるのを期待してるようなもんや。「まず超成功するオープンソース作品、宝くじも当たって、知らん叔父さんから遺産もらって、家の下から石油も出てくる」みたいな。それはビジネスプランやないし、人生の成功戦略でもない。

この前Primeの配信見てた時に、AI主導の世界でどう成功するかって話をしてて、同じようなこと思ったわ。注目を集める聴衆を作って、みんなの注意を確実に引くようにしたいって僕が言うたコメントについて話してた。

Brianが言うてたのは「うん、その戦略は、まず有名になることや。簡単やで」って。それがステップ1や。「有名になるのをまずやっとけ。映画出るとか」って感じで。

テキーラ会社とか。簡単やろ。まさにそうや。「A級セレブになる前にテキーラ出すなんて、何考えてるん?」みたいな。

YouTubeコメントへの回答

僕はYouTubeコメントを体現できると思うわ。めっちゃたくさん読んだから、お前らに届けられる気がする。

きっと最初のYouTubeコメントで、100個くらい同じような感じのやつが来ると思うんやけど「コードをタダで配れよ。なんで金稼ぐことばっかり考えてるんや?これはオープンソースやろ。人類のためにやるべきやろ」って感じや。

「なんでTailwindをもっとオープンで無料にせんのや?」っていうのが絶対トップコメントになると思う。でも今言うたから、そのトップコメントは潰れたかもしれんな。内心めっちゃ腹立つからな。

でもなんで全部オープンソースにして、善意だけでやらんのや?なんでビジネス作ったんや?っていう考えを聞きたいわ。

簡単に言うたら、コストがかかるからや。誰もフルタイムで働きながら、サイドでオープンソース維持し続けることはでけへん。21歳で独身でアパート一人暮らしやったらしばらくはできるかもしれんけど、僕には7歳以下のこども3人おるし、彼らと時間過ごしたいし、オープンソースのコード書いてフルタイムの仕事もするっていう以外にもいろいろ責任があるんや。

だからフルタイムでやりたい。プロジェクトが大きくなればなるほど、やることも増える。だから人を雇わなあかん。僕らは小さいチーム。8人で、パートナー3人、フルタイム4人、パートタイム1人や。でもみんなにちゃんと競争力のある給料払いたいから、年間150万ドルの経費がかかる。だからどっかから給料もらわなあかん。

全部ボランティアでやろうと思うても、そのボランティア作業をまとめて、PRチェックしてマージする人が必要や。そんなんうまくいかん。ちゃんと維持されるには、フルで集中できる人が必要や。フルで集中するには、お金の心配せんでええようにならなあかん。人生にはお金がかかるから。だから論理的には、それでお金もらう方法を見つけなあかん。

それに、オープンソースプロジェクト始めた時は楽しい部分だけやってるねん。100%楽しい。でもV4とかになってくると、楽しくない部分しか残ってないねん。

クロスプラットフォームのビルド問題を160時間かけてデバッグして、GitHub Actionsが週1で止まらんようにするとか、そんなんにボランティアで時間割いてくれる人なんてなかなかおらん。

それに、メンテナーとして僕がアホな決定してもうたんや。高速化のためにRustで大部分書き直したから、それも維持せなあかんし、いろんなプラットフォームでビルドできるようにせなあかんし、いろんな環境でネイティブコード動かす心配もせなあかん。前はただのJavaScriptやったのに。

Rustへの移行効果

ところで、それってどれくらい違い作ったん?めっちゃ効果あった?

めっちゃ違った。でも戦略的に使ったんや。ただRustで書くためにRustで書いたわけやない。

Tailwindの仕組みは、プロジェクトの全ファイルを見て、全部のクラス名を見つけて抜き出して、そのクラス名用のCSSを生成するんや。この作業はめっちゃ並列化しやすい。ファイルを分割して、違うコアで見ることができるから。JavaScriptではでけへん。だから並列処理をサポートするものに移行しただけで、4〜6倍速くなる。コア数によるけどな。

もう一つは、ファイルを見てクラスと何でもないやつを見分ける実際の作業や。昔は変なJavaScriptの正規表現の塊やった。JavaScriptでファイルから何かを抜き出す時、正規表現が唯一速いやり方やから。でも正規表現で表現できることに制限される。

Rustやったら、独自のビットレベルパーサーが書けて、正規表現より速いし、明確で表現力豊かで意図的にできる。

だからRustでやってるのは基本的にその2つだけや。

それで設定がそんなにいらんくなったんやろ?基本的にファイルシステム全体をクロールしてるから。

そうそう、Rustやとファイルシステムのクロールも速いから、どこを見るか教えんでもよくなった。主にgit ignoreファイルをベースにしたヒューリスティクスで、git ignoreされてたら見ない。node_modulesとか見んための近道や。

どうやって再現可能にビルドしてるん?

docker ignoreとかも無視してる。JPEGとかzipファイルとか、明らかに意味ないバイナリファイルも無視してる。

それで設定の束を削除できて、その辺も速くできたんや。でも今でも主にTypeScriptのコードベースや。

スポンサーシップの試み

ビジネス始める前に、GitHubのスポンサーシップとかに頼もうとしたことはあったんか?実際うまくいくもんなん?Tailwindは間違いなくトップ10に入るTwitterサイズのオープンソースプロジェクトやと思うし、競争相手もそんなにおらんやろ。ウェブ関係やる人はみんなTailwindが何か知ってるし、寄付でうまくいくやろうって声がめっちゃありそうやけど、実際どうやった?

僕らの経歴はちょっと変わってて、実は寄付やスポンサーシップを募ったことは一度もないんや。僕とSteveが最初にTailwind UIっていう最初の商業製品を作ったんやけど、2018年にRefactoring UIっていう本を出してたんや。知ってるかな?開発者にデザインを教える本や。

持ってるで。

それがめちゃくちゃうまくいって、今でもネット上のPDFとしてはうまくいってる。それで僕とSteveがTailwind関連のことにフルタイムで集中して、テンプレートとUIコンポーネント事業を作る資金になったんや。それが僕らの辿った道や。

興味深いことに、今スポンサーシップを探ってるところで、前はやらんかった。なんでそうなったかも話せるけど、さっき話してたことと関連してる。実際実現可能かどうかは見てみなわからん。

プロジェクトがめっちゃ大きいから、サポートしたい会社も出てくると期待してる。でも慈善事業は難しいと思うねん。僕の考えでは、人はただお金を出すだけやと馬鹿みたいに感じてまうから、何かちょっとでも見返りが必要やと思う。価値に見合わんでもええから。

だからどんなインセンティブを作るか、サポートしてもらって気分良くしてもらいつつ、ちょっとした見返りも得られるようなものを考えてる。純粋な慈善やなくて、商品そのものやなくても何かや。

Patreonみたいなやつで成功してる人もようけおるし、ちょっとした特典つけたらええねん。Tailwindのドキュメントに月1000万のアクセスあるから、そのちっちゃい一部でもTailwindの大ファンで、そういうダイハードな特典欲しがる人がおったら、収益に意味のある影響与えるかもしれん。

それが今度やってみる実験や。

貢献の品質管理

オープンソースの話に戻したいんやけど、僕はTailwindチームの一員やないし、関わってるリポジトリもそんなに大きくない。でもそこそこ大きい。

痛みのポイントについて話したいんやけど、スポンサーシップのことで僕も経験あるんや。主な理由は、オープンソースでコードの品質とかにこだわるかどうかによるんやけど、こだわらんかったら適当に投稿受け入れたらええねん。「問題あるで、やってくれ」みたいに暗黙で信頼して。

でもある程度の規模に達したら、リポジトリが人気になって、実際にそういうことにこだわらなあかんようになる。

そこで「今度は誰からの投稿を受け入れるか精査せなあかん」っていう閾値に達するんや。でもめっちゃ投稿が多かったら「君は十分うまいか?信頼できるか?何か入れてもらっても、気に入らんかったらどうしよう?こういう人格の人らと付き合わなあかん」みたいになる。

そこでスポンサーシップが出てくるんや。選択肢ができて、インセンティブも与えられる。最初はプロジェクトが好きやから貢献してくれるかもしれんけど、品質の低い投稿がめっちゃ多くて、「ある時点でコアチームが必要やな」ってなる。

君のチームにもRobinおるやろ?僕の友達や。そこでスポンサーシップが出てくる。「フルタイムやないのはわかってるし、質の高い投稿をしてもらうためのインセンティブとして、スポンサーシップ代を渡すから、できる範囲でやってくれ」みたいな。

でもそのポイントに達した時が僕の苦労の始まりやった。人の気持ち傷つけたくないねん。時間かけてくれたのに「コードの品質が足りん。君の面倒見て全部教える時間はないねん」って言わなあかん。

最終的に君みたいな状況になって、コアグループだけになる。オープンソースやなくなってきた感じになる。イシューがあって、人を割り当てて、その人らを信頼して「このイシュー取ったな。ちゃんと終わらせるんか?2週間このイシューを眺めて、君にpingして『やるんか?』って聞かなあかんのか?」みたいになる。そういう状況に陥って、どうしたらええかわからん。

うん、ええ答えはないけど、確実に共感できるわ。長い間、大きなオープンソースプロジェクトを維持する上で一番しんどかったのは、感情的な面やった。いろんな投稿があって、何か気に入らんかったら、優しく断ったり、なんでプロジェクトに合わんか、どの方向に持っていきたいかを説明するのが疲れるねん。

「このアイデアは好きやけど、君が解決しようとしてる問題をもっと深く調べて、これが正しい解決方法かどうか確認せなあかん。でも今すぐ最優先でできるとは約束でけへん」とか。

イシューがそのまま残って、人らは欲求不満になる。その部分がしんどいねん。

貢献ガイドラインで期待値を設定して、どんな貢献がええか、どんな貢献がマージするのに時間かかったり難しかったりするかを説明して、人らががっかりしないようにしてる。でもそういう問題はあるわ。

そのルートを続けていくと、君の言うてる状況になる。基本的に僕らの状況と同じで、実際の貢献はそんなに多くない。ほとんどサポートみたいな感じで、イシューを開く人らが多い。

僕らのプロジェクトはちょっと変わってて、エンドユーザーはフロントエンド開発者やけど、コードベースは全然フロントエンドのコードベースやない。他のオープンソースプロジェクトでもそうやろうけど、Laravelとかやったら、使ってる人は基本的に貢献もできる経験がある。だからめっちゃ活発で活動的なコミュニティができる。

僕らはそんなに貢献してくれる人おらん。何人かおるけど、基本的にはコアチームだけや。

君の言う通り、コミュニティプロジェクトやない感じになってきた。

人らのオープンソースの定義も違うと思うねん。個人的には、社会的コミュニティ財産みたいな意味合いが「オープンソース」って言葉にくっついてるのが嫌いや。僕にとってオープンソースは「コードで何でもやってええ」っていう意味。他の人が君の提案を受け入れたり、変更をマージする作業をする義務があるって意味やない。

でも会話に貢献でけてるかわからん。

効果的やったことを一つ紹介するわ。結構な数の貢献者がおったら、誰にお金渡すか決めるのがめっちゃ難しい。すげー不公平に見えるから。

Neovimで僕らがやって、今でもそうやと思うんやけど、長期間フルタイムでNeovim関連のことやる場合だけスポンサーしてた。それでNeovimの大きなプロジェクトがたくさんできたんや。

僕も2回やったことある。育児休暇の時やった。「1ヶ月取って、Neovimにフルタイムで取り組める」みたいな感じで。

それは明確な区別や。「僕の作業が評価されてない。お金もらえてない」って感じにならん。お金が絡んでくると、お金のために働いてない人らが変な気分になるねん。

確実にそう。うちにもあるかどうかわからんけど、頭の中で感じてる。お金もらってるチームがあるのに、他の人がタダで貢献してくれるのは、なんか居心地悪い感じがする。

お金が絡んでくると変な感じになるねん。もうタダのボランティアやなくなる。誰かがお金もらってるんやったら、みんながお金もらうべきやし、もしくは誰ももらわんべきや。

実際に貢献してる人らがそう感じてるかどうかわからんけど。真剣に考えたら、「この機能使いたいから、コードベースに入れてくれ」って思ってるだけやと思う。でも一つの力学やねん。

商業オープンソースの課題

僕のオープンソース経験は君ら3人とはめっちゃ違う。Netflixがスポンサーしてくれてたから、長い間それをやってた。カンファレンス主導の開発で、カンファレンスのスケジュールも決まってて、そこで話さなあかんかった。2016、2017年やったら、カンファレンス回りでアイデアを売ってた時代や。

ええ時代やったな。

僕にとって大変やったのは管理することで、Adam、君はこれどうしてるか気になるんやけど、プロダクトを使い始めたユーザーがみんなフィードバックや変更要求を持って戻ってくるねん。でも結局これは商業オープンソースっていうか、パブリックソースに近くて、僕の一番の目標はNetflixとNetflixのニーズに応えることやった。

だから人らが要求してきても「うん、バックログに入れとくわ。でもバックログの奥深くや」っていう感じで、本当はNetflixの問題とNetflixの問題にしか興味ないから、それを使ってる人らはどんどん欲求不満になっていく。僕がコミュニティの求めるものやなくて、金払ってくれる人に役立つことしかやらんから。

それがめっちゃ嫌な感じやった。よく怒りのメッセージが来て、そんなに親切やなかったりしたから。

確実にそういうのある。僕らもそれを緩和しようとして、多くのリポジトリでイシューをバグレポートと機能要求の両方に使ってるけど、僕らはイシューはバグレポートだけって厳格にやってる。機能のアイデアとか要求があったらGitHub discussionsに移してる。

主な理由は、GitHub discussionsは閉じる機能が後から追加されたけど、あんまり意味ないと思うねん。そのまま残しとけばええって感じ。でもイシューは何らかの形で対処せなあかんもんや。だから「誰かが機能要求した。それが閉じられるまで、誰も合意してないし、受け入れてもないのに、まだ終わってないことになってる」みたいな状況になる。

それでちょっとマシになったと思う。もう一つは、時間が経つにつれて心が強くなることかな。「うん、ええアイデアやな。プラグインで試してみたら?」って言うんや。過去に使った選択肢の一つや。

それが技術的にうまくいかんかったら、文字通り「フォークしたらええやん」って言う。みんな目をくるくるさせて「フォークして維持なんてでけへん」って言うけど、「まあ、そういうことや。君が僕にでけへんことをやってくれって頼んでるねん。僕らは同じチームやで」っていう感じや。

君の言うた2つのことで、「機能要求はdiscussionsに行く」っていうポリシーがあったら、イシューを閉じるのが簡単になるし、何も読まん人らを除外できるよな。

うん、ええポリシーがあったら便利やな。「すまん、ポリシーやねん。僕にはどうしようもない」って言える。

でも実際ええゲートになる。Justin Keysっていう、Neovimのメインメンテナーがいつも言うてるのは「ユーザーをクビにすることを恐れたらあかん」や。僕らにはMicrosoftの予算はないし、VS Codeとあらゆる分野で競争するつもりもない。だから一部のことには「ノー」と言わなあかん。それが一部の人にとって取引停止になるんやったら、それでもええねん。

みんなのためのものになろうとしたら、誰のためのものでもなくなる。

もう一つは、人らの欲求不満が全世界みたいに感じることもあるけど、実際にはめっちゃちっちゃい部分やねん。満足してて、うまくいってて、君のやってることが素晴らしいと思ってる人らは、何も言う理由がない。だから静かに幸せで、君をサポートしてて、興奮してる。

「Tailwindのリポジトリなんて開いたことない」みたいな人らや。リポジトリがあることすら知らん。インストールして、それ以来一度も振り返ってない。

それを覚えとくのも助けになるわ。

人格の問題

みんなが僕に買えって言う本があるんやけど、買ったけど読んでない。読まんでもええと思う。タイトルだけで十分やから。「嫌われる勇気」や。

そのフレーズだけでも、僕はめっちゃ勇敢やって感じになる。

でもそういうアドバイスをしようとする誰かがおるっていうだけで、僕の経験では楽になるねん。

最初は人格を扱うのがめっちゃ欲求不満やった。人らを失望させてるような気がしたり、僕のやってることに興味持ってくれる人らみんなにサービスせなあかんような気がしてた。「興味持ってくれてるんや。できるだけ幸せにしたろ」みたいな。

でもある時点で「もうこれ以上でけへん」ってなった。めっちゃ燃え尽きた。クレイジーなGitHubの緑の四角から、真っ暗闇になった。今でもその影響を感じてる。

でも人らはこの世界でめっちゃ権利意識強いと思うわ。クレイジーや。

配信でも同じことを適用してるんやけど、長い間、特に始めたばかりで10〜15人が見てる時は、誰かが来て、ルール破ってなくても、ただ気に入らん雰囲気を持ってきたら、「気に入らん」ってなる。多くの人が視聴者に合わせようとしたり、みんなに合うようにしようとする。

いつやったかわからんけど、2年前くらいに気づいたんは、何かが成功しなくても、ユーザーをクビにする方がええってことや。今はそれでええと思ってる。「この人は完全に場違いや。出てもらうように頼む」って早く判断するようになった。

何人かの人に「ノー」と言うことで、コミュニティである種の感じや雰囲気を維持する方が楽やから。1人だけでも会話を何回か爆発させたら、急に新しいコミュニティが来て、すべてを爆発させる準備ができてる状態になる。

もう一つは、人らの欲求不満は無効やないってことや。でも君のせいでも君の責任でもない。両方とも真実やねん。

何か大きな問題にぶつかってる人にとって、メンテナーとして君が16個の他の優先事項を抱えてることを理解するのは難しい。それは他の人らにとっても大きな問題やけど、この問題を抱えてる人はそれに影響されてない。だから「なんでこれ修正せんのや?これが明らかに一番壊れてるやん」って思う。

でもそれは彼らの状況では一番壊れてるだけや。でもそれでも真実やし、リアルや。

オープンソースには権利意識もあるけど、基本的には使ってくれる人、イシューを上げてくれる人、貢献してくれる人に感謝してる。オープンソースの消費者を嫌うような罠に陥るのは簡単やけど、Dairy Queenの店員がアイスクリーム買いに来る客の文句言うのと同じや。でも結局、その人らがアイスクリーム買いに来んかったら仕事ないねん。

それって実際問題なん?Dairy Queenの店員が客の文句言うって?

10代の時にバイトしたことある?10代はみんな客嫌いやん。

最近はもっと成熟した10代の自分になろうとしてる。

効果的なイシューの作り方

Adamに聞きたいんやけど、イシューを作って、君が実際に作業して修正して閉じる最良の方法は何や?

明確で最小限の再現環境があったら、修正される可能性が劇的に上がるな。それが一番大事。メンテナーが修正しやすいようにしてくれ。

でもArchユーザーは再現についてよく知らんから、それをイシューの要件にしたらちょっと問題かもしれんな。

Tailwindの起源

Tailwindの経緯について聞きたいんやけど、最初からオープンソースやったん?

2017年のハロウィンに最初のバージョンをリリースしたと思う。他のサイドプロジェクトを作ろうとしてる時の副産物として抽出したやつや。その作業をライブ配信してて、人らがCSSについて聞いてきたから、ちっちゃいものとして切り出してリリースしたんや。

オープンソースで始まって、それでお金もらうようになった経緯が気になるんやけど、クローズドソースの秘伝のソース的な部分もあると思うけど、最初からコミュニティの貢献があったのに、今度はそれで生活することになったっていう倫理的な摩擦はあった?立ち上げを手伝ってくれた人らにちょっとお金払うべきかとか考えた?

僕の考えでは、そんなに複雑やなかった理由は、フレームワーク自体やフレームワーク関連のものには一度もお金を請求してないから。CSSフレームワークでは、Bootstrapにテンプレートマーケットプレイスがあって、人らがBootstrapテンプレート作って売ってる。僕らが基本的にやったのもそれに近い。デザインして、Tailwindで作って、そのデザインを売る。

だからお金を請求するものには、コミュニティの貢献は全然入ってない。その資金を全部フレームワークの開発に注ぎ込んでる。フレームワークが成功したら商業的なものも成功するから。

新しいスポンサーシップモデル

Trash、今何か取り組んでることあるん?めっちゃ具体的な質問やったから。

実際に経験してることについて話してるんや。

来週で終わりや。フリーエージェントになる。冗談やけど。

でも職場でクビになるようなこと言うなよ、このポッドキャストで。

冗談や。ワンパスワードのブラウズ。

オープンソースで経験したことで、「これって倫理的にどうなん?」って思うようなシナリオに遭遇したことあるから。わからんから、やらんとこってなった。だから他の人の視点を聞きたかったし、オープンソースの人らへの対処法も聞きたかった。

さっき言うたみたいに、今スポンサーシップを探ってる。今日ローンチしようとしてるやつや。フレームワークへの貢献は基本的に既にここで働いてる人らだけやから、その意味では単純に感じる。貢献してくれる人はみんな欲しいからやってくれてるから、そんなに罪悪感ない。

でも活発な貢献者コミュニティができてるプロジェクトで、急にプロジェクトが資金を取り始めたら、それがどこに行くかっていうのは理解できる。誰かがそれを適切に管理するのにストレス感じるのもわかる。

Neovimみたいな、もっとコミュニティスタイルのプロジェクトにはええ戦略やと思う。「僕がこれを所有してる」みたいやなくて。TailwindはAdam、君と一緒に始めた他の人らのプロジェクトって感じで、Neovimとは違う。

Neovimにはopen collectiveとか、プロジェクトにお金が入ってくるところと出ていくところがわかるええサイトがある。さっき言うたみたいに、Neovimでは「しばらくフルタイムで何かに取り組んで、基本的にコアチームに承認されたら金もらえる」っていう単純なポリシーがある。簡単や。

バグバウンティには複雑な感情がある。あんまり好きやない。時々変な誘因を作ってしまう。何に取り組むかで人らが争ったり、外部の人がバウンティをかけたりして、誰かがお金もらうためにPRをマージしようとして、メンテナーと対立することもある。

ZigのAndrew Kellyがそれについていくつか記事書いてて、Primeもそれについて何個か動画作ってる。

だからそれは複雑になりがちやけど、コミュニティのやつでは、ルールを本当に明確に設定できたら、明白になると思う。誰かがNeovimにランダムにPR送っても「うん、わかるわ。お金もらえんのは当然や」ってなる。NeovimにめっちゃたくさんランダムなPR送っても、期待はない。

Trash、でもめっちゃ興味ある。オフラインで教えてくれな。Patreonでしか聞けん話にしよか。

これは昔の話や。めっちゃ燃え尽きる前の話やから。現在の話やない。

Type Heroの時の話?めっちゃ活発やったよな。

そうや。それから派生したものもある。年次イベントも今でもやってて、手伝ってもらうために人にお金払ったりしてる。

驚きの貢献

視聴者からええ質問や。Veganbotありがとう。Adam、Tailwindへの一番驚いた外部からの貢献は何や?

この前にええのがあった。正確には覚えてないけど、Rust側で実際の改善を貢献してくれた人がおった。それはTailwindの消費者が普通持ってる知識から一番遠いやつや。しっかりしてて、実際の問題を解決してて、すべてよくて、マージした。

そのリポジトリはTailwind Labs organizationにあるん?

そうや。Tailwind CSSリポジトリはモノレポで、全部を一つのRustクレートにまとめてて、実際にインストールする時に全体を形成するいろんなパッケージがある。

チャットでnamebotが「めっちゃベースや」って言うてる人やった?

わからん。後で見てみなあかん。

ビジネスの課題と競合

君らの見解を聞きたい、オープンソースビジネスを運営する上での課題について。スポンサーシップで修正しようとしてることでもある。ある意味デリケートな話題やけど。

ビジネスとして一番難しいのは、僕らが売ってるのがUIコンポーネントとテンプレートなんやけど、僕らの一番熱心なユーザーがワクワクして作りたがってるのもコンポーネントとテンプレートなんや。

だからくそな状況になってる。誰かがTailwindでかっこいいオープンソースUIライブラリ作っても、僕らは応援でけへん。僕らの商業的なものの無料代替品や有料代替品を宣伝するのは、プロジェクトの資金調達能力を傷つけるから。

しばらくこんな状況が続いてて、かっこいい作業してる人らがおって、ワクワクしてサポートしたいんやけど、文字通りでけへん。最終的にはチームの食いぶちを確保する邪魔になるから。

プロジェクトを持続可能にする方法を見つけたいねん。コミュニティと全然競争してるような気分にならん方法を。だからスポンサーシップを探ってるし、遊んでみてる。

Tailwindが大きければ大きいほど、みんなにとってええ。それについてワクワクできる。でも現実には、TailwindベースでAIのUI生成ツール作ってる人らがめっちゃおる。そういうツールがたくさんあるし、オープンソース版もある。

時間が経つにつれて、僕らはファーストムーバーアドバンテージがあって、それで恩恵を受けて、かなり強いビジネスを築いて持続可能にできた。でも僕らにとってそれは2023年の初めにピークに達して、それ以来ずっと下がってる。

僕らがやってることの多くが、より多くの人が似たようなものを作ろうとするか、ChatGPTやV0に頼んで価格ページ作ってもらうだけで満足する人が多いから、商品化されてる。僕の基準には達してないし、もっとええもの作りたいけど、多くの人には十分や。その現実を受け入れなあかん。だから他に何かせなあかん。

会社にTailwind使ってる企業にスポンサーしてもらって、代わりにロゴをウェブサイトに載せるっていうスポンサーシップを始めてる。でも企業が実際に価値を感じるものを見つけようとしてる。共有Slackチャンネル作って、問題にぶつかったら直接連絡できるとか、それは価値があるかもしれん。

個人向けにも月12ドルで、真剣にやってる人だけの特典を用意してる。月12ドル払うほど真剣な人だけ、プラスチームが参加するプライベートDiscordで質問できる。

プリリリースビルドのベータドキュメントも利用できるから、PRを調べて新機能の動作を理解する必要がない。すべての人にアピールするわけやないけど、新しいものにめっちゃワクワクしてて、フレームワークを本当にサポートしたい人には価値があるかもしれん。

あとは、AIにもっと質の高いTailwindを出力させるのが上手くなってきたから、独自のcursor rulesのセットを作ってる。それも人らが得られるものの一つや。

VS Codeのカスタムテーマも作った。ドキュメントサイト用にカスタム構文テーマ作って、デザインに合わせたやつをエディタテーマにした。TwitterやYouTubeで画面のスクリーンショット投稿したら、いつもそれについて聞かれる。本質的にめっちゃ価値のある商品やないけど、プロジェクトサポートするために月数ドル投げたい人には楽しい特典や。

今そういうことをやってビジネスを少し多様化させようとしてる。それでビジネスを支えるものにできたらめっちゃ興奮する。みんながコミュニティでやってることにワクワクするのが簡単になるから。

外部の視点から見て、現実的やと思う?

観察とアドバイス

Tailwindしばらく使ってて、エコシステム全体を観察してる立場から言うと、最初Tailwind UIがあって、それからCatalystをリリースしたよな。

そうや。Tailwind UIを買った人が利用できるコードのフォルダや。

僕の視点では、それは遅すぎた。shad/cnが爆発した後で、みんな「shad/cnがこれ、shad/cnがあれ」って言うてて、v0が出てきて、shad/cnを持ってて、基本的にRadixコンポーネントとTailwindを組み合わせたものを全部出力してくれる。しかも有料やったから、無料で人気のものがあるのに、なんで人らがそれ選ぶんやって感じやった。

これまで考えてきたことで、将来のTailwindがどうなるか、基本的に今君が聞いてることについてやけど、AIとオープンソースエコシステムのせいで今は違うんやけど、過去に見てきたのは、これらのチームが効果的にコンサルタントになることや。組織に一定期間埋め込まれて、立ち上げと運営をする。

一番大きな問題やと思うのは、カスタムデザインシステムを全体的なコンポーネントライブラリに作ることや。チームが貢献できるスケーラブルな設定をどう書くかとか。基本的なTailwindクラス使ったコンポーネントを全部生成するツールがあるけど、マルチテナントアプリとかのテーマ化は僕の意見では得意やなかったし、一般的に混乱してた。スケーラブルデザインシステムの分野は売れると思う。

でもめっちゃ難しい問題やねん。エコシステムが全部を吐き出してるから。創業者がアプリを素早く立ち上げようとしてる場合、必ずしも君の基準に達する必要はない。

そうそう。10年前に見たようなものより天井は高いけど、それでも関係ない。重要なのは基準に達することや。

エンタープライズはええターゲットやと見てきた。でもビジネスの運営方法を教えようとしてるわけやない。

その面での躊躇は、最初に話してたことに戻るんやけど、オープンソースに時間を使えんくなるような設定をしたくないねん。他のことばっかりやってたら。どうやって適切なバランスを見つけるかや。

すべてのオープンソースメンテナーが欲しいものやろ。世界にこれだけの価値を作ってるのに、どうやってそれをやることで金もらって、みんなには無料で提供できるかっていう。

でもええ指摘やと思う。そのアドバイスに感謝する。

ライセンスと期待値の設定

Prime、行く?

僕のは振り返りっていうか、過去の観察で、今日では役に立たんと思うけど、将来のアドバイスみたいなもんや。

オープンソースコードを配布するライセンスについて考えるのは本当に重要やと思う。これらのもので金儲けしようと計画してるなら、市場を知って、どうやってコードを配布できるかを理解するのはええことや。失敗した試みがすべて爆発する場所やと思う。

ValkeyとRedisとかを見てみ。全部爆発してる。Redisが「ちくしょう、金稼がなあかん。僕らが金稼がん限り、君らも金稼げん」って言うて。「もう遅いわ。既に出してもうたやろ」って感じや。

オープンソースを何らかの商業的冒険への一歩として持つことに問題はないと思う。ただめっちゃ難しいってだけや。ライセンスと期待値によるところが大きいと思う。現実は、もしTailwindで「これが僕らのやってることで、商業的な側面はこうや。商業ベンダーになるなら、AI作るならTailwindを使って、何らかの対価が必要」みたいに最初から言うてたらな。

明らかに2017年にAIのことなんて見えんかったけど。

Terminator 2見たから知ってたで。

ロボットやと思ってたのに、コード生成やった。テキストエリアや。curlや。

Redisについてどう思う?あの超寛容なライセンスで始めんかったら、そもそも人気になってなかったと思う?人らは「今すぐ何でもやってええ。問題になることを心配せんでええ」より少しでも匂いがしたら、めっちゃアレルギー反応示すから。

めっちゃ当たってると思う。今のオープンソースは90年代と2000年代のスケートボーダーを思い出させる。その世界におったら、スケートボーダーがスポンサーシップを取ったり商業的になったりしたら「売り魂」って言われた。

でも実際は年間5000ドルのスポンサーシップで体を張って、体を壊して4年後には競技でけへんくなって、売り魂になりたくないから守られた金稼ぎ能力を持てんかった人らや。今は好きな人らを全部恥じて、スケートボードでけんくなった時に何か残るもんがないように仕向けた。

オープンソースでも同じような感じがある。商業化に対する変な躊躇がある。僕らは人らが失敗して燃え尽きに繋がるものを押し付けてるみたいで、オープンソースの商業化に対する躊躇がある。

ちゃんとやったら問題ないと思うけど、君のについては、僕の考え方は一次元的やから、いつもコンサルティング、教育、貢献に帰着する。貢献は成功の方法やないと思う。君の言う通り、いろんな問題の缶を開ける。個人がお金出すべきって聞こえるし、Wikipediaみたいやし、人らは一般的にうんざりしてると思う。

年1回サイトにバナー出すアイデアを社内で話し合ったことある。うまくいくかもしれん。

その手の全体的なものには問題がある。150万はカバーでけへんかもしれんけど、なんらかの差別的な金額は引っ張れると思う。現実は、教育サイトとのパートナーシップとかもあるけど、Fireshipが君とパートナーシップ組むより、Fire Shipがそれを配信して人らが買うだけの方が想像しやすい。だから実際にそのパートナーシップは必要ない。

「まず有名になっとけ、あほ」に戻るねん。ええビジネスプランやない。

これは僕が違うようにやったであろうことや。めっちゃ難しい問題やと思う。

特にTailwindは商業的に解決するのが例外的に難しい問題やと思う。コンポーネント・追加ソフトウェア分野では永続的にコンピューターと競争することになると思う。

僕らがいつも考えてきたのは、何かサービスがあるかどうかや。本当のフレームワーク、アプリケーションの本当のバックボーンを作ったら、いつもホスティングプレイとかがある。僕が何するん?「CSSファイルをホストしてあげる」って?それはウェブサイトを悪くするだけや。意味ない。

でも今でもええビジネスしてるで。まだ利益出てる。でも物事が正しい方向に動き続けるなら、調整が必要やと思う。

Tailwindが作ってくれた機会にはめっちゃ感謝してる。2019年からフルタイムで取り組めてるっていう事実は、これ以上素晴らしいことはない。本当にええ人生で、これらは解決するのが面白い問題や。関わり続けて面白くしてくれる。

でもオープンソースにできるだけ集中して、現在の設定でのコミュニティとの対立を避ける方法を見つけられたらすげーかっこええと思うわ。

具体的なアドバイス

いくつかアイデアがあるから投げてみるわ。取るも取らんも君次第や。これは一般的なオープンソースプロジェクトのアドバイスでもあるんやけど、まずVC型のオープンソースプロジェクトになるか、ライフスタイル型のオープンソースプロジェクトになるか決めなあかん。

金稼ぐ時に、今年50万ドル作ったらめっちゃ幸せなのか、それとも1億ドル稼ぐ方法を見つけなあかんのかっていう違いや。それによって必要な金額も、そこに到達するのに必要なサービスの種類も全然違う。スケールせん方法で50万に到達できるけど、その後500万に到達する必要がなかったらな。

だから、大企業にエンジニアをスポンサーしてもらうみたいなことを試すこともできる。1対1で完全に。

Googleよ、25万なんて痛くもかゆくもないやろ。

そうそう。Googleが実際にTailwind使ってるかどうかわからんけど、100人のエンジニアにはでけへんかもしれんけど、4人くらいやったらできるかもしれん。「こいつの給料全部、どこそこが払ってくれてる」みたいなんは、実際にええマーケティングになる。実際にええ見返りも得られる。

それはスケールせんけど、実際に多くの会社の重要な部分やから機能するかもしれん。V0とかも「うん、Tailwindの1人のエンジニアの給料払えるわ」って感じかもしれん。

V0はTailwindなしには存在せんからな。それだけの見返りがあって、理にかなうかもしれん。

有料版と無料版でインセンティブが分かれん方法を見つけられたらええな。「XYZコンポーネントをどう作ったか」みたいなのをやって、YouTubeビデオのリリースを3ヶ月後にする。だから有料プランの人は3ヶ月早く得られる。

君個人的に好かれてるから、人らは気にかけるねん。

でも時間を区切って、YouTubeビデオのリリースを3ヶ月後にする。12ドル/月の個人向けとか、法人向けでも、これらのアイデアを得られるところや。「V0が何か生成した後、迷子にならんようにこれを作る方法を実際に知りたい」って感じで。

そういう分野ではええアイデアやと思う。月12ドルの人とか、プライベートDiscordでのコメントや参加もある。「ビデオをリリースして、新しいスレッド始めて、そのスレッドは1ヶ月続いて、その後は質問に答えん」みたいな追加インもある。

年末には12本のTailwindで何か作るすげービデオができて、3ヶ月遅れでYouTubeに行く。Tailwindはよくなるし、みんなが恩恵受けるけど、人らは金もらって、追加的なものもある。

それは教育費やから、人らは法人で教育として計上できるし、今は楽しみやなくて「この教育的なものを得た」って感じや。人らは使う教育予算を持ってる。

スケールする必要はないからな。8人のエンジニアに永遠におりたいと思うし、それが上限でもええやろ。

そうや。関わってるみんなにとってええ生活ができる快適な閾値があるだけで、それが唯一のゴールや。それ以上にスケールする必要はない。それが天井でもええ。

それはええな。昔から教育的なことはたくさんやってきたし、それにも取り組んでる。君がええアイデアやと思うって聞けてよかった。

最終的には、こっちにちょっと、あっちにちょっと、いろんなところからちょっとずつ得る必要があると思う。今みたいに全部の卵を一つのカゴに入れるんやなくて。世界が変わって、そのカゴが脅かされた時に、考え直さなあかんようになるから。そういう意味でもうちょっと壊れにくくしたい。

もう一つは、有料の人向けの別のイシュートラッカーも、オープンソースでうまくいってるのをよく見る。

月5ドルでもクレイジーなフィルターになる。読まん人がめっちゃフィルターされる。君は既にたくさんのユーザーをクビにせなあかんから、君にとってはええことや。本当のイシューも得られるし。

プライベートイシュートラッカーでも、僕らが優先するイシュートラッカーに乗りたい企業として、生活費を払わなあかんから、みたいなのもあると思う。

プライベートイシュートラッカーを階層化できるか?これにどんなSLAがあるかとか?

テキストエリアがあったら何でもできるねん、最近は。

GitHubでタグでやったことある人はそんなに見たことないけど、オープンソースのことでできる。他にも、十分高い階層のスポンサーシップやったら、会社ごとのイシュートラッカーもあって、他の個人情報を公に漏らすことを心配せんでもええようになる。

時々「このスタックトレース貼りたいけど、名前を外部に漏らすのは違法や」みたいなことがある。だから超階層の企業向けで「Tailwind vzero-issuesみたいなの作ってあげる。超階層やったら、直接コピペできる」みたいなのもある。

あと、正直言うて、プライベートで話す方が楽や。「法人のためにイシュー作るから、完璧に代表せなあかん」みたいにせんでもええ。確実に数時間の開発者時間も節約してる。

サポートがメイン商品に流れ戻るから、インセンティブもええし、他のTailwindコンポーネントライブラリが金稼いでるかどうか知らんけど、一部は君らへの直接のラインを欲しがるかもしれん。

プライベートイシュートラッカーのアイデアはめっちゃ気に入った。潜在的スポンサーと既に話してることを、もっと具体的なものに変えてくれる。「君らへの直接のライン」みたいな感じで、実際に気づいて見てくれたってわかるけど、それをもっと具体的にしてくれる。

まっすぐSLAも与えられるしな。「1週間以内にすべてのイシューに返事する」みたいな。修正されるとか閉じられるとかやなくて、返事はもらえるって約束。企業はSLAにお金払うから、それは機能する。

うん、めっちゃええアイデアやな。

それはMITライセンスのアイデアやけどな。だから僕がもらうで。GPL。

でも君が釘を刺してるのは、オープンソースから何か売る時に僕が君のルールを一般化するなら、簡単に複製できるものは売れへんってことや。君がTailwind UIライブラリ作っても、一番ええやつでも関係ない。誰かが無料のTailwindライブラリ作って、利用可能なものより良いかもしれん。

でもAdam Wがリクエストに返事するっていう量の複製は誰にもでけへん。それは特異で支払い可能な道筋で、誰も複製でけへん。

そこに本当のドルがある。簡単に打ち負かされるものにやない。V0だってええけど、cursorがV0になって、V0に戻る必要がなくなったら、V0は存在せんようになる。Tailwind専用のチャットエージェントがあるから。

あまりにも複製可能や。人らが入ってきて、最近は堀をかなり早く破壊できる。

それは見方として正しいと思う。競争相手がおらんユニークに提供できることをしたいっていうのは、悪く見えるかもしれんけど、超貪欲になりたいからやない。コミュニティと競争してるように感じんでええ何かをしたいし、みんながやってることをサポートして、ワクワクできるようになりたいから。

もう一つは、君らにお金あげたい会社で働いてる人もたくさんおるけど、経理部になんでかを示せるものが必要や。SLAでもええねん。「ええやん、企業が金払うものや、SLA。素晴らしい」って感じで。

時々、文字通り「ロボティクス企業でウェブサイトに購入ボタンがない」っていうyen rantみたいなもんや。「tailwind enterprise」を買えて、同じものやけど、enterpriseは100%みたいなの。

Javaをスタックのどっかにちょっと追加して、プリーツパンツ履いた人がおったら、もう企業向けやで。

もう一つの選択肢はTailwindコインや。チャットで見た。

Taylor(テイラー)とめっちゃFortniteやってるんや。毎日や。Tailwindバトルパスができるんちゃうかって、僕らで考えてた。何それって感じやけど。

ルートボックスができるで。

ルートクレートで、「今月使えるユーティリティクラスはこれや」みたいな。

開けたらTailwindクラスがどっかに追加されるルートボックスのアイデアがめっちゃ気に入ったわ。「ルートボックス当たったで。普通のM2や」って感じで。最悪やな、M2って。

ルートボックスでTailwindクラスがあって、アプリケーションで一番多くのルートボックスを100%にした人のリーダーボードがあるとか。このアイデアめっちゃおもろい。

T-Bucksとか、マイクロトランザクション市場はどうや?

60 T-Bucksでボタンを買うねん。

時々超レアなボタンを引く。ウルトラ。まさに。レジェンダリー。

一点もののホログラフィックボタン。ウェブカメラを使って僕の顔の反射を映す3次元の。どうやってそんなことするんや?

もしくはフレームワークでTailwindクラスの独占販売を始めるかもしれん。このクラスが欲しかったら買わなあかん。君だけが使える。

一点もののTailwindクラス。

Tailwindクラス売り始めるんや。独占になる。「margin?margins 1から4まで僕が所有してる。だからそれ使うんやったら、家賃払ってもらわなあかん。ホテル建てたから。すまん」って感じで。

実際に別の話やけど、めっちゃおもろい動画になりそうや。100 T-Bucksあって、クラスが違う値段で、「100 T-Bucksで作れる一番ええUIは何や?」みたいなのを複製しなあかん。

実際にめっちゃかっこええな。YouTubeコンテンツや。

Battle CodeでそれやったことあるBattle Codeはロボットごとに実行できるバイトコードの量が決まってて、最小限のものでお互いと戦わなあかん。全く同じことができる。Tailwindの予算があって、このサイトを作らなあかん。CSS禁止、Tailwindのみ。他は何もでけへん。100クラス以下で一番ええサイトを作るのは誰や。

クラスに文字数制限もあるな。

CSSローグライクのデッキビルダーもかなりええかもしれん。5枚のカードでコンポーネント作らなあかん。「margin 2つ、padding 1つ、それだけや」みたいな。それは実際にめっちゃええ。めっちゃおもろい。

そうや、そこにええアイデアがある。実際にめっちゃかっこええ。YouTubeの動画からも数十ドル稼げるしな。

エンターテイメント全振りや。それが実際のプレイかもしれん。有名になるだけや。

「週5時間働いて、残りの週をオープンソースに充てられるように金払ってもらうことを考えたことある?」

実際に本当のアドバイスやけど、SaaSスタートアップをバイブコードしたら月5万稼げるから、それを10〜15で売ったら、Tailwindの大部分の資金になる。

SaaSスタートアップ2つやったら月10万や。4つやったら20万。めっちゃ簡単や。週末に。

個人的には、トマトの苗を1つ育てる方がええわ。トマトの苗を1つ育てたら、そのトマトからもっとトマトが育って、トマトからもっとトマトの苗を植えられる。気づいたら無限の金や。

SaaSアプリジェネレーターをバイブコードすることを考えたことある?

バイブコードは…今は何も言えんわ。何かが進行中や。

そうや、まさにそういう意味や。

君らが何をするか見るのが楽しみや。それはめっちゃかっこええと思う。だから君らにたくさんの成功を見つけてもらいたい。

ところで、2008年から2017年にかけてみんなが経験したことを、今僕らみんなが使うものにしてくれたことを認識してくれて、めっちゃ嬉しいわ。昔のウェブをプログラムした人は誰でも去ってしまった。だから僕は「float left clear fix right」みたいなのをやってて、この1つのfloatを手に入れて、float clear M small、BG blueって感じで、僕だけの名前付きクラスがあって、僕にしかわからんもので、僕のウェブサイト全部をそういう覚えた言葉のシリーズで作ってた。

今は「これは君が覚えた言葉のシリーズやけど、今はみんなが同じものを覚えてる」って感じで、人生がめっちゃ楽になった。

今はもう本当に議論の余地がないところまで来てるけど、しばらくはめっちゃ議論になってた。だから普及して、人らが気に入ってるのは嬉しいわ。

確実に僕の問題は解決してくれた。

僕にとっては、Nicholas Gallagherが書いたブログ記事があったんや。normalize CSSを作った人で、長い間Twitterで働いてた。今はInstagramで働いてるかもしれん。「HTMLセマンティクスとフロントエンドアーキテクチャについて」っていうブログ記事を書いて、クラスはこういう風に書いてもええっていう許可を初めてくれたんや。

クラスは実際にはプレゼンテーショナルであるべきで、それがスケーラブルなウェブサイトを作る唯一の方法やって、頭のええ人が言うてくれた。「ああ、今度はそれができる。犯罪やと思ってた」って感じやった。

だからNicholasが本当にTailwindを作ったんや。多分夜も眠れへんやろな。「給料はどこや?」って感じで。

そのやつをMITライセンスにしとくべきやったな。ほんまその通りや。

終了

まあ、短時間の通知やったのに来てくれてありがとう。月曜日にこの話のきっかけになった動画を見て、月曜日の遅くに「水曜日に来る?」ってテキスト送ったら、「やったろ」って言うてくれた。

今日は君のスポンサー関連を今日ローンチするからやったんやろ?

そうや、このポッドキャストに出るのに完成してないのは嫌やったから。今完成した。ウェブサイトにある。Tailwindの超ファンでスポンサーしたい人がおったら、tailwind.com/sponsorをチェックしてくれ。

何かが響くかどうか教えてくれ。響かんかったら、反復し続ける。多くの人が「もっと金払いたいけど、もっと金払う方法がない。1回だけこれに課金して、他に売るものがない」って言うてくれてるから、それらの人にチャンスを与える。

義務はない。でもTailwindが好きで、僕のcursor rulesが欲しかったら、それが本当の魅力や。僕らがやってるインサイダー的なものにサインアップすることを検討してくれ。

でも、みんな、呼んでくれてありがとう。楽しかった。君らのほとんどとは初めて話した。Primeとは Larconで会って、ええ夕食を一緒に楽しんだけど、他のみんなと繋がれてよかった。ありがとう。

Trashがこのグループの本当の勝者や。めっちゃワクワクしてる人やった。彼と話したかった。

Trashがランダムなコンポーネントを出して「これ動かん」って言うことを本当に期待してた。バーチャルカムをオンにして「ちょっと見てくれ。めっちゃ困ってる」みたいな。

もしくは文句言って、本当に意地悪になる。それもできたやろうけど。

それって実際起こるん?カンファレンスで歩いてて、おしゃべりしてて「あ、Tailwind作ったんや。ねえ、なんでこれ動かんの?」みたいなのって?

そんなに悪くないで、正直。そういうこともちょっとあるけど、おもろい感じやない。普通は本当にええ質問で、ええ議論ができる。

いいね。

まあ、素晴らしい。参加してくれてありがとう。配信を終了する。ストリーム、スタンドアップに参加してくれてありがとう。何話目かわからん。20話台やと思う。だからこの楽しい会話を楽しんでもらえたら嬉しい。Adam、オープンソースの苦痛とビジネスの冒険についてのこの話をありがとう。

TJはどこで見つけられるかみんな知ってる。彼は配信してるし、ところでTrashDev。Netflixで見つけられるし、多分聞いたことあるやろうし、Twitterでも。

Adam、tailwindcss.com/sponsor以外では、みんなはどこで君を見つけられる?

X、あれって何て呼ぶんやったっけ?まだXって呼ぶん?それとも?後に「すべてのアプリケーション」ってつけなあかん。だからX、すべてのアプリケーション。X、すべてのアプリケーションのX.com/adamwatheにおる。習慣的に時間無駄にする場所やから、そこで僕を見つけられる。

コメント

タイトルとURLをコピーしました