Closed5

Laravel Podcast - 2025年2月

ピン留めされたアイテム
MaruMaru

2025/02/25
Laravel Podcast Season7 Episode 1

Laravel史上最大の日(The Biggest Day in Laravel History)

Matt Stauffer(Tighten CEO) x Chris Sev(Laravel DevRel Director)

https://www.youtube.com/watch?v=2npdKBgxI3Y

Part1

Intro

Matt)
みんな、Laravel Podcast シーズン7へようこそ!……と言いたいところだけど、実はこれがシーズン7の最初のエピソードなんだよね(笑)。というわけで、Chris、今日は来てくれてありがとう!

改めて自己紹介しておくと、僕はMatt Stauffer、TitanのCEOだよ。そして今シーズンは、毎回Laravelチームのメンバーをゲストに迎えて話をしていく予定なんだ。

で、今回はキックオフということで、Laravelチームと外の世界をつなぐ、超重要なポジションの人に来てもらった。Laravelのチームが大きくなるにつれて、表に出る人もいれば、めちゃくちゃ活躍してるのにあまり知られていない人もいるって感じになってきてるよね。だからこそ、今日はLaravelのDeveloper Relations(DevRel)ディレクターを務めているChris Sevに話を聞きたいと思ってるんだ。

じゃあChris、みんなに自己紹介と、Laravelでの役割について教えてくれる?

Chris)
やあ、みんな!僕の名前はChris Sevだよ。
実はLaravelにジョインしてちょうど1ヶ月が経ったところなんだ。
めちゃくちゃワクワクしてるよ。

でね、LaravelのDeveloper Relationsチームとマーケティングチームの両方に関わることになったんだけど、ちょうどマーケティングチームが作られ始めてるタイミングで、めっちゃ面白い時期に参加できたなって思ってるんだ。

入社して「オンボーディングってどんな感じなんだろう?」って思ってたら、いきなりLaracon EU(2週間前に行ってきたよ)、Laravel Cloudのリリース(来週!)、VS Code拡張機能の正式版、新しいスターターキット、Laravel 12、そして公式サイトのリニューアル……っていう怒涛のイベントラッシュで笑

だからもう、最高にエキサイティングなタイミングでLaravelに参加できたなって感じてるよ!

Developer Relations(DevRel) ディレクターとは

Matt)
君の肩書はDeveloper Relations(DevRel)ディレクターだけど、このポッドキャストでは「ゲストがどんな人なのか」と「その役割が何なのか」をしっかり知ってもらうのが大事だと思ってるんだ。だから、まずはDevRelの役割について話そうと思う。

DevRelって、プロジェクトを運営する人たちの考え方や文化によって、意味が結構変わるよね。それに、時代とともにどんどん変化してきてるし、業界のどの分野にいるかによっても違ってくる。例えば、開発ツールを作ってる会社のDevRelと、受託開発会社でのDevRelでは、やることも求められるものも違うはず。

そもそもDevRelって何? って思ってる人もいるかもしれないから、まずはその説明をしてもらおうかな。DevRelディレクターとしての役割って具体的に何をするの? それから、LaravelのDevRelとしてのゴールも教えてくれる?

Chris)
そうだね、DevRelって本当にいろんなやり方があるし、どこにフォーカスするかで全然違ってくると思う。でも、DevRelのコアな役割をシンプルに考えると、いくつかの軸があるんだ。

まず、DevRelの日々の仕事を具体的に見ていくと、「4つのC」に分けられると思う。
1つ目はCoding(コードを書くこと)
ランディングページを作ったり、サンプルアプリを書いたり、実際に開発者が触れるものを作っていく。
次にContent(コンテンツ)
これは記事だったり動画だったり、特に僕たちが多くの時間を使う部分だと思う。
そして Community(コミュニティ)
開発者との交流を深めたり、みんなが満足できる環境を作ることが大事だね。
ただ、それは一方通行じゃなくて、コミュニティの声をしっかりチームに届けることも含まれる。
今後いろんな新しい機能が出るから、そのフィードバックを正しく反映することがすごく重要になると思う。
最後に Consulting(コンサルティング)
例えば、社内のチームが新機能のリリース動画を作りたい時に手伝ったり、ちょっとしたサポートをすることもDevRelの仕事の一部なんだ。

で、LaravelにおけるDevRelの役割だけど、正直すごく恵まれたポジションだと思ってる。
「簡単」とは言わないけど、Laravelのコミュニティって、もう長い間ずっと強くて、しっかりした文化が築かれてるからね。
だから、僕の仕事はゼロから何かを作るというより、今まで築かれてきたものをどう継続していくかにフォーカスしてる感じかな。
これまでのLaravelの歴史を振り返って、Taylorが発信してきたことや、コミュニティが積み上げてきたものを見ながら、それをちゃんと守って、さらに盛り上げていく。それが僕の役目だと思ってるよ。

Matt)
いいね、そのスタンス!まさに「これまでずっと続いてきたものを、自分は今それを正式に仕事としてサポートする立場になっただけ」って感じだよね。

Chris)
そうだね!

Chrisのバックグラウンド

Matt)
いいね、その流れで自然に聞きたいんだけど、Chrisのバックグラウンドってどんな感じなの?たぶん、リスナーの中には「前からChrisのこと知ってるよ」って人もいると思うけど、一方でLaravelコミュニティの外から見てきた視点も持ってるよね。で、今はその視点をLaravelの内側に持ち込んでる感じだと思うんだけど、これまでLaravelとどう関わってきたのか、DevRelになるまでの経緯も含めて聞かせてくれる?

Chris)
そうだね、ちょっと自分のキャリアを振り返ると、プログラミングを始めたのは14歳のときなんだ。
誰かがDreamweaverの海賊版をくれて、それを触りながら独学で学んだのが最初(笑)
そこから、当時の流れでPHPを使い始めて、そのうちCodeIgniterにハマって、最終的にLaravelに出会ったのがLaravel 3の頃だったと思う。

それから、キャリアの中でいろんな経験を積んできたけど、今のDevRelの仕事につながる道がずっと続いてた感じがするんだ。
例えば、Laravelを使ってscotch.ioっていうブログを立ち上げて、月間400万PVくらいまで成長させたんだけど、その過程で「Laravelのスケーリング」や「本番運用での課題」についてめちゃくちゃ学んだ。
そして最終的にそのプロジェクトはDigitalOceanに買収されたんだよね。

だから、僕の中ではLaravelにはすごく恩があると思ってる。
実際、コミュニティの人たちと話してると、みんなも似たような経験をしてるんだよね。
「Laravelに出会って人生が変わった」みたいな話をLaraconで聞くと、やっぱりこのコミュニティの成長ってすごいなって思うよ。

その後はDigitalOceanに入社して、引き続き教育系の仕事をしてたんだ。
Laravel関連のチュートリアルを作って、それが月間1500万PVくらいまで伸びたんだけど、その中でLaravelのデプロイや運用についての知見がかなり深まった。
だから、今のLaravel CloudやLaravel Forgeの動きともすごく関連してると思う。

その後、SourcegraphっていうAIを活用したコーディングツールの会社で1年ほど働いたんだけど、これまでの経験を振り返ると、Laravelを個人的にも仕事としても長く触ってきたし、コミュニティともずっと関わってきたんだよね。
だから今こうしてLaravelのDevRelとして、このコミュニティを支える立場にいられるのはすごく嬉しいし、ずっとLaravelを見てきた視点を活かせるのも楽しいなって思ってるよ。

Laravelの変化とこれから

Matt)
いいね、ちょうど君も言ってたけど、今まさにLaravelの中でもめちゃくちゃ大きな瞬間が来てるって感じがするよね。
特に来週……いや、このエピソードが公開される時点では「今日」になるけど、ものすごく盛り上がってる。

面白いのは、こういう「ハイプ(話題性)」って、単なるマーケティングの仕掛けだけじゃないんだよね。
もちろん、マーケティングチームがしっかりとプロモーションをしているのは間違いない。
でも、それだけじゃなくて、個人的なワクワク感みたいなものもすごく大きいと思うんだ。

特にTaylorと話してると、それをすごく感じるんだよね。
彼にLaravel Cloudのことを聞いたとき、「これはずっとやりたかったことなんだけど、今まで実現できなかった。だから今回ついに形にできたことが本当に嬉しい」って言ってたんだ。

で、Chris、今回のローンチを控えてる今の気持ちとか、このエピソードが公開される頃には実際にローンチされてるっていう状況を考えて、どう思ってる?
それに加えて、君も僕もLaravel 3の頃からずっとこのエコシステムを見てきたわけだけど、これまでのLaravelの歴史を振り返って、大きく変わったことって何かある?

たとえば、初期のLaravelと比べて、ここ5〜10年の間でどんな変化があったと思う?
そして、これからのフェーズとして、Laravel Cloudの登場や、チームの拡大、Laravelとフロントエンドの関係の進化とか、いろんなことが大きく動き始めてると思うんだよね。
今回のリリースは、その「次のフェーズ」に入るための大きなマイルストーンになる気がしてるんだけど、Chrisはこの変化をどう感じてる?

Chris)
そうだね、DevRelとかコミュニティの話をするとき、やっぱりLaravelの進化の流れがすごく見えてくるんだよね。

Laravelがスタートしたのは2011年で、その後いろんなフェーズを経てきたよね。
たとえば、Laravel Forgeがリリースされたことで、サーバー管理の体験がすごく快適になった。
そして、次のフェーズとして、フロントエンド周りの進化が起こった。
2019年にはLivewireとInertiaがほぼ同時期に登場して、フロントエンドとLaravelの関係がまた大きく変わった。
こうやって見ると、すべてが「過去の積み重ね」の上にあるんだけど、それと同時に「新しい始まり」でもあるんだよね。

で、Taylorも何度か言ってることなんだけど、僕がプログラミングを始めた頃って、すべてがPHP中心だった。
でも、その後の流れとして、JavaScriptを中心にしたツールやライブラリがどんどん主流になってきた。
実際に、NetlifyやVercelみたいに、ワンクリックでデプロイできる環境が整ってきたから、JavaScript系の技術が広がるのはすごく自然なことだったと思う。

でも、だからこそ今、Laravelとしても新しいフェーズに入ろうとしているって感じてるんだよね。「Laravelは、開発者が本当に生産的に現実のプロダクトを作れる最良の方法を提供する」っていうのをもっと明確にしていきたい。

だから、これは「変化(shift)」というよりも、フェーズの進化なのかもしれないね。

Matt)
うん、めちゃくちゃ納得できるね。

僕らがプログラミングを始めた頃って、PHPを使うのが当たり前だったよね。
でも最近は、もう「とりあえずPHP」っていう感じじゃなくなってきた。
でも、それは別に悪いことじゃなくて、僕らはずっとLaravelが驚くほど生産性の高いエコシステムだってことを知ってるわけだから。

それに、最近のLaravelの方向性を見てると、PHPの価値を改めて再認識させる動きが強まってきてるなって感じるんだよね。
もっと多くの人に「やっぱりPHPでしょ」って思ってもらえるようになってきてるというか。
特に、「ワンクリックでデプロイできる」とか、「アイデアから実際にプロダクトをリリースするまでのスピードを圧倒的に短縮できる」っていう部分がどんどん強化されてきてる。

だからこそ、「Webアプリを作るなら、やっぱりLaravelだよね」っていう流れがまた戻ってきてるのを感じるし、それがすごく嬉しいんだよね。

PHP、特にLaravelって、どこかアンダードッグ(過小評価されがちな存在的な雰囲気があると思うんだよ。
世の中には「Laravelのすごさをまだ知らない人」が多いかもしれないけど、「俺たちはずっとここにいたし、これからも進化し続けるぞ!」みたいな熱量がある。

だから今回の流れって、ある意味Laravelの「リベンジ・アーク(復権の物語)」みたいな感じがするんだよね。「ずっとここにいたし、やっぱりLaravelが最高じゃん!」って、多くの人が再認識してくれるようなフェーズに入ってきてる。

いやぁ、面白くなってきたよね。

Chris)
そうだよね。

2025年2月24日の一斉リリースについて

Matt)
さて、来週……いや、違った(笑)。
リスナーのみんなにとっては「今日」だね!
今日は本当にたくさんのことが起こる一日になってるけど、Laravel Cloudがその中でも特に大きな話題の中心だよね。

で、ChrisにはLaravel Cloudについての感想や経験を聞きたいんだけど、それだけじゃなくて、今回の一斉リリースの全体的な流れについても聞いてみたいんだ。
たぶん、リリースのタイミングとか細かい決定をしたのは君じゃないかもしれないけど、きっとそのプロセスには関わってるよね?

今回、こんなにたくさんの新しいものを一気にリリースする戦略ってどういう考え方で決まったの?
「こんなことができるようになります!」っていうワクワクする話ももちろん聞きたいんだけど、それだけじゃなくて、「なぜ今まとめて出すのか」「この大きな流れの裏にはどんな狙いがあるのか」っていう戦略的な部分も知りたいな。
Laravelコミュニティとして、これを通じて何を実現しようとしているのか、教えてくれる?

Chris)
うん、間違いなくLaravel Cloudが今回のリリースの軸になってるよね。
これはずっと準備が進められていたもので、僕がチームに参加する前から開発が進んでたんだ。

個人的にめちゃくちゃ面白かったのが、外部の開発者の立場からLaravel Cloudを触ったときの体験なんだよね。
最初にForgeを使って、新しいプロジェクトをデプロイしてみたんだけど、これが約55分かかった。
で、そのあとLaravel Cloudのベータ版にアクセスできるようになって、試しにデプロイしてみたら……4分で終わったんだよね(笑)。

僕自身、Forgeでのデプロイは何回もやってるし、流れも完璧に理解してるつもりだったけど、それでもLaravel Cloudの圧倒的なスピードの違いを実感したよ。
だから、Laravel Cloudが「今回のリリースの核になってる」っていうのは、すごく納得できる。

で、他の機能についても話すと、InertiaのアップデートやVS Codeの拡張機能は、それぞれ独立して進んでたんだけど、「あれ?タイミング的に全部合わせられそうじゃない?」っていう流れになったんだよね。

Matt)
それはアツいね!

Chris)
そうなんだよ(笑)。
特に面白いのが、Starter Kitsのリリース。
Laravel Cloudが登場するなら、開発者が「新しいアプリを簡単にデプロイできる仕組み」も一緒に提供するのが理にかなってるよね?
だから、Cloudとセットでリリースされるのが自然だったんだ。

で、さらに面白いのが、Laravel 12のリリース日が偶然にも今日になったこと。
僕も「いつリリースされるんだろう?」って思ってたら、Slackで「あ、今日だよ」っていう感じで決まった(笑)。

そしてもう一つ大きな変化が、Laravel公式サイト(laravel.com)のリニューアルだよね。
これは完全に「Laravelの次のフェーズに入るための象徴的な動き」っていう意図があると思う。

TaylorもSlackで「Laravel史上最大の日」って言ってたんだけど、本当にそういう一日になったと思うよ。
これは単なる新機能の追加じゃなくて、「Laravelが新しいフェーズに突入した」っていう大きな節目なんだと思う。

新しいスターターキットについて

Matt)
そうだね、これまでのポッドキャストでTaylorとLaravel Cloudについて話す機会が何度かあったし、VS Codeの拡張機能についても少し話したことがある。
でも、スターターキットの話はほとんどしてこなかったと思うんだよね。

もちろん、他の場所、例えばLaraconとかでは話題になってるけど、このポッドキャストではまだちゃんと取り上げてない。
だから、まずはLaravelのスターターキットの歴史をちょっと振り返ってみようと思うんだけど、最初はオリジナルのAuthツールがあって、その後に「Jetstream vs Breeze」っていう2つの選択肢が登場したよね。

実際、前シーズンのポッドキャストでも「JetstreamとBreeze、どっちを選ぶべき?」みたいな話をしたんだけど、僕の個人的な意見としては、Breezeの方が好きなんだよね(笑)。

Chris)
僕は完全にJetstream派だけどね(笑)。

Matt)
なんだって!? これはちょっと決闘が必要かもな(笑)。

……まあ、その話は後でやるとして(笑)、まずは「新しいスターターキットって何?」ってところを説明してもらおうかな。
スターターキットのことをある程度知ってる人が「新しいスターターキットってどういうものなの?」って聞いたときに、具体的にどんな変化があるのかを教えてくれる?

Chris)
もちろん!
で、この話を始めると、たぶん「Jetstream vs Breeze」の戦いにもつながってくると思うんだけど(笑)。

結局のところ、アプリの構築方法って、人によって考え方が違うんだよね。
Breezeはシンプルに書けるし、Jetstreamはアクションを活用した柔軟な設計ができる。
でも、この2つの違いがあることで、逆に「どっちを選べばいいの?」っていう決断疲れ(decision paralysis)が起こりやすくなってるんだよね。

特に、Laravel Bootcampとか、ただlaravel newでプロジェクトを作るとき、いきなり「どれを選ぶ?」っていう5つくらいの選択肢が出てくる。
この「最初の決断を減らしたい」っていうのが、新しいスターターキットの方向性になってるんだ。

で、今回の新しいスターターキットは、今までと違ってクローンできるリポジトリになってる。
つまり、「Jetstream版」とか「Breeze版」とかいう区別がなくて、Livewire用のスターターキットは1つだけ、Inertia + React用のスターターキットは1つだけ、Inertia + Vue用のスターターキットも1つだけっていうシンプルな形になったんだ。

実際に使ってみると、まるで自分で最初から作ったかのような構成になってるんだよね。
Jetstreamみたいにパッケージをインストールして、「設定がどこにあるのかわからない…」ってなることもないし、Breezeみたいに「シンプルだけど拡張しづらい」みたいな悩みもなくなる。

このアプローチの狙いは、単に「選択肢を減らす」だけじゃなくて、「この方法なら、Laravelを初めて使う人でも迷わず進められる」っていうところにあるんだよね。

で、個人的に一番ワクワクしてるのが、この仕組みを活かしてスターターキットをもっと増やしていけることなんだ。
たとえば、今後はLaravel公式サイト(laravel.com)に「スターターキット」セクションを作って、いろんな種類のスターターが用意されるかもしれない。

たとえば…
• SaaSアプリ用のスターターキット(Sparkとは別に、Cashierとか組み込んだシンプルなやつ)
• ブログ用のスターターキット(例えば「マークダウン対応」とか「静的ページ付き」とか)

こういうのが公式で用意されて、「これをクローンすればすぐに使える!」っていう環境ができたら最高だと思うんだよね。

それに、学習面でもめちゃくちゃ役立つと思う。
新しいLaravelユーザーが「このスターターキットをクローンして、どう作られてるのか見てみよう!」っていう流れが作れれば、Laravelを学ぶハードルも一気に下がるんじゃないかな。

だから、新しいスターターキットは「ただの便利なテンプレート」っていうだけじゃなくて、「Laravelをより学びやすく、使いやすくするための新しいステップ」っていう意味があるんだよね。

Matt)
うん、わかる。だからこそ僕はBreeze派なんだよね。

スターターキットが「カスタマイズしようとすると、依存関係が複雑すぎてよくわからない」みたいになっちゃうと、後からの変更がすごく大変になると思うんだよ。
Jetstreamみたいに、フレームワーク側の「魔法的なフック」に依存する設計だと、仕組みをちゃんと理解しないまま使っちゃうことが多くなる。
でも、「すべてのファイルが自分のアプリの一部になっている」っていうスタイルなら、後々の変更もしやすいし、アーキテクチャも理解しやすくなるんだよね。

Breezeや今回の新しいスターターキット、それに過去のAuthツールもそうだけど、結局「セットアップ時に生成されるファイルはすべて自分のものになる」っていうのがすごく大事だと思う。
vendorディレクトリの奥深くに隠れてるわけじゃなくて、最初から自分のアプリのコードとして扱える。

スターターキットのメンテナンス

Matt)
でも、最初にこれを聞いたときに「この3つのリポジトリをメンテナンスするの、めちゃくちゃ大変そうじゃない?」って思ったんだよね。
フレームワークに新しい変更が入るたびに、それぞれのスターターキットのコードもアップデートしないといけないわけだけど、そこは何か自動化された仕組みがあるの?
それとも、ただひたすら人の手で更新してる感じ?

Chris)
うーん、今のところ自動でビルドするような仕組みはないと思うな。でも、そのうちそういう仕組みができる可能性はあるかもね。

現状はTony(Lea)とTaylorの2人がメンテしてるみたいだよ。

Matt)
なるほどね。でも、それがちゃんと回ってるのはすごいな。

実は、Laravelコミュニティの中でも「みんなが自分用のスターターキットを持てるべきだ」っていう意見をよく聞くんだよね。
でも、その最大の問題は「自分用のスターターキットがすぐに古くなってしまう」ってことなんだ。

前に僕が作ったツールのひとつに、「自分専用のセットアップスクリプトを定義できる仕組み」っていうのがあって、それはForkを維持するんじゃなくて、Laravelのどのバージョンでも実行できるスクリプトを保持するっていう考え方だったんだよね。

例えば、新しいLaravelプロジェクトを作るときに、
1. composer install を実行する
2. 特定のファイルをコピーする
3. 設定を適用する

みたいな処理を、常に自動で走らせる仕組みを作れば、Forkを管理しなくても、自分専用のLaravelセットアップができるんじゃないかっていうアイデア。

だから、TonyやTaylorがこの方向性についてどう考えてるのか、めちゃくちゃ気になるんだよね。
今度2人にメッセージ送ってみようかな(笑)。

僕としては、こういう「開発者が自分のスタイルを維持できるような仕組み」を作るのがすごく面白いと思ってるんだよね。
Tightenでも「新しいプロジェクトはこのコードスタイル&設定で始めたい」っていうのがあって、それを効率よく適用できる仕組みが欲しいと思ってる。

だから、スターターキットもそうだけど、「プロジェクトの最初に必ず実行するセットアップを、簡単に管理できるツール」があれば、「毎回パッケージを作る」っていう手間も減るし、もっと柔軟にLaravelプロジェクトをスタートできるようになると思うんだよね。

いやー、この話をしてたら色々アイデアが浮かんできて、めちゃくちゃワクワクしてきた。
これは本当に面白い流れになりそうだね。

Chris)
うん、そうだね。スターターキットに対して、たとえばLaravel Shiftみたいな仕組みを作るとしたら、どんな形になるんだろうね?
正直、今のところ具体的なイメージは湧かないけど、可能性はいろいろ考えられるよね。

特に、今はスターターキットが3つしかないけど、今後20種類くらいに増える未来もあるかもしれないし。
その時にどうやって管理していくのか、どうやって使いやすくするのかっていうのは、これからの課題になりそうだね。

Jetstreamのチーム管理機能

Matt)
そうだね、今後どうなるのかすごく楽しみだよ。

で、Jetstreamについてなんだけど、「なぜJetstreamを選ぶのか?」っていう話をすると、一番大きな理由は「チーム管理機能(Teams)」だよね。

Chris)
うん、それが僕がJetstream派の理由だね。

Matt)
そうなんだよ。
だから結局、僕らは「Breezeの方がシンプルで使いやすい」って思ってるから、「じゃあJetstreamのTeams機能だけBreezeに移植しよう」ってなるんだよね(笑)。

で、もし新しいスタータキットが登場することを知らなかったら、僕らはたぶんJetstreamのTeams機能だけをBreeze向けのパッケージにしてたと思うんだよね。

だから今後、Teams機能が「公式の独立パッケージ」としてリリースされるのかどうか、すごく気になってる。
もしLaravel公式のファーストパーティパッケージにならなかったとしても、誰かがサードパーティのパッケージとして作る可能性はあるよね。

でも正直、Teams機能ってめちゃくちゃよく使われるし、Jetstreamの中でも一番の目玉機能だったわけだから、これが独立して使えるようになったら、多くの人が恩恵を受けると思うんだよね。

ってことで、ちょっとこの話を頭の片隅に置いといてもらえたら嬉しいな(笑)。

Chris)
いや、めちゃくちゃわかるよ(笑)。
実は今、自分でも何か作ってるんだけど、Breezeを選んだんだよね。
理由はシンプルで、「すべてのファイルが自分のアプリの中にあるから」。

で、その上にMarcel(Pociot)のTeamworkパッケージを入れてチーム機能を追加してみたんだけど、途中で「このパッケージってどこまで深く作り込まれてるんだろう?」って思い始めて、すでに「ここ直したいな」っていう部分をいくつか見つけたんだよね(笑)。
だから今、PRを送るかどうか考えてるところ。

でも、そこからさらに「ロールとパーミッションも必要だな」ってなってくると、どんどん沼にハマっていくんだよね……。「え、俺のアプリ、一体何になっちゃうの!?」っていう(笑)。

Matt)
そうそう!
で、誰かが「全部入りのパッケージ」を作ったとしても、結局のところ、みんなが欲しい機能って微妙に違うんだよね。

それに、そういうパッケージってだんだん肥大化して、めちゃくちゃ重くなっちゃうことが多い。
「こんなの使うなら、自分で一から書いたほうがマシだったかも…」っていう気持ちになりがち(笑)。

だから、チーム機能、ロール管理、パーミッション、アカウント管理みたいな「アプリの共通機能」を、どうやったら効率よく、プロジェクトごとに最適な形で組み込めるかっていうのは、いまだに解決されてない大きな課題なんだよね。
毎回ゼロから書くのも面倒だし、かといって全部入りのパッケージを入れると過剰になっちゃうし。

Chris)
うんうん。
で、僕がたどり着いた結論は、「if文を大量に書いてViewに詰め込む」っていう方法しかないかなって(笑)。

Matt)
間違いない(笑)!

っていうか、そもそも「Viewを使う必要あるの!?」っていう話になってくるよね(笑)。
もういっそのこと、全部シングルPHPファイルにしてしまおう! それがこれからのトレンドだよ、きっと(笑)。

Chris)
だね(笑)。
ここ数週間の流れを見ても、それが未来のスタンダードになりそうだね笑

Matt)
そういえば、ちょっと話がズレるけど、この前Kent C. Doddsが「Laravelの世界でもシングルファイルコンポーネントをもっと受け入れるべき」みたいなこと言ってたのを見たんだよね。

で、それを見てふと思ったんだけど、about.php っていうシングルファイルが1ページを担当してるわけだから、これもシングルファイルコンポーネントじゃない? って(笑)。
だからもう、この流れは明らかに正しい方向に進んでるよね!

VS Code公式拡張機能

Matt)
さて、スターターキットの話はこれくらいにして、VS Codeの拡張機能についてちょっと話そうか。

VS Code拡張が発表されてから結構時間が経ったよね。
ポッドキャストを聞いてる人も、たぶん一度はこの話を耳にしてると思うんだけど、実は僕自身、最近あまりコードを書けてなくて、この夏のLaraconで発表された頃と比べて、今どれくらい進化してるのかをちゃんと追えてないんだよね。

VS Codeの拡張って、今もメインはPHPのIntelliSenseや補完機能が中心?
それとも、他にも新しい機能が追加されてる?

Chris)
そうだね……正直、「大きな新機能はない」と言い切るのも違うと思うんだけど、僕自身も完全には追えてないんだよね(笑)。
ごめん、Joe Tannenbaum!(拡張機能を開発してる人)

でも、時々Slackの専用チャンネルを覗いてるんだけど、めちゃくちゃ細かい部分まで改善されてるのを感じるよ。
たとえば、「WindowsのWSL環境での動作」とか、かなりニッチなケースまで対応してるんだよね。

Matt)
つまり、「とりあえず80%は動く状態になったから、今は残りの20%を仕上げてる段階」ってことだよね?

Chris)
まさにそれ!
今はバグ修正、メモリリークの解消、細かい調整がメインのフェーズになってる感じかな。
でも、少なくとも僕が試した限りでは、ベータ版の時点でかなり快適に動いてたよ!

新Laravel公式サイト

Matt)
それはいいね!
じゃあ、VS Codeの話はここまでにして、次はLaravelの新しい公式サイトについて話そうか。

新しいデザインが発表されるって話は聞いてたけど、具体的にサイトのリニューアルがLaravel全体の方向性にどう影響してるのかが気になってるんだよね。

もちろん、「見た目が変わっただけ」っていう可能性もあるし、「実はLaravelのアイデンティティや考え方にも変化がある」みたいなこともありえると思うんだけど……。

今のLaravelが目指してる方向が、新しいサイトのデザインに反映されてたりする?
それとも、単純に「デザインを刷新しました!」ってだけ?

Chris)
そうだね、新しいデザイン自体が**Laravelの「コンポーザビリティ(組み合わせの柔軟性)」**を意識したものになってると思うんだよね。

David(ヘッドデザイナー)が以前、新しいサイトの一部を見せてくれたとき、「Laravelはこんなふうに使えるよ!」っていうセクションがあったんだけど、そこにはReact、Inertia、Livewireのロゴが並んでいて、「ビルド、デプロイ、モニタリング」といった各フェーズごとに自分の好きなツールを選べるっていう考え方が示されてたんだよね。

で、その考え方を**視覚的に表現するために、いろんな色を使ったり、「立体的なキューブっぽいデザイン」**になってるんだと思う。

……ただ、このデザインをどう呼べばいいのかは、正直よくわかってないんだけどね(笑)。 ごめん、David(笑)。

でもね、このデザインが伝えようとしてることはめちゃくちゃ明確だと思うんだよね。

よく「Laravelって巨大なモノリシックフレームワークだから、全部を受け入れなきゃいけない」って思ってる人がいるけど、実際はそうじゃない。Laravelは「すべてが組み合わせ可能」な設計になってる。

例えば、
• メールの送信にはResendを使うこともできるし、他のサービスを選ぶこともできる
• フロントエンドにはLivewireでもInertiaでもReactでもVueでもOK

っていう感じで、各機能を自分に合った形で選んで組み合わせることができる。

だから、新しいデザインは「Laravelは一枚岩のフレームワークじゃなくて、自由にカスタマイズできるものなんだよ!」っていうのを表現しようとしてるんだと思う。

あともうひとつ大事なのが、TaylorがLaraconで言ってた「We must ship(とにかくリリースしよう)」っていうLaravelの開発哲学をより前面に出すこと。

だから、今回のサイトリニューアルは「Laravelが何かを根本的に変えた」っていうよりも、「Laravelがずっと大事にしてきた考え方を、もっとわかりやすく伝えるようにした」っていうのがポイントかな。

Matt)
そうそう、つまり「Laravelの方向性がガラッと変わるわけじゃなくて、ずっと大事にしてきたことを改めて明確に打ち出してる」ってことだよね?

もし僕の理解が間違ってたら教えてほしいんだけど、要するに「今までLaravelが得意としてきたことを、もっと分かりやすく伝える」っていうことなのかな?

Chris)
うん、その通りだと思うよ。

Taylorが一貫して大事にしてきたのは「エクセレンス(卓越性)」なんだよね。
それはフレームワーク自体にも表れてるし、今はそれをLaravelの周辺ツールやエコシステム全体に広げていく段階に入ってる感じ。

今までと違うのは、Laravelのチームが大きくなって、それぞれの分野に専任の人がついているってこと。だから、今まで以上に「細かい部分にまでこだわれる環境」が整ってきたんだよね。

例えば、Laravel Cloudのランディングページもそう。David(デザイナー)がめちゃくちゃいい仕事をしてくれて、Laravel Cloudとしての「独自のアイデンティティ」を確立できるようなデザインになってる。

あとは、スターターキットのランディングページもかなりカッコいい仕上がりになってるし、他にもいくつか新しいページが公開されてるよ。

Matt)
めっちゃ羨ましい!
リスナーのみんなはすでに見られるのに、僕はまだ見てないんだよね(笑)。

Laravel開発者が今日まず試すべきこと

Matt)

で、ここからちょっとリスナーの話に移りたいんだけど、僕がこのポッドキャストを気に入ってる理由のひとつに、「常にTwitterやBlueSkyをチェックしてるような開発者だけじゃなくて、もっと幅広い人が聞いてくれてる」っていうのがあるんだよね。

僕らは「この発表はみんな知ってるでしょ?」って思いがちだけど、実際にはLaravelコミュニティの大半の人は、Twitterの最新情報を追ってるわけじゃないし、すべてのリリースをリアルタイムでチェックしてるわけじゃない。

たとえば、「6ヶ月前に出た機能が今になって話題になってる」っていうことも普通にあるし、ポッドキャストを聞いてくれてる人の中には、僕のことすら知らない人もいる(笑)。
「ポッドキャスト聞いてます!」って言われて、「あ、僕のこと知ってくれたんですね!」って返すと、「え?あなたが誰かは知らないけど、ポッドキャストは聞いてるよ」みたいなことを言われたりする(笑)。

だからこそ、今日の話題を知らないリスナーもいると思うんだよね。

で、Chris、そういう「常にオンラインで最新情報を追ってるわけじゃないLaravel開発者」が今日の発表を見たときに、「まず最初に試してみるべきもの」って何だと思う?

Chris)
うんうん、もし*最新情報を追う余裕はないけど、とにかく開発&リリースを優先してる」っていう人なら、まずはLaravel Cloudを試してみるのが一番いいと思うよ。

もちろんスターターキットもすごく面白いんだけど、もし「すでに開発中のプロジェクトがあって、新しく作る予定はない」っていう場合は、今動いてるプロジェクトをCloudに持っていって、どれくらい簡単にデプロイできるのか試してみるのがオススメ。

実際、僕もいくつかのプロジェクトをCloudに持っていって、いろいろ試してみたんだけど、特にデータベースやキャッシュの設定の手軽さが印象的だったね。

Laravel Vaporを使ったことがある人ならわかると思うけど、Cloudも環境変数の自動設定をしてくれるんだ。
例えば、「データベースを追加」ってボタンを押すだけで、アプリの環境変数に自動的に接続情報が反映される。
こういう細かい部分が、「あ、これいいな」って思わせてくれるポイントなんだよね。

で、これはちょっと個人的な話なんだけど、2019年から2022年くらいの間、僕は一時的にJavaScriptの世界に飛び込んでたんだ。
そこでは、超高速なデプロイ体験とか、モダンなホスティング環境をいろいろ見てきた。
でも、今Laravel Cloudを見てると、「あ、PHPの世界もついにこういうフェーズに入ったんだな」って感じるんだよね。

だから、今月試せるものが1つしかないなら、Laravel Cloudを触ってみるべきだと思う。
これが、Laravelのデプロイの未来がどんなものかを知る最高の機会だと思うよ。

Matt)
うん、それはすごくいいポイントだね!

僕がベータ版にアクセスできたとき、最初にやったことは、「直近でForgeにデプロイしたプロジェクトをCloudで動かしてみる」だったんだよね。

で、実際に試してみると、「これからは全てのプロジェクトでCloudを使おう!」とはならなかったけど、「この使い方ならCloudがベストだな」っていうのが見えてきたんだよ。

だから、リスナーのみんなも、もし最近デプロイしたプロジェクトがあるなら、Cloudにちょっと「試しに投げてみる」のがオススメ。
べつにすぐに移行しなくてもいいんだけど、Cloudの使い心地を体験しておくだけで、「このプロジェクトならCloudが合いそう!」っていう感覚が掴めると思う。

実際、「CloudとForgeとVapor、どれを使えばいい?」っていう質問は本当に多いんだよね。
でも、これは実際に使ってみないと正解が見えてこない。

結局のところ、どんなアプリでもどこかにはデプロイしなきゃいけないわけだから、今回のCloudリリースは、その選択肢を増やす大きなチャンスだと思うよ。

だから、まずは「試してみること」。そうすれば、将来的に「このプロジェクトはCloudが合うのか?」っていう判断がもっとクリアになると思う!

Chris)
そうそう、それめちゃくちゃ大事なポイントだと思うんだよね。

もし常に最新の情報を追ってるわけじゃない人だったら、「CloudがLaravelの未来なの?」「Forgeはなくなっちゃうの?」って疑問に思う人もいるかもしれないけど、それは違うってはっきり言えるよ。

ForgeとCloudはそれぞれ別の役割があるし、どっちもLaravelのエコシステムにとって重要な選択肢なんだよね。
Forgeは、自分でサーバー管理をカスタマイズしたい人向けで、Cloudは、フルマネージドなホスティング環境が欲しい人向けなんだ

だから、どっちが優れてるかじゃなくて、どっちが自分のプロジェクトに合ってるかって話になるんだよね。

Matt)
うん、それはすごく納得できる。
実は録音前にも話したけど、僕はクライアントのプロジェクトは基本的に全部Cloudに移行するつもりなんだよね。

もちろん、TitanのすべてのプロジェクトをCloudに乗せるとは限らないけど、クライアント案件の場合はCloudの方が明らかに管理が楽になる。

特にクライアントの中には「社内にエンジニアチームがいない」っていうケースも多いから、そういう場合はCloudに移行すれば、こっちがいちいちForgeのメンテナンスを請け負わなくて済むんだよね。

逆に、社内チームを持ってるクライアントなら、Cloudを紹介してLaravelチームと直接やりとりしてもらうのもアリかなって思ってる。そのほうが、僕たちが関わるときもスムーズになるからね。

結局のところ、「自分が何を求めているのか」をちゃんと理解すれば、Cloudが向いてるのか、Forgeが向いてるのかがすぐに分かると思うんだよね。

MaruMaru

2025/01/30

Justin Jackson と Brian Casel が主催している創業者たちに話を聞くPodcast

Livewire, Fluxの作者であるCaleb Porzioと
Laravelの作者であるTaylor Otwellを招いて行われた回

Justin Jackson x Brian Casel xCaleb Porzio x Taylor Otwell

The business of open source

https://www.youtube.com/watch?v=je8zGXgB2Uk&t=3406s

Intro

Justin)
パネルへようこそ!
このパネルでは、賢い創業者たちが、より良いプロダクトやより良い人生を築く現実について話し合います。
僕は司会者のJustin Jacksonです。transistor.fmの共同創業者です。

Brian)
Brian Castleです。
僕はinstrumental productを作ってます。
さて、今日のゲストは誰でしょう?

Justin)
そうそう、今週はこちらの方々だ。

Caleb)
Caleb Porzioです。
長い間Laravelの開発者をやっていて、LivewireやAlpine.js、FluxみたいなJavaScriptのプロダクトを作ってるんだ。

Taylor)
Taylor Otwellです。
Laravelの創始者で、2011年にLaravelを作ったんだ。
今も会社の代表をしてるよ。

Web開発者という職業

Justin)
さて、僕の子どもたちは君たちのよりちょっと年上で、高校生が2人と、大学生が2人いるんだけどさ
うちの子どもたち、将来何をやるべきか考え始めてるんだよね。
そこで質問なんだけど、今ってWeb開発ってまだいいキャリアだと思う?
子どもたちはWeb開発を職業として考えるべきかな?

みんなにそれを勧める?もし勧めるなら、どういう道を選ぶべき?
Caleb、以前このテーマについて話してたよね。
そのときの考え、教えてくれる?

Caleb)
あぁ、今の僕の考えを正直に言うとね、3年くらい前は「Web開発やれよ、絶対いいぞ!」って感じだったんだけど、今は違うんだ。
「いや、やめとけ」って思う。
過去にはたくさんの人にWeb開発を進めてきて、うまくいったことも多かったんだけどさ、最近の人たちはあんまり上手くいってない。

例えば僕の兄弟なんだけど、HVAC(空調設備系)から転職して、最初は仕事をゲットしたんだけど、引っ越したら失業しちゃってね…。

で、その後も新しい仕事が見つからなくてさ。
デンバーから引っ越すのも許されなくて、どこも彼を雇わないんだよね。
今って、ミドルレベル以下の人材を採用しない傾向があるみたいなんだよ。

正直、新人に対しては「手を出さない方がいい」って思っちゃう。
僕はこの仕事大好きだよ。

Justin)
なるほど新人に対してはね。
例えば19歳の子にもそう言う?

Caleb)
うん、不確実すぎるよ。

昔みたいに簡単に稼げる時代じゃなくなってるし、仕事を手に入れるのも難しくなってる。
数年後には状況が変わるかもしれないけど、今はあんまりお勧めできないな。

Taylor)
その理由なんだけど、Web開発のハードルがめちゃくちゃ高くなってるんだよね。単純に難しい。
昔はプログラミングに触れて育ってた人たちにはチャンスがあったけど、今の若い子たちにはその機会が少ないのかも。
僕自身、10歳とか11歳の頃から最初のウェブサイトを作り始めてたんだけど、今はウェブサイトを作ること自体がすごく複雑になってる。

最近の企業って、入社できる人に対して求めるスキルのハードルが高くなってる気がする。
もっと高度なスキルを持ってないと仕事すら見つからない感じだよね。

Caleb)
でも、振り返ってみるとここ10年くらいの間ってちょっとおかしかった感じがする。
知識ゼロの人でもちゃんと給料もらえてた時期があったしさ。
正直、今の状況の方が普通なのかもって思うよ。

例えばHVAC(空調設備)とか他の職業を見てみて。
60,000ドルくらい稼いでる人たちって、自分の仕事がすごく得意だし、4年間くらいの見習い期間を経てそのスキルを磨いてきてるんだよ。
それに比べると、Reactのブートキャンプで2ヶ月だけ学んで80,000ドル稼ぐって、何かおかしいと思わない?
僕はちょっとそれは間違ってる気がしてならないんだ。

Taylor)
確かに。

Brian)
ただ、これから何か大きなトレンドが来るんじゃないかと思う。
AIとかも絡んで、いろんな技術がもっとアクセスしやすくなるだろうし。

AIとかの分野で、技術を学ぶのがもっと簡単になって、そういうスキルを持つことが当たり前になっていく気がする。
技術を身につけるハードルがどんどん下がるだろうしね。

ここでちょっとJustinに聞きたいんだけど、Web開発でのキャリアってどういう意味だと思う?
「大手テック企業に入ること」なのか、それとも「どこかのソフトウェアエンジニアとして働くこと」なのか?

僕の考えでは、これからはあらゆる業界で技術を使った仕事が必要になるんじゃないかと思ってるんだ。
今は「テック業界で働くか、それ以外か」みたいな区分けだけど、それがもっと広がる気がする。僕の子供たちが8歳と10歳なんだけど、彼らが社会に出る頃には、どんな職業もテクノロジーとつながってるんじゃないかな。
これからどんな業界でも何らかの形で「技術的な仕事」になると思うんだ。

Justin)
そうだね。でも今の経済状況を見てると混乱するよね。
例えばStripeとかが大量解雇を発表したりしてて。

なんか冗談みたいだけど、「Laravelだけが採用してる」って話を聞いたんだよね。
Taylor、それって本当?笑
Laravelが採用してるのって、他の会社が採用してないから目立ってるだけなのかな?

Taylor)
まあ、僕たちは確かに採用してるからその部分は事実だね笑
ただ、Laravelってずっと自力でやる小規模運営の会社だったから、スタッフはすごく少なかったんだ。

正直、これまでの僕たちのスタッフ数はおかしかったんだよね。
顧客数とか売上に対して、スタッフ数が少なすぎた。
これってある意味、自分勝手な理由が大きいんだよ。人を雇えば雇うほど、僕の利益が減るからさ。

だから、適切な人数を雇うインセンティブが働かなくて、ビジネスにしっかり投資するって感じにはならなかったんだ。
でも、今は採用をしてるよ。
ただ、たくさん雇ってるように見えるかもしれないけど、まだ結構慎重にやってるんだ。

僕たちが採用してるのは、Laravelのフルスタックコミュニティにいる人たちが多いんだよね。
これって、僕たちの「素早く動いて、素早く出荷する」ってカルチャーを守るためなんだ。
人を増やすほど、そのスピード感を保つのが難しくなるからさ。
だから、慎重に進めてるけど、他の会社も似たような採用のやり方で苦労してるんじゃないかな。

たくさん採用した後で、軌道修正してる会社も多いよね。

Justin)
そうだね、これが短期的な調整なのかどうかは分からないけど、過去にもこういう波があったよ。
Ruby on Railsのブームのときなんか、Railsのブートキャンプがたくさんあって、みんな学びに行ってた。

それに加えて、オバマ大統領が「みんなコーディングを学ぼう」って言ったから、一斉に動いたんだよね。
でも、結局は仕事の数には限りがあるんだよ。
僕の考えでは、良い仕事とか、良い雇用主ってそもそも多くないんだと思う。

それでも、情熱と才能がある人たちには、ちゃんとした企業で働く場所はいつだってあると思うよ。
しっかりとした基盤を持つ企業は、これからも間違いなく採用を続けるだろうね。

僕にとって一番よく分からないのは、大企業で何が起きてるかなんだ。
なんか波があるように見えるよね。
例えば、COVIDの間にみんなこぞって採用して、その後「あ、こんなに人いらなかったわ」ってなってる。

Brian)
僕自身、大企業とか特に大手テック企業がどんな感じか全然分からないんだよね。
僕のキャリアで企業で働いてたのって、15~20年前くらいで、そのときのチームなんて20人以下だったから。

今のStripeとか、エンジニアが何千人もいる企業を想像すると、すごく不思議に思うんだよね。
こんなにたくさんの人をどんなプロジェクトに使ってるんだろうって。
そこまで人数が必要なのかな、って。
ここ10年くらいは結構なバブルが続いてた気がするけど、ここ数年でだいぶ正常な会社規模に戻りつつあるよね。

Taylor)
大企業で何が起こってるのかについて少しいろんな人に聞いて予想できることがあるんだ。
例えば、創業者自身が採用をやってるわけじゃなくて、中間管理職の層が入ってきて、セールスマネージャーが「あと10人くらいのセールスチームが必要です!」って言い出す。
それを何回か繰り返すと、あっという間に数百人、数千人の新しい人を雇うことになる。
そうなるともうコントロール不能だよね。

SNSの技術トレンドと実情の違い

Justin)
それで、みんなまだWeb開発やその業界全般に期待してる?
この分野はまだ「熱い」と思ってる?

ちょっと奇妙でCalebも疑問って言ってたことでTaylorに聞いてみたいことがあるんだよね。
「なんでLaravelが成長してるのか」ってところ。
確かCaleb「正直、自分ではあんまり納得いってない」って言ってたと思うんだけど。
どうして納得いかないの?その理由って何?

Caleb)
パイプラインの問題だと思うんだ。
僕がWeb開発に入った頃って、PHPがReactみたいな存在だったんだよね。
その頃はCodeIgniterとかがあったけど、すぐに何を使うべきかって答えが明確になった感じだった。

みんなGoogleとかStack Overflowで調べて、「何を使うべきか」って調べるよね。
その答えとしてLaravelがあった。
でも今って、その仕組みが全然違う感じがしてさ。

当時のことをすごく覚えてるんだ。例えばカメラを買うときみたいにブランドを比較して、「Laravelを使え!Laravel最高!」みたいな感じで決めたんだよね。
Web Artisanページ(Laravelのホームページ)とかでLaravelを使い始めた。
でも今って、その流れとは全然違うよね。

だから、「人々はどこから来てるんだ?」って不思議に思うんだよ。
多分WordPressとかSymfonyとかの利用者からの流入があるんだろうけど、それでもなんかミステリアスなんだよね。

でも、LivewireもLaravelも成長を続けてて、正直すごいよね。
ただ、その理由が分からなくてさ。
Taylor、君の方がよく知ってるんじゃない?

Taylor)
同じようなことを思うんだけど、クラウドの開発を始めた頃のことを覚えてるんだ。
例えば、Forgeの顧客が今2万人くらいいて、「これ以上売れる市場はないんじゃないか」って思ってたんだよね。
でも驚いたのは、実はSNSに出てこないPHPやLaravelのユーザーが世界中にたくさんいるってこと。

彼らは何も言わないし、Forgeすら使ってない。
自社で作ったKubernetesとかを使ってるケースもある。
これを見ると、まだまだ世界には大量のPHPがあって、それをLaravelにモダン化している人たちがいるんだ。

実際、古いPHPプロジェクトを最新化したいってニーズが結構多い。
その場合、Laravelが彼らにとって一番合理的な選択肢になってると思う。

正直、Web開発のほとんど、たぶん90%以上はソーシャルメディアの外で行われてるんだよね。

ソーシャルメディアで見える情報って、大企業の場合でも、実際とは全然違うことが多いよね。
例えばCloudに興味を持ってる企業から連絡が来ても、彼らがLaravelを使ってるなんて一切知らなかったんだ。
Twitterにも全く出てこないし、SNSには何も痕跡がない感じ。

Caleb)
それって面白いよね。
で、SNSとかTwitterで目にするState of Surveyとかの技術の人気)ってどうも実態を反映してないんだよね。
あれってTwitterとかのSNSで集計してるから。
HTMXなんかも一時期めちゃくちゃ話題になったけど、あれも結局はインフルエンサーが盛り上げただけで、本当のところ誰が使ってるのか分からない。

Taylor)
この話題で面白かったのが、MicrosoftのAzureチームと電話した時の話なんだ。
彼らも混乱してて、「JavaScriptやPHPについてどう思う?」って同じ質問をしてきた。
彼らの見解では、JavaScriptやReactがブートキャンプとかでめちゃくちゃ人気だけど、実際にはそれで大きなものを作ってる例をあまり見ないって話してたんだ。

Justin)
誰も作ってないよね。Crazyだ笑

Taylor)
そう。Azureのチームですら混乱していたくらいなんだから笑

Caleb)
とても奇妙だね笑
結局のところ、こういう疑問が出るのは当然だと思うんだ。
「OK。これらが人気の技術だとしたら、実際にどうやってそれで何かを作るんだ?」ってね。

Brian)
そうだよね。僕が考えているのは、もっと「作る人」側の視点から見た時のことなんだ。
僕たちのインターネットの隅っこのような世界、例えばSaaSやスタートアップの人たちの視点だよね。
それって、全世界的なテックシーンの中では本当に小さな一部分に過ぎないんだけど、僕にとってはすごく魅力的なんだ。
特にLaravelやRuby on Railsみたいなスタックに強く惹かれる理由もそこにある。

Ruby on RailsとかLaravelって、エコシステムがすごくよくできているのに、Reactとか他の技術ほど人気がないのは意外だよね。
アプリケーションやプロダクトを作るために必要なものは全部揃っているのに、あまり注目されてない気がする。

このエコシステムはすごくよく連携していて、プロダクトを作って市場に出すのも早いし簡単なんだ。
それなのに、今の最先端ツールと比較すると、あまり目立っていないのが本当に不思議だよね。

特にAIを使ったツールが広がっている中で、非エンジニアの人たちがどうやって「作り手」になる方法を学ぶのか、今すごく興味があるんだ。
それで、いろんなツールを見ているんだけど、BoltとかLovableみたいなAIビルダー系のツールって、PHPやLaravel、Ruby on Railsを選択肢に入れてないんだよね。
それってどういうこと?不思議で仕方ないよ。

Laravel, Railsの顧客層

Justin)
で、ここで3人に聞きたいことがあるんだけど、BrianはRailsコンポーネントを作ってるよね?
CalebはLivewireやFlux、Alpineを持っていて、TaylorはLaravelとそのエコシステムがある。
それぞれの顧客のうち、大企業と個人や小規模な会社の割合ってどのくらいなの?
そのビジネスを動かしている要因を知りたいんだ。
例えばTailwindって、超大手の会社でも使われてる。
だから、その勢いが大企業によって推進されてるのか、それとも小規模なチームによるものなのか、複合なのか。
Caleb、Fluxの顧客は誰なのかな?

Caleb)
2つの物事があると思う。
まず、小規模から中規模のビジネスが中心だと思う。
僕の感覚ではLaravelやRailsを使う人たちは、例えばカイロプラクター(整体師みたいな職業)みたいな人が多い印象がある笑。
彼らは少しだけコーディングを学んで、自分専用のツールや仕組みを作って他の人に売って、それがビジネスになった。
彼ら全員がカイロプラクター(整体師)だったんだ。

Justin)
なるほどね笑
これってRailsよりもLaravelでよりよく見られるケースだと思うけど、Railsにも当てはまる部分はあるよね。
Laracon行ってもそう感じる?

Caleb)
全員がカイロプラクター(整体師)だ笑

ただ、同時にこうも思うんだよね。
結局のところ、個々の開発者がこういう技術選択をしてるんだと思う。
たとえそれが大企業であっても、誰か個人がツールを選ぶケースが多い気がする。
だからこそ、SNSの情報って重要だと思うんだ。
Googleで調べたときに何が出てくるかによって、多くの人が「これが良いツールだ」と思い込むからね。

Brian)
僕自身はまだ顧客調査の初期段階で、Railsのコンポーネントを求める顧客についても調べている最中だから、Calebの方がデータが多いと思うけど、

Caleb)
いやどうかな、君の方が知ってる気がする笑

Brian)
僕の見解では大体50:50かな。
半分は個人の開発者とか起業家で、いわゆる「サイドビジネス」をしている人たち。
例えば、本業の仕事があるけど、趣味や副業として何かを作ろうとしている人たちだね。
彼らはTwitterとかで見つけた面白そうなツールを使って何かを作ろうとしている。

残りの半分は、スモール~ミディアムサイズの企業で働く開発者たちだと思う。
そのチーム内では、他のメンバーは使う技術スタックについてあまり気にしてないけど、その開発者がプロジェクトに導入するツールを選んでいるケースが多いんだよね。

それでさ、Fluxのユーザーにとってもこれって当てはまると思うんだけど、
バックエンド開発者がtailwindとかコンポーネントを使って結構なんでも引き受けちゃう感じなんだ。
それがすごくいいなと思うんだ。
デザインとかUIのスキルがなくても、フロントエンドでイライラしちゃう人たちがいて、そういう人たちが簡単にモノを作れるショートカットを探している、そんな状況ってさ。

Justin)
で、テイラー、そっちはどう?
Forgeでの顧客層とか、Cloudで目指しているところとか、どんな感じ?

Taylor)
僕たちもいくつかデータを取ったことがあるんだけど、顧客層ってすごく多様なんだよね。
趣味でやってる人たちもいれば、ソロの人とかフリーランサーも多いし、TightenやVehiklみたいなLaravelの世界では有名な開発会社もいたりする。

こういった開発会社がLaravelを大規模な組織に導入してくれることも結構あったりしてね。
最近だと、ミッドマーケットやエンタープライズに近いタイプの顧客も見かけるようになってきたんだ。

たとえば、Laravel Cloudの初期アクセスでは、ピザチェーンみたいな企業が入っていたり、ElasticとかPaddleみたいな会社も入っているんだよね。
それに加えて、今NHSと一緒に大規模なシステムを作っている会社もあるんだ。

でも、こういった事例ってSNSにはほとんど出てこないから、実際どれくらい広がっているのか正確にはわからないんだよ。
Cloudプラットフォームを正式に公開して、顧客がこっちに問い合わせてくるようになれば、もっと具体的な状況が見えてくるんじゃないかなとは思っているけどね。

それに、まだまだレガシーPHPがたくさん残っていて、どうなっていくのか見てみたいよね。
多分それが今後Laravelのアプリになっていく一種のパイプラインだと思うし。

君が最初に聞いた「ウェブ開発に入るべきかどうか」って質問に戻るけど、僕だったら「いや、よっぽど好きじゃない限りやらない方がいい」って答えると思うよ。
Railsの波の後の仕事について言うと、最近は、Railsの波と比べてもBootstrap系のスタートアップがあまり見られなくなった感じがするんだよね。

Laravelの世界でも同じようなことが起きていると思うけど、これはインターネットの統合の一部だと思うんだ。
昔を振り返ると、最初にLaravelを作った頃、人々は自分たちでSNSやフォーラムを作っていたんだよね。
でも、今となっては、そういう種類のサイトを作る人たちはほとんどいなくなった。

Caleb)
唯一残っているのは、Nuno Maduroみたいな人だね。
彼は「自分だけでSNSを作るんだ!」って感じで挑戦しているよね笑

Taylor)
それにしても、もっと大きな顧客がどれくらいいるのかわかっていくと思うよ。
これまでのところ、僕らの顧客層は歴史的に見ても中小規模の企業が多くて、エンタープライズ向けは少なかったんだ。

Justin)
ただ、僕にはまだまだ新しいSaaS企業やブートストラップ型SaaS企業にはたくさんのチャンスがあるように思えるんだ。
みんな、RailsをベースにしたSaaSを作ろうとして、難しいことに気づいてしまったんだろうね。
その結果、多くの人が疲れてしまったのかもしれない。もちろん簡単だとは言わないけどね。

それでも、たとえば、僕の子供たちは今大学に通っているんだけど、彼らが卒業して就職して、上司に「カレンダー予約ツールを見つけてきて」と頼まれたら、たぶん「え、そんなの聞いたことないけど?」ってなるよね。
で、ちょっと調べてみたら、たぶん新しいサービスであるSavvyCalを見つけて、それを使うことになるんだと思う。

他にも既存の古いカテゴリーはいくつかあると思ってて、なんで誰もそういうニッチで競合を作ろうとしないのか不思議なんだよね。
だって、そういうのSaaSって古くて使いづらいし、「新しい視点でこれを作り直してよ」って思うようなものが多いんだよね。

Taylor)
これはちょっと刺激的な話なんだけど、Z世代の開発者たちって、そういうものを作るスキルをまだ持ってないことが多い気がするんだ。

一同)
おー笑

Taylor)
なんでかっていうと、ここ5〜10年、ウェブ開発ってフロントエンドにすごく注力してきたからだと思う。
フロントエンドに関しては、彼らの方が僕よりずっと上手なんだけど、でもデータベースとか、キューとかキャッシュとか、バックエンドで必要な技術にはあまり詳しくないんだよね。
そういうのを全部組み合わせて、SaaSを作るスキルが不足しているんじゃないかなって。

実はこのことをしばらく考えていて、Rails Worldがトロントで開催された時に行ってきたんだ。
そこで、すごく大きなRailsベースのスタートアップをやってる人に会ったんだよね。
彼は僕より若くて20代で、「ちょっとずっと気になっていることで、もし何か意見を持ってたら聞きたいんだけど、君の世代の人たちって、完全なアプリを作れるスキルを持ってると思う?」って聞いてみたら、彼は「いや、全然そんなことない。みんな迷子になってるよ」って言うんだよ。
「フロントエンドの世界で足止めされていて、RailsとかLaravelみたいなものが必要なんだけど、まだそこまで行けてないんだ」とも言ってた。
そして、「自分だけで何かをリリースできるかっていうところまでギャップがある」と言ってた。

ビジネスの始まり

Brian)
これってReactがどれだけ人気でも、LaravelとかRailsみたいなエコシステムがないことの問題に繋がると思うんだよね。
LaravelやRailsだと、バッテリー全部揃ってるみたいに、ツールが一体化してるんだけど、Reactではそうじゃない。

それで、CalebやTaylorに聞いてみたいんだけど、君たちのキャリアの初期に戻ってみると、今にどう繋がってると思う?
例えば、Adam Wathanみたいに、素晴らしい技術を作って、オープンソースの世界で新しいものを生み出した人たちのように。
君たちは、何か素晴らしいものを作りたいというインスピレーションを持っていて、それが何かユニークなものを作ることに繋がっていると思うんだ。
そして、ある課題を解決するビジョンがあって、それが素晴らしいビジネスに発展した。

でも一方で、BootstrapのSaaSの世界やスタートアップの世界では、最初からビジネス目線でやってくる人たちもたくさんいるよね。
Justinが言ってたみたいに、「なんで次のカレンダーアプリを作るような機会をもっとみんな探さないんだろう」っていう話もそう。
間違ってたら訂正してほしいんだけど、Calebみたいな人たちは最初はクリエイティブなインスピレーションから始まって、それがだんだんビジネスになっていったような感じがするんだ。
例えば、Adamがこの前話してたんだけど、彼は本当に『生粋のビルダー』なんだよね。
ビジネスの側面にはあんまり興味がないみたいなんだけど、結果的に素晴らしいビジネスを持ってるっていう。
それがすごく面白くてさ。
君たちがこういうことについてどう考えてるのか、そして今どこに辿り着いたのか、どこから来たのかって話を聞いてみたいんだ。

Caleb)
Taylorの話は大きなストーリーだけど、僕の話はもっと小さいものかな。
確かに僕はビルダーでただいろんなものをいじったり、読んだり、公開したりしてたら、たまたま人気が出て、また別のものが人気になった、みたいな感じだったんだ。
お金の話になると、僕はただ運が良かっただけだと思う。
Nathan BarryがAdamに『コースの価格設定』を教えて、それをAdamが僕に教えてくれて、『ああ、こうやってお金を稼げるんだ』って分かったんだ。
それでAdamからJustinに繋がって、なんというか、そういう世界に足を踏み入れた感じ笑

Justin)

Caleb)
でもJustinの洞察って、本当に僕の中に残ってるんだよね。
他の人と話してる時にも、Justinの影響を受けて考えることがある。
たとえば、成功のチャンスを市場の大きさがどれだけ左右するのかっていう視点とかね。
アイデアが素晴らしいかどうかとか、誰もそれをやっていないからやる、みたいなことじゃなくて、
市場が全てを決めるっていうのが、僕には新しい発想だったんだ。
それまでそんな風に考えたことなかったから。

でも、僕みたいな人たちは、ただものを作って、あとは後から色々ついてくる、みたいな感じだったんだよね。
それが僕の経験だよ。

Justin)
Taylor、Calebの経験ってTaylorの経験と似てるところがあると思うんだ。
君も若い頃に何かに興奮して、それをシェアし始めたんだよね。
そこにはいつもいくつかのラッキーな出来事があって、でも大きく見るとそんなに違わないと思うんだ。

Caleb)
うんたぶん似てると思うよ。
まあ、僕のは『小さな赤ちゃん』みたいな規模の違いはあるけどね笑

Taylor)
Laravelを最初に作った時、誰かが使うかどうかなんて全く分からなかったし、正直そんなこと気にしてなかったんだ。
ただ自分のために何かを作って、スタートアップのアイデアを早く形にしたかっただけだったんだよね。

人々が時間とともにそれを気に入ってくれて、それに合った形でビジネスを作り上げていったんだ。
でも、それらのビジネスでさえ、自分の「痒いところをかく」ため、つまり自分の問題を解決することが主な目的だったんだよね。
本当に誰かがそれを使ってくれるのか、どれくらい人気になるのかなんて全然分からなかった。

それでも、Justinがよく言うように、例えば「ミート&ポテト」(※実用的で基本的な)ウェブアプリ、例えば採用アプリや請求書アプリみたいなものを選んで、それを新しくて「セクシーな」バージョンにするっていうのは、成功するビジネスのかなり確立された方法だと思う。

Brian)
それは確かだと思うんだけど、今年すごく考えているのは、ここ数年の間に「チャンスを探す」ことに気を取られすぎて、本当に自分が情熱を注げるもの、自分自身の「痒いところをかく」ようなものから離れてしまっていたんじゃないかということ。

こういう時、選ぶビジネスやキャリアの方向性を考える時に、自分自身の「痒いところをかく」という感覚にはすごく価値があると思うんだよね。
スタートアップやビジネスの世界では、こういう話ってあまりされないけどね。

Taylor)
そうだね。Adamと僕はよくこの話をしていたんだ。
「ビジネスのアイデアを探す旅」って、最悪な場所に自分を追い込むようなものだよねって。

Brian)
そうだよね。
ただ、自分が作ったものに対して意見を持つこと、それが重要だと思う。
Laravelだって、自分のプロセスをスピードアップするために作ったものだし、それが自分にはうまく機能して、他の人も気に入ってくれたんだ。

それってある意味リスクのある道かもしれない。
だって市場があるかどうか分からないんだから。
でも、自分が真の顧客で、自分の問題を解決することにフォーカスするって、それがすごく大きな強みになると思うんだよね。
それを活かすべきだと思うし、それが「こういう問題を解決したいから、これを作る方法を学ぼう」という原動力になるんだと思う。

Justin)
うん、それらはすべて必要ではあるけれど、それ単体では十分ではなくて、優れた市場を持つ必要があると思うんだ。
例えば、Taylorは偶然PHP市場に入り込んだんだけど、あの市場がどれだけ大きいものだったのかなんて、最初は誰にも分からなかったと思う。
でも実際には、PHPは世界中で驚くほどの存在感を持っていて、誰かがその市場に新しい風を吹き込むのを待ち望んでいた人たちがたくさんいたんだよ。
そしてTaylorがそれをやってのけたんだ。

僕はどちらも必要だと思うんだよね。
つまり、「これは本当にやりたい!」っていう情熱と、「ここにはいい市場がある」と見極めること。
この両方が揃っていると、成功させるための重要な要素になると思う。

Brian)
ただ、これには「そうだし、さらにこうも言える」っていう部分があって、確かにPHPには世界中に大規模なユーザー市場があるけど、同時にLaravelが成長したからこそPHP自体も成長したと言えるんじゃないかと思うんだ。
同じことはRubyにも言える。
もしRailsが存在しなかったら、今のように多くのRuby開発者がいると思う?

Railsがあったからこそ、プロダクトやアプリケーションを実際に作るのが簡単になったんだ。
それと同じで、WordPressもそうだよね。
僕は10〜15年前のWordPressエコシステムの中にいたけど、当時のWordPressは、すべてのツールを組み合わせて簡単に何かを作れるようにしていたエコシステムだった。

Caleb)
WAMPとか覚えてる?
WindowsにApache、MySQLみたいなやつ。
僕はWeb開発を始めたときにRailsを学ぼうとしたけど失敗した。
でもWAMPはすごく簡単だったし、CPanelやPHPMyAdminなんかもそう。
そういうツールは僕みたいな単純な頭でも使いこなせたんだ。

だから、もしかすると当時Laravelはまだなかったけど、PHPがこれだけ広まったのは、WordPressみたいなプラットフォームが「簡単に使えて、すぐに動かせる」環境を提供していたからかもしれない。
コマンドラインを1つも知らなくても使えたっていうのは、当時すごく大きかったし、それがPHPが広がった理由の一つだと思うんだ。

Justin)
そしてそれは今はより簡単になったよね。
3人に「パイプライン問題」に関連して聞きたいことがあるんだ。
若い世代が、僕が1993年、1994年、1995年、1996年頃にWebにワクワクしていたようには、今はWebにワクワクしていないように感じるんだ。
その理由はいろいろあるけど、僕たちがどうやってこの世界に入ってきたかを考えると、例えばNathan Barry[1]が始めたことが、僕たち全員に大きな影響を与えたと思う。
彼がいろんなことをやって、それを公開して、「ああ、自分も何か作れるんだ」って感じたのはすごく刺激的だった。

また、Joel Spolsky[2]も多くの人にとってそんな存在だった。
「君たち、これやるべきだよ!」って言ってくれるキャラクターがいたんだよね。
僕の場合、ウェブが誕生した年に13歳だったから、その始まりから見てきたけど、ウェブでビジネスを作ろうと考え始めたのはずっと後だった。
たぶん、37signals[3]のことを知った時がその転機だったんだ。

Brian)
うん、それは僕も興味があったことだ。
CalebやTaylorにも聞きたいんだけど、初期の頃に影響を受けた人や会社、プロダクトって何だった?
僕の場合、2008年か2009年頃だったかな、プロのウェブデザイナー兼開発者として開発者として働いていて、もしくはその頃フリーランスを始めたばかりで、WooThemes[4]がWordPressのためにやっていたことに偶然出会ったんだ。
彼らがWordPress用のテーマテンプレートを59ドルで売っているのを知って、「僕も彼と同じスキルを持ってるのに、なぜクライアントや会社のためだけに作っているんだ?」と思ったんだよね。
彼は何千もの59ドルのテンプレートを売っていて、僕は一晩中彼のブログを読んで、その起業家としての道にのめり込んだんだ。

でも、君たちはオープンソースという道を選んだよね。
それは僕があまり選ばなかった道だ。
自分の時間を何時間も費やして、何かを作って、それを無料でコミュニティに公開する。
それで何かいいことが起きるかもしれない、みたいな。でも僕にはその計算が成り立たなかったんだ。
だから、君たちが初期の頃にどうオープンソースを捉えていたのか、もしくはどうやってその道に時間を投資しようと思ったのかが気になる。

Taylor)
そうだね。
正直言うと、僕はただ自分がもっと早く何かを出荷できるフレームワークを作りたかっただけで、オープンソース化はただ「公開しておこう」くらいの感じだったんだ。
Soundcloudみたいに、「他の誰かがこれを聞くかどうかなんて気にしないし、他の誰かがこれを使うかどうかも気にしないけど、とりあえず世の中に出してみよう」みたいな感じ。

正直言うと、ある意味で、自分は今年になって初めて「ビジネスを始めた」っていう実感があるんだ笑
分かるかな?それまでに作ったものは全部、基本的に自分が必要だったり作りたかったものばかりで、それをインターネットに公開して、お金を取ったりもしたけど、結局のところ、自分が個人的に興味を持っているものを作っていただけだったんだ。

もちろん、他の人がそれを使ってくれると嬉しいけどね。特に数年経った頃は。
でも、2014年にLaravel Forgeをリリースしたときは、正直言うとそんなに気にしてなかった。
「大きなビジネスを始めよう」なんて考えてなかったし、ただ自分のサーバー管理を自動化したかっただけなんだ。
でも、それがたまたまうまくいったって感じかな。

でも、妻に「これで携帯代が払えたらいいな」って言ったのを覚えてるんだ。
分かるかな?つまり、大きなビジネスを始めようなんて全然考えてなかった。
僕にとってプログラミングに入るきっかけとして哲学的にすごく刺激を受けたのは、37signalsと彼らの『Getting Real』って本だった。
Laravelを作ってる時にすごくインスピレーションを受けたよ。

Justin)
どうやってその本を見つけたの?

Taylor)
いい質問だね、正直覚えてないんだよ。
ただPDF版を彼らのウェブサイトからダウンロードして読んだのは覚えてるけどね。
本当にどうやってその本に辿り着いたのかは分からないな。

Justin)
多分リトルロックにいて、トラック会社で働いてた時だと思うんだけど、どうやってその存在を知ったのかな?

Taylor)
うーん、僕が働いていたのはとても大きい企業で他に数百のエンジニアがいたから、多分BasecampとかCampfireみたいなプロジェクト管理ツールを見て、そこから彼らのことを読み始めたんじゃないかな。
でも正直言うと最初にどうやって知ったのか覚えてないんだ。
ただ、Laravelをどう形作っていくかとか、どんな機能にフォーカスするかっていう点で、すごく影響を受けたことは間違いない。

Justin)
もともと請求書アプリみたいなものを作ろうとしてたんだよね?

Taylor)
そう、そういう感じ。
そんなようなやつを適当に作っててた笑

Justin)
その時のやつをLaravelのスターターキットにして歴史として残したらいいかもね。

Taylor)
確かに、それは面白そう。
実際、最初に作ったアプリの一つは『CoinFly』っていう請求書アプリだったんだ。
これは実際にリリースしたリアルなアプリだったんだよ。
ある時、マイケル・ハッセルブリングっていう人と一緒に作ったんだけど、彼は最初期のLaravel開発者の一人で、なぜか僕と同じアーカンソー州に住んでたんだ。
彼は確かLaravelユーザーの4番目くらいだったと思う。

うん、僕たちはCoinFlyっていうアプリを作ってリリースしたんだ。
それが僕がリリースしたLaravelとは直接関係ないアプリとしては唯一のものだったと思う。

Caleb)
彼は今どこにいるの?

Taylor)
僕は今でもFacebookでマイケルと友達だよ。
彼は今でも開発者をやってるし、もしかしたらCoinFlyのスクリーンショットがどこか彼のPCに残ってるかもしれないな。

Justin)
Caleb、君はOtwell(Taylor Otwell)流を意識してLivewireを作ったの?
それともただ遊びでやってたら、『これが良い方向性かも』って思ったの?

Caleb)
うん、僕はLaravelエコシステムでオープンソースのものを作り始めたんだけど、それはVueとかLaravelの中で「こういうことをやるもの」っていう感じで始めたんだよね。
職場で何かクールなものを作ると、「これ、パッケージにできるんじゃない?」って思って、そこから名前やロゴをどうするか考え始めて、「あ、これは世に出せるものだ」ってなっていくんだ。
だから、そんな感じでずっと作り続けてた。
お金のことなんて全然考えてなかったよ。
実際、仕事を辞めた時なんか「しばらく貧乏生活だな」って覚悟してたしね。

でも、Adam(Adam Wathan)の60,000ドルの電子書籍の話がすべてを変えたんだ。
それに影響されて、「あ、こうやって稼げるんだ」って気づいたし、実はその時、Titanに応募してたんだよね。確かそうだったと思う。
それで、Adamが辞めたおかげで空きができて、僕とDanielがそのポジションに入ったんだ。
まあ、それは置いといて。

うん、僕はずっとAdamをフォローしてたんだ。
TaylorやJeffreyのことも同じようにフォローしてて、Laravel Podcastを聴いたりしてたけど、Adamは特別だったんだよね。
TaylorやJeffreyもすごくインスピレーションを与えてくれたけど、彼らみたいなものを自分が作れるなんて思わなかったんだ。
でも、Adamがその電子書籍を書いて、それでお金を稼いで仕事を辞めたのを見たとき、「これだ!」って思ったんだ。
「これならできるかも」って。自分もいつかやろうと思ったんだ。
それが同じレベルじゃなくても、このやり方にはフォーミュラ(公式)があるって思ったんだよね。
それがすごく現実的で、「これを試してみよう」ってなった。

Brian)
独立してフルタイムの仕事を辞めた時、すでにこういうプロダクトで生計を立てようって考えてた?

Caleb)
僕はただ、できる限り長くGitHubで楽しみたいだけだったんだよね。
で、その後どうしても仕事を見つけなきゃいけなくなったら、コンサルでもやろうって思ってた。
それで、家族にもその話をしなきゃいけなくてさ。
でも家族はあんまり理解してくれなかったし、みんな僕のことを結構心配してた。

当時の stub(税収証明)をまだ持ってるんだけど、その年の収入のほとんどは妻の収入と、Titanでの1か月分くらいだった。
それで2019年くらいは、収入が合計で25,000ドルくらいだったと思うんだよね。

Brian)
それは面白いね笑
僕も2008年にフルタイムの仕事を辞めて独立したんだけど、それが経済危機の10か月前だったんだ。
今でもその頃のことをよく考えるよ。
それでもなんとか乗り越えたんだけど、6年か7年、もしかしたら8年くらい自営業を続けた頃に、父が僕にこう言ったんだ。
「その自営業ってやつ、なんかうまくいってるみたいだな」って。

それに対して僕は、「そうだね、最初の1〜2年は厳しかったけど、なんとかやり方が分かってきた」って答えたんだ。

Caleb)
親が僕のことを心配していたのは分かってたけど、今ではその証明書を見せて、「ほら、間違ってたでしょ」って言ってやりたい気持ちもあるよね笑

Brian)
それで、今の話に戻るけど、君たち2人(CalebとTaylor)からすごく刺激を受けてるんだ。
2人とも「クリエイターエネルギー」を持っていて、それをうまく成功に繋げてるよね。
今では何千人もの人が君たちの作ったプロダクトを使ってるわけだけど、それって今作るものにどう影響してる?
新しい機能やロードマップ、投資すべきものを決める時に、どう考えてる?

Caleb)
僕はまだTaylorが昔いた段階にいるよね。
ビジネスというものは特に持ってない。
ただ、フルタイムの従業員が一人いるだけって感じ。

Justin)
Caleb, 今こそ自分の考えを話す時だよ。
君は「僕はアーティストだ」って感じだよね笑
Calebの印象を演じさせてもらうと
「正直お金を稼げるかどうかなんて気にしてないんだ。
自分のペースで、自分らしいやり方で、高品質のものをリリースする。僕にできるのはそれだけだ。」
って感じ笑

正直言うと、自分でも時々「もっと戦略的になりたいな」と思う時はあるんだよね。
でも結局、デフォルトで「自分がやりたいことをやる」って感じになっちゃうんだ。
今は日付ピッカーを作っていて、それに1か月以上も費やしてる。
ただ、この問題に夢中になってしまったから、最後までやり切らないといけないんだ。
他にやるべきことがあるのは分かってるけど、今は日付ピッカーに全てを注ぎ込んでる。
それが僕の人生の全てになってる感じ。
これが「クリエイターエネルギー」の出し方なんだと思う。
自分が何かに夢中になったら、それをただひたすらやり続けるんだ。

Justin)
これについて、前にCalebにも話したんだけど、最初にLaraconで君に会って、Twitterで君をフォローして、それから初期のLivewireの動画を見たときのことを覚えてるんだ。
その時、TelegramでTaylorとAdamにDMを送って、「このCalebってやつは何なんだ?」って話したんだよ。
君はとにかくエネルギッシュで、すごくワクワクしてた。
何かに夢中になること、プロダクトやそれをどう使われるかに対して情熱を持つこと、ロゴやデザインにこだわること、そういう全てが結局「ものを作る」ってことに繋がってるんだ。
それがどうやって形になっていくかって話だよね。

Brian)
その「クリエイティブエネルギー」には本当に価値があると思う。
ただ、僕もその逆の側面に直面してるところなんだ。
Railsを使ってブロックエディタを作るというラビットホールにハマっていて、完全にのめり込んでるんだよ。

Caleb)
ラジオボタンとかチェックボックスみたいなものを作るって大変だよね笑
トグルスイッチみたいなものを作るのはさ笑

Brian)
本当にそうなんだよ。
でも、これを作ることにワクワクして、膨大な時間をかけてる。
それが良いものになると思うけど、常に頭の片隅で「これがビジネスになるのか?」「この時間の投資は回収できるのか?」「どうやってマーケティングするのか?」って考えてるんだ。

「ビジネス脳」と「クリエイター脳」があるけど、僕はもう一度その「クリエイティブエネルギー」に触れたいと思ってる。それが本当に素晴らしいものを生み出す原動力になると思うから。
チャンスを狙うことばかり考えていると、何か違う気がするんだよね。

Justin)
Taylor、君はどう思う?
今や君はベンチャーキャピタル(VC)を手に入れて、それ以前はすごく「クリエイターエネルギー」に満ちてたよね。
「これが欲しい」「これは良いものだ」っていう感覚でやってたと思うけど、今でもそれはあるの?

脚注
  1. クリエイター向けのメールマーケティングプラットフォームであるConvertKit(現Kit)の創設者 ↩︎

  2. Stack Overflowの創設やTrelloの開発に貢献した人物 ↩︎

  3. Basecamp, Ruby on Railsの開発元として知られるウェブソフトウェア企業 ↩︎

  4. 2008年に設立されたWordPressのテーマとプラグインの開発会社 ↩︎

MaruMaru

Part2
Taylor)
そうだね、まだその感覚はあると思うよ。
僕の視点から話すけど、Laravelを立ち上げて、ブートストラップのプロダクトを作ってた時期は、『これがどう終わるんだろう?』ってよく考えてた。
大きなオープンソースフレームワークになって、いくつもビジネスが生まれて、どういう結末になるのか興味があったんだよね。
徐々に衰退していくのか、それとも新しい技術が出てきて僕たちに取って代わるのかとか。

ある意味で、Laravelの歴史の最初の章は終わったと思う。
今年、いや去年かな、Laravelをここまで成長させて、ブートストラップ製品をリリースして成功させて、大きなベンチャーキャピタルの調達を実現した。それが『ブートストラップLaravel時代』の終わりなんだと思う。
そして、これは良いことだと思うんだ。
なぜなら正直、自分がアーティストやクリエイティブな人間として、少し惰性でやってる部分があったように感じてたんだ。
だからこそ、今は新しい挑戦が必要だったんだと思う。
「スケールする形でこれを実現できるのか?」とか、「ワールドクラスのプロダクトを維持しながら、素晴らしいものをみんなで一緒に作れるのか?」とか。
たとえば50人、100人、200人規模の会社で、それを実現できるのかっていう挑戦だよね。

こんな場所に自分がいるなんて昔は想像もしてなかったけど、ブートストラップでやりたいことはもう全部やり尽くした感じだった。
「これはこれで素晴らしい」と思ったけど、やっぱり新しい挑戦が必要だったんだ。
それに、まだまだ自分のやりたい形で会社をスケールできるって感じてる。
だって、僕は今でも会社のCEOで、文化を決める立場にいるし、働き方も自分で決められる。
それにプロダクトのビジョンも僕が設定してる。

だから、今の新しい挑戦は「スケールした形でLaravelをもっと大きく、もっと良くしながら、その雰囲気や文化を維持できるか」ってことなんだ。
それが第2章としてのLaravelのストーリーで、「ここまで持っていけるか」っていう挑戦。
僕自身、PHPのサポート役としての役割を果たしてるって思ってるよ。
PHPと僕はもう切り離せない存在になったし、僕はPHP開発者としてキャリアを終えるんだろうなって思う。

それで、PHPのための最高のプロダクトを作りたい。
スケールさせて、使いやすくして、みんながもっと簡単に利用できるようにする。
それが今の僕の新しい挑戦で、新しいエネルギーを得てるところなんだ。
「まさにこれが必要だった」と感じてる。

Brian)
僕がこの会話で学んだのは、僕たちが作るものやビジネスがどれだけ個人的なものかってことだと思う。
じゃあ、君の意見を聞きたいからJustinに話を振るけど、Transistorにジョインすると発表したときのことを覚えてるよ。
「ああ、これってJustin Jacksonにピッタリだな」って思ったんだ。
なぜならそれまで君のことを初めてのポッドキャスターとして知ってたし、Transistorが登場する前からずっとそうだった。それがすごく自然な流れに見えたんだ。

Justin)
そうだね。これって本当に難題なんだよね。
「人にビジネスを始める方法を教える」のは好きだけど、何が上手くいくかを見極めるのはすごく難しい。他の人にとって「どうやればうまくいくか」を見つけるのは特にね。

結局、何かに本気で興味を持たないといけないし、何かを作らないといけない。
それに情熱を注がないといけないし、同時にそれが経済的に成り立つかもしれないものに目を向けないといけない。
ここが全てなんだ。
どれだけ情熱を注いだとしても、ビジネスとして成り立つかどうかは、そのアイデアの「経済的エンジン」がどれだけ優れているかで決まるんだよね。

Caleb)
正直、これは運も大きいと思う。
僕が稼げてる唯一の理由は、運だと思うんだ。
もし他の世界、例えばRailsでさえ、違う世界にいたら違っていたともうんだ。
Rails WorldでRailsの人たちと話してたけど、独立した開発者が稼げる金額ってLaravelやFluxのようなものを売る市場と比べてかなり小さい。
PHP Laravelの世界がたまたまお金があって大きな市場だったっていうのは、運が良かったとしか言えないよ。

プログラミングそのものにしても、僕がたまたま興味を持ったのがPHPやLaravelだったっていうのが大きい。
それが例えばリュート(楽器)とかだったら、全然違った人生になってたかもしれないよ(笑)。
わかるでしょ?笑

Justin)
確かに一部は運だよね。
でも、君たちと僕の違いは、君たちの方が僕より才能があるってところだと思う。

Brian)
いやいや、それは違うよ笑

Justin)
いや、ある意味では本当だよ。
市場の勢いを観察する方法があると思うんだ。
僕はTaylorをAdamに紹介されて、Taylorと何度か一緒に時間を過ごした後、初めてのLaraconに行ったんだ。
そこで「何が起きているんだ」って思った。「なぜテック業界の全員がこれについて話してないんだ?」って。

Caleb)
君は最初のLaraconでMCをしたよね?

Justin)
確か最初のLaraconでトークをして2回目でMCをしたと思う。
でCalebが群衆の中にいて、このふざけたやつは誰だってなったんだよね笑
まあそれは冗談として笑

でも、最初にこう思ったんだ。
「これは本当に特別なことが起きているぞ」と。
それには勢いがあったし、明らかに何か大きな可能性を感じたんだよね。
もちろん、幸運な出来事が続くこともあるけど、それってある意味、自分の「運を掴むエリア」を広げるようなものだと思う。
たとえば、毎回確率が同じ宝くじを何度も買い続けても、大きな可能性は得られないかもしれない。
でも、「何かが起きているコミュニティ」に自分から飛び込むことで、その可能性は広がるんだ。

Taylorが最初に僕をLaraconに招待してくれたのも、彼が僕のブログ記事を読んで、「Laraconでその話をしてほしい」って言ってくれたのがきっかけだった。
それが僕にとって、そのコミュニティへの切符になったんだ。
だから、自分から動くことが大事なんだよね。
自分を外の世界に出して、そこに存在を示すこと。それが重要なんだ。

ただ、僕が心配しているのは、今の19歳や20歳の若い世代が、こうしたことをあまりしていないんじゃないかってことなんだ。
PHPの世界にはそれが必要だと思うんだよね。
もしPHP開発者の平均年齢が45歳で、Rails開発者も同じくらいの年齢だとしたら、それって結構まずい状況だと思う。
そこには「パイプライン問題」があるんだ。

これについてはAdamとも話しているんだけど、たとえばTailwindにしても、若い人たちがウェブ開発にワクワクしてくれないと、新しい世代の開発者が生まれなくなっちゃう。
これってポッドキャストの世界でも同じで、僕の子どもたちは「ポッドキャストってYouTubeでやるもの」だと思ってるんだ。
Apple Podcastを使ってポッドキャストを聴いている人たちの平均年齢はおそらく40代だと思う。
これって明らかに世代間のギャップ問題だよね。

だから、このギャップをどうにかしないといけない。
特に、自分たちがその状況に影響を与えるための時間やエネルギー、リソースを持っている時にはね。

Brain)
ただ面白いのは、ポッドキャストやLaravelのエコシステム、もしかしたらRailsも同じだけど、35歳から45歳の層が一番価値のある層だってことだよね。
その層は実際にお金を持っていて、ポッドキャストを聴いたり、高級車を買ったり、ビジネスを作ったりしてる。
若い子たちは大学を出たばかりで、そこまでの購買力がないことも多い。

Justin)
夏の間、大学を卒業したばかりのFerdinandという子を雇って一緒に仕事をする機会があったんだけど、それがとても興味深い経験だった。彼は仕事を探していて、僕が「ちょっと余裕があるから、Laravelアプリを作る仕事をやってみない?」って提案したんだ。それは僕がTransistorで使いたいと思っていたものだった。自分のお金で彼を夏の間雇って、開発を進めたんだよ。

その中でいくつか面白いことがあった。まず一つ目は、Junior(経験が浅い)な人と一緒に働くことから得られるエネルギーだね。最近の開発チームでは、Juniorをあまり採用しないことが多いけど、実際に彼と仕事をするのは本当に楽しかった。彼は最初、SaaSが何なのかも理解していなかったけど、それを教えたり、Stripeを見せたり、LaravelやLivewireを初めて触らせたりするたびに、「え、これできるの?」「すごい!」って驚いていた。その一連の「学びのプロセス」を見るのが本当に楽しかった。

就職市場は今でも厳しくて、彼はいくつかオファーをもらったけど、それでも大変そうだった。それでも彼は友達と一緒に、たしか自動車販売店向けのSaaSを作るプロジェクトを始めたみたいなんだ。

彼が一夏でLaravelを使ってSaaSアプリを一から作り上げたスピードには、本当に驚かされた。そして最後には、「今度は自分で何かを作ってみる!」って言ってたんだ。それがうまくいくかどうかは分からない。成功するまでに5回、6回、7回くらい挑戦する必要があるかもしれないけどね。

Brian)
確かに、今の20代がこれからどうしていくのか、僕は全然分からないんだよね。
だって、僕自身はというと、最初の仕事で小さな開発会社に勤めていて、隣に座ってた人からたくさんのことを学んだんだ。
そうやってCSSを覚えたんだよ。
その人に何度も何度も質問して、2年間くらいひたすら聞きまくったんだ。

Caleb)
もし20歳でウェブ開発にワクワクして、そういうことを始めたとしたら、ReactやShadCNを学ぶことになるだろうね。
だって例えば「これが必要だ」と言ったら、Claude(AIモデル)が「ShadCN Reactだね、これをどうぞ」みたいに出してくれるわけだから。それにLucid Iconとかもね。
これが今すごく面白いと思うのは、パイプラインが、これらのモデルを作っている人たちが「どの技術をデフォルトにするか」を決めることで動いているってこと。
これって、今までになかったような感じがするし、これからの状況を大きく変えていくと思うんだ。
たった一つのツールが圧倒的に支配的になる、みたいな感じだよね。

Brian)
そうなんだよね、だからAIについての議論って、必ずしも「これが僕たち経験豊富な開発者が作れるものにはまだ及ばない」っていう話だけじゃないと思うんだ。
それはもちろん事実なんだけど、多くの人が見落としているかもしれないのは、AIがものを作る方法を学ぶ上で、これからもっと簡単で便利な道筋を提供するだろうってことなんだ。

Caleb)
もしRustで何かを作らなきゃいけないとしたら、皆がRustの開発者かどうかは分からないけど、ChatGPTやClaudeみたいなものを使うよね?
使わない方がむしろ愚かだと思うんだ。

Justin)
そうだね、君たちができることはあると思うし、僕にもできることがあると思う。
でも例えばLaraconなら、学生や大学生向けに無料チケットを提供するべきだと思うんだ。
次にLivewire Dayをやるなら、全ての大学に連絡を取って、メーリングリストを作って、その人たちと関係を築くべきだと思う。
そして、若い世代のパイプラインを作るために努力するべきだよ。
きっと彼らはそれに夢中になると思うんだ。
だって、そのストーリーは本当にすごいから。

今の若い人たちは、「どうやってキャリアを築くんだろう?」「どうやってお金を稼ぐんだろう?」「どうやったら充実感を得られるんだろう?」って考えてると思う。
それに、今の世界はかなり厳しい状況だと感じるよね。
でも、そこにポジティブなメッセージを届けられる可能性があると思うんだ。
そして、成功した人たちの素晴らしい例がたくさんあるのに、それを目的意識を持って若い世代に伝えている人はあまりいないんだよ。

Taylor)
そうだね、僕も同じように考えてるよ。
この1年、そして今年にかけて、頭の中で「このパイプライン問題をどう修正するか」というチェスボードの駒をたくさん動かしてきたんだ。
その一環としてLaravel Cloudプラットフォームを開発していて、完成したものを簡単にデプロイできるようにすることを目指している。
JavaScriptの世界ではVercelみたいなツールがすごく簡単に使えるようになっていて、僕たちはそこに追いつく必要があったんだ。

それから、新しいスターターキットも作ってるし、ブートキャンプやLaraconもその一部だね。
君のLaraconに関するアイデアも素晴らしいと思うよ。
今年中にこういったチェスの駒を十分に整えて、新しい開発者に「インターネットでアプリを立ち上げてお金を稼ぐ最速の方法はLaravelアプリを作ることだよ」っていう魅力的な道筋を示せるようにしたいと思ってる。みんなお金を稼ぎたいからね。

だから、パイプライン問題は、会社の中でも、そして僕自身の中でもずっと考え続けている課題なんだ。

Justin)
そうだね、だからスターターキットを使うのは良いアイデアだと思うんだ。
もっと枠を超えて考えるべきなんだよね。
例えば、誰かのインタビューを振り返ってみると、「ああ、僕はHyperCardから始めた」とか、「僕はMacromedia Directorから始めた」とか、そういったツールがあったおかげで何かを作れるようになった、という話がたくさんあるんだよね。

僕自身はMicrosoft Accessからスタートしたんだ。
GUIエディタを使って何かを作り、それからバックエンドをいじる方法を学んでいった。
こういうタイプのツールには、まだまだ可能性がたくさんあると思うし、そういったものが人々の役に立つんじゃないかな。

Taylor)
もっとビジュアルに作るってこと?

Justin)
ビジュアル的に作るだけじゃなくて、例えば実例を見せることも大事だと思うんだ。
たとえば、SpotifyのAPIがあるけど、今の若い人たちってAPIが何か知ってるのかな?
それにSpotifyのAPIを使えば何かを作れるってことも知らないんじゃないかな。

Caleb)
そうだね、ざっくり言うと、スターターキットの話なんだけど、今のウェブの世界って、どう説明しようかな、ちょっと慎重に話さないとね笑
たとえば、UIコンポーネントライブラリが新しいスタート地点になってると思うんだ。
もうただのdivやCSSだけじゃなくて、UIコンポーネントライブラリが基準になってる。
そこから次のステップがスターターキットなんだ。

だから、Laravelにとっても重要なのは、この「スターターキットのストーリー」を完璧に作り上げることだと思う。それが全てなんだ。
そしてその下のレベルにはUIコンポーネントライブラリがあって、一部の超マニアックな人たちだけが、タグを書いたりして中をいじる感じになるだろうね。
でも今の時代は、間違いなく「スターターキット」と「コンポーネントライブラリ」の時代なんだ。

だから、ここに全力を注ぐ必要があると思う。
Laravelを「バックエンドは全部揃ってるよ」っていう場所にするだけじゃなくて、「フロントエンドも全部揃ってるよ」っていう場所にしなきゃいけないんだ。

Taylor)
新しいlaravel.comは本当に素晴らしいものになるよ。
みんなに見せたいけど、来月リリース予定なんだ。
この問題に真正面から取り組む形になってるんだ。

Justin)
今すぐ見せてよ!笑

Taylor)
この後いくつかスクリーンショットを送るよ笑

Brian)
それは待ちきれないね

Caleb)
ねえBrian、君が今話しているのって、僕とTaylorが根っからのビルダーで、まずは自分の『痒いところをかく』ようなものを作って、そこからビジネスが自然に生まれてきた、みたいな話だよね。
それに対して君は『これを作れるけど、市場があるのかな?』みたいなビジネス的な視点からアプローチしていて、それが良いのかどうかっていうのを考えてるわけだよね。
でも僕はそれが賢い考え方だと思うよ。

だから、僕が最近考えていることを1つシェアしたいんだ。
ちょっと怖い意見かもしれないけど、君たちの意見を聞きたい。
Justinも僕のポッドキャストを聞いてるなら分かると思うけど、最近、僕はオープンソースに対してちょっと幻滅し始めているのかもしれない。

これは僕にとってすごく興味深い変化で、だってこれまで僕が知っていたのはオープンソースだけだったんだ。
ソフトウェアをリリースする唯一の方法がそれだと思ってた。
だから、Fluxで「Fluxを無料で提供したい、でもみんなに盗まれてFluxラッパーを作られて、僕がその餌食になるのは避けたい」っていう十字軍みたいな戦いに出たんだ。
でも、ある瞬間、誰かが僕にこう言ったんだ。
「いや、実際にはお金を取らなきゃダメだよ。それはお金を稼ぐためじゃなくて、自分の価値を守るためなんだ」って。それを聞いた瞬間、目からウロコだったよ。
「そうか、お金を取らなきゃいけないのか。それが唯一、自分の価値を守る方法なんだ」ってね。

それ以来、FluxのJavaScriptコアは完全に独立した状態になっているんだ。
一時期は別の名前もつけていたし、僕の頭の中では完全に切り離されたライブラリになっている。
でも、誰もそれを知らないんだ。
もともとはRailsの開発者や誰でも使えるオープンソースのライブラリにしようと思ってたんだけど、それを出すたびにオープンソース特有の問題に悩まされるのが目に見えてる。
たとえば、誰かがその価値を上に重ねてしまうけど、自分にはその利益が入らない。
さらに、みんなのためにメンテナンスを続けることになってしまう。

結局、『これをオープンソースにするのは賢くない』という結論に行き着くんだよね。
だから、こんなにエネルギーとイノベーションを注ぐなら、人に簡単に盗まれないものにそれを使う方が良いって思うようになったんだ。
これは僕にとってまったく新しい考え方だよ。

でも、同時に、オープンソースにしないことがすごく奇妙に感じるんだ。
「これを人に共有しないなんて、自分勝手じゃないか?」って思ってしまう。
でもまあ、こういったことをシェアしてみたんだ。
僕の考えがどう変化しているのかを知ってほしいと思ってね。

Brian)
僕にとって、Fluxに料金を設定するのは、最も明白な選択肢だと思うよ。
君が言った理由もそうだし、それに加えて、これは素晴らしいビジネスになるし、君が作り上げたプロダクトは本当に素晴らしいんだから、それに料金を取る価値は十分にある。

でも、僕が考えているのは、オープンソースを戦略的なビジネスパスとして捉えるのが難しいってことなんだ。
もしかしたら完全に同じではないかもしれないけど、僕にはオープンソースが「プレミアムモデル」に思えるんだよね。
つまり、非常に寛大なプロダクトを無料で提供するけど、これを持続可能にするためには、たとえ小さな会社でも、あるいは大規模な組織でも、何らかの形で収益化する方法が必要になる。

僕は常に小規模なブートストラップ視点から考えているから、プレミアムモデルを試したこともあるけど、それを持続可能にするのは本当に難しい。
特に、巨大な配信力(ディストリビューションのアドバンテージ)がないとね。
でも、君たち2人はオープンソースで素晴らしい成果を上げていて、このエコシステムの中で圧倒的な配信力を持っている。
だから、最初から大きなアドバンテージを持っているわけだよ。

そう考えると、Fluxみたいなプロダクトを持つのは当然の流れだと思うよ。

Caleb)
そうだよね。
もしオープンソースのものが全部なかったら、これを実現できなかったよね。

Justin)
Taylor、Forgeを有料プロダクトとしてリリースしたときに、誰かから不満を言われたりした?

Taylor)
Forgeについてはそんなに不満を言われた記憶はないかな。
でも、一番不満が多かったのはLaravel Sparkについてだったと思う。
これはLaravelアプリで定期課金を実装するためのSaaSスターターキットなんだけど、なぜかオープンソースじゃないことに対して不満を持つ人がいたんだよね。

Brian)
えっと、たぶんダウンロード可能なものとホスト型のものの違いだよね。

Taylor)
そうだね、人々はコードが無料であるべきだと思っているんじゃないかな。
一般的に、コードパッケージなら無料であるべきだっていう感覚があるみたい。
でも、それがホストされたウェブサイトなら、なぜかお金を払うことに抵抗がないみたいだね。

Brian)
でも実際のところ、ビジネスで働いている多くの人たちは、300ドルや400ドル、もっと高額でもライセンス料を喜んで支払って、ダウンロードしたコードを自分たちのビジネスで使おうとするんだよね。

Justin)
そうだね、なんというか、Adam…いやごめん、Taylor、君はちょっとAdamと話している時に、オープンソースの『ダークサイド』みたいな部分を見ている気がするんだよね。
僕には見えないものがあるみたいで、それってつまり…

Brian)
そうだね、それは君たちの方がずっと詳しいことだよね。

Justin)
でも、Taylor、君はその問題を実際に経験したことはあまりなさそうだよね。君にとっては特に問題なかったみたいだし。

Taylor)
うん、確かに経験したことはあるよ。
だけど今となっては、僕はオープンソース開発者として少し鈍感になったんだと思う。
最初の数年、具体的には最初の5年間くらいは、正直言って結構気になってた。
文句を言ったり、オープンソースに対して権利を主張するような人たちの態度がね。
でもオープンソースって、コミュニティに対する『奉仕』みたいなものじゃないんだよ。
ただ楽しいものを作ったり、クールなものを作りたいって思ってやってるだけなんだ。

今はもう、そういうことをあまり考えたり気にしたりしなくなったかな。
でも、他の人たちにとっては確かに大きな悩みになっているのも分かるよ。

Caleb)
うん、僕もね、エンタイトルメント(権利意識)とかそういうのを気にする段階はもう過ぎたと思うんだけど、Taylorにちょっと質問があるんだ。
Laravelってすごく外部から隔離されてる感じがするんだよね。
Laravelのビジネスもオープンソースも、すごく守られてる印象がある。

例えば僕がAlpineを作った時、2か月くらいでAlpineとほぼ同じ代替品が出てきたんだ。
それからEvan YouがPetite Vueを作ったけど、それも基本的にAlpineと似たようなものだった。
それに比べると、Laravelはこの大きなコミュニティを持っているけど、Laravelの代替になるようなフレームワークが作られることってほとんどないんだよね。

それって技術的な参入障壁(tech moat)のせいなの?
何が理由なのかな?
だって毎日のように新しいPHPフレームワークが出てくるって感じじゃないよね。

Taylor)
うん、確かに部分的には技術的な参入障壁(tech moat)もあると思うけど、それ以上に『時間の壁』が大きいんだよね。
つまり、Laravelのフレームワーク自体を再現するだけでも膨大な時間がかかる。
でも、それだけじゃなくて、ドキュメントやCashier、Socialite、Horizon、Novaみたいなパッケージ、さらにはその周りのエコシステム全体を作るのにも膨大な時間が必要なんだ。

それに、僕が本当にラッキーだったのは、Laravelの旅路の中でCalebやJeffrey Wayみたいな人たちに恵まれたことだと思う。
JeffreyがLaracastsみたいなものを作ってくれたのは本当に大きかった。
新しいPHPフレームワークを作ったとしても、初日からそのフレームワークを宣伝してくれるLaracastsみたいなものがあるわけじゃないよね。

だから、これがLaravelにとって非常に大きな参入障壁を作り出している理由の一つなんだと思う。
Ruby on Railsも似たようなところがあるんじゃないかな。
長い時間をかけて作られてきたものや、膨大な教育資料、動画、コースがすでに存在していて、それと同じレベルに追いつくのは本当に大変なんだ。

Caleb)
じゃあ、こんなディストピア的な未来を想像してみて、Taylor。
『Laravelはすごく素晴らしいし、パワフルだよね』って話から始まるんだけど、例えば君が『でもSymphonyみたいにすごく膨れ上がってる。フォルダが50個もあるしさ』って言って、新しいものを作ろうとするんだ。
それが『Shmervel』と呼ばれる、シンプルで軽やかなもの。
たった1つのファイルだけで構成されていて、機能的で、必要なものだけを使う。
そして、ファイルベースのルーティングになっていて、裏側ではIlluminate(Laravelのコンポーネント)が動いてる。
さらにその下にはSymphonyが隠れてるんだけど、ユーザーが触るのはShmervelっていう名前の部分だけなんだ。

Shmervelのドキュメントを見に行くと、何かを使いたくなったときにはLaravelのドキュメントに飛んでEloquentを参照する。
でも、Laravelのエコシステム全体を使えるんだよ。
でも見た目は自分たちのフレームワークを使ってる感じで。
そしてこれが広がってコミュニティができて、誰かがこのShmervel向けのスターターキットを作り始めるんだ。そして『僕はShmervel派なんだよね』みたいな人たちが出てくる、みたいな感じ。

どう思う?

Taylor)
えっと、ビジネスの観点から言うと、それ自体は僕には気にならないと思う。
なぜなら、会社としての成功がLaravelそのものに依存する必要はないと考えているから。
それがTailwindやLivewireと同じような基本的な考え方だと思うんだ。
例えば、もしShmervelみたいなものが登場したとしても、それはそれでいいんだ。全てのShmervelアプリをLaravel Cloudでホストしようとか、全てのShmervelアプリをLaravel Forgeでホストしようとか、そういう方向に製品をピボット(転換)させることもできるしね。

実際、そういう製品を作るのってすごく難しいんだよね。
だから、特にCloudの開発では、Laravelそのものの成功と、Laravelというオープンソースフレームワークの成功、そしてLaravelをクラウドホスティング会社として成功させるということを切り離そうと、意識的に取り組んでいるんだ。
この2つは別のものなんだよね。
僕たちは、Laravelを超えてPHP全体に進出することもできるし、もし望むなら他の言語に進出することもできる。

だから、今はもうそういうことが気にならなくなったんだと思う。
でも、Forgeみたいなものを持っていなかった頃は、確かにすごく気になってたんだ。
だって、誰かが怒ってLaravelをフォークして、少しスリムなバージョンを作っちゃう可能性だってあったからね。
開発者って、軽くて新鮮なツールが好きだから、そういうものが作られるのはいつでもあり得るんだよ。
でも、今はもう気にしてないよ。
とはいえ、一方でPHP界隈の動向には常に目を光らせてるんだ。
新しいフレームワークやアイデア、競合が出てこないかってね。

Justin)
これは面白い質問かなと思うんだけど、競合についての不安レベルをパーセンテージで表すとしたら、君たちそれぞれどれくらいになる?
Taylor、君の場合はどれくらいだと思う?パーセンテージで言うとどのくらい?

Taylor)
うーん、最近はLaravelホスティング分野での競合に対する不安はあまりないんだよね。
それよりも、みんなをがっかりさせない素晴らしいプロダクトを提供できるかどうかが一番心配なんだ。
今のキャリアの段階で、実際それが僕にとって一番大きな不安なんだと思う。

Laravelではかなり良いものを作り上げてきたと思うけど、今は本当に素晴らしいものを作ろうとしてるんだ。
それで、もし大きなプロダクトをリリースして、それが『なんか微妙だな』っていう反応を受けたら、それは本当に落ち込むと思う。
コミュニティがそれを気に入らないってなるのはすごく悲しいよね。

Brian)
それがちょっと気になってたんだけど、君はそもそも誰を競合として考えてるの?
それって、PHP以外の開発者が入ってこないというパイプライン問題みたいな感じ?

Taylor)
うん、少しはそのパイプライン問題に近い感じかな。
でも、例えばLaravel以外のアプリ、純粋なPHPアプリとか、将来的にはRuby on Railsアプリを僕たちのプラットフォーム上で動かすことも全然考えてるよ。要するに、顧客層を広げるためにね。
もし『Laravelの世界でやれることは一通りやり尽くしたな』って感じたら、その体験をRailsやDjango、Express、その他のプラットフォームに持ち込むのもありだと思うんだ。

Justin)
おいおい、それならいっそのこと.NETまで手を広げちゃえよ!

Taylor)
本当にそうだよね。それはめちゃくちゃ良さそうだ笑

Justin)
それで、Laravel Cloudをローンチすることについての不安レベルってどのくらいなの?
そのことを考えるとき、どれくらい緊張してる?
君っていつも落ち着いて見えるけど、本当はどうなの?

Taylor)
いや、正直不安はあるよ。
大きなプロダクトをローンチするときには、誰だって不安になるものだと思う。
でも、やっぱり人々が期待している体験をちゃんと提供できることを願ってるし、落ちたりクラッシュしたりしないことを祈ってるんだ。
このプロダクトには本当に多くの時間をかけてきたし、細部までしっかり作り込んできたと思う。
それに、このプロジェクトのために素晴らしいチームを築くことができた。
でも、大きなプロダクトをローンチするときには、いつだってあの緊張感みたいなものがあるよね。

だからこそ、コミュニティが求めているもの、そして彼らが当然手にするべきものをしっかり提供できることを願ってるんだ。

Justin)
じゃあCaleb、君はどうだい?最近の不安レベルはどのくらい?

Caleb)
1から“不健康”までのスケールで?

Justin)
まあ、1から100にしようか(笑)。

Caleb)
時々、気楽で、良い視点を持っていられるし、自分なりの気づきが助けになっていることもあるよ。
たとえば、以前は他の人がLivewireの教育コンテンツを作ってるのを見て不安になったこともあった。
だって、自分はスクリーンキャストを売ろうとしていたからね
。でも、それがいかに馬鹿げたことかに気づいたんだ。
それって、みんなが一緒に良くなる“オールボート”(相乗効果)的なものなんだよって。
だから、そういう考えを手放すことで、かなり頭がすっきりしたんだ。

でも正直言うと、時々本当に不健康なレベルまで行くこともあるよ。
あ、『ザ・ラストダンス』見た?あのシリーズね。
別に自分をMJ(マイケル・ジョーダン)に例えるつもりはないけど…

多くの人がそう言ってるんだよ、僕が言ってるわけじゃなくてね。
いろんな人がそう言ってるのを聞いたことがあるけど、彼が話してるのを聞くと、『ああ、これがどういう感じなのか分かる』ってなるんだ。
それがちょっとクレイジーだけどね。
『ザ・ラストダンス』を見てると、それがなんだか不思議な感覚になるんだ。
あのSNL(サタデー・ナイト・ライブ)でジョークにされたやつみたいに、彼が『あいつが僕の…を踏んで、だからそれを個人的に受け取ったんだ』って言うシーンね。
彼が『だから、個人的に受け取ったんだ』って何度も言うんだけど、そのたびに『うわ、この人は本当に何かを背負ってるな』って感じるんだ。
彼を突き動かしてるのはそれなんだよね。
僕にもそれに似た部分があるから、『ああ、その感覚分かる』って思うんだ。

それで、自分と同じように何かを作っている人たち、いわば“自分の子ども”みたいなものを大事にしている人たちと友達になればなるほど、その気持ちが分かるんだよね…あ、今のたとえは間違えたかも(笑)。
とにかく、そういう人たちと話していると、みんなも同じように感じてるんだなって思う。
最初は、他のみんなはもっと気楽なんだろうなって思ってたんだ。
実際、Taylorの感情の深さとか、彼がこのことでどれくらい悩んでるかなんて、僕には分からない部分もあるけど、それでも彼は基本的には気楽なんだろうなって思ってた。

でも最近では、他の人たちや自分を見てると、Taylorもマイケル・ジョーダンみたいなところがあるんじゃないかって思うようになった。
だって、自分が大切にしているものを作って、それに情熱を注いでいるなら、やっぱり何かを個人的に受け取ってしまうことってあると思うんだよね。
それがクリエイターとしての性(さが)なんじゃないかな。
うん、まあ、不健康かもしれないけど、ビジネスには良い影響があるよね。

Taylor)
ビジネスをやってるときに、『自分の前に立ちはだかる敵は全員叩き潰す』みたいな気持ちを持っている部分があると、確かに役に立つよね。
いわゆる“マンバメンタリティ”、コービーやマイケル・ジョーダンのあのメンタリティって、やっぱり助けになると思うよ。

Justin)
面白いのは、Jason Friedがいつも『自分にはそんな気持ちはないよ』って言ってることだよね。
彼は『競合を叩き潰すとか、そういうことは気にしない』みたいな感じなんだよね。

Brian)
多くの人がこういう内なる炎を使っているんじゃないかなと思うんだ。
僕たちの多くがそうなんじゃないかと思う。
少なくとも僕自身は、常に自分に厳しくしていて、『まだこれじゃダメだ、もっと良いものを出せるはずだ』って考えてるよ。
ある瞬間には『これはいい感じだ』と思っても、次の日に見直してみると『なんだこれ、クソじゃん』って思ったりするんだ。
これが、ビジネスにおいても、自分が作るものにおいても、常に戦っていることなんだよね。

Caleb)
だから、今FluxをRailsのUIキットにしてるんだ。
それに加えて、ブロックエディタを作っていて、それがすごく楽しみなんだよ。
それでRails Worldに行って、それをプロモーションする予定なんだ。
ステージに上がって、みんなにそのことを話そうと思ってるんだけど、Brian、これを聞いてどう思う?

Brian)
まあ、確かに競合が何をしているのかは気になるよね。でも、実際に僕が一番気になるのは、競合が直接的な友達だったり、すごく繋がりのある人たちだったりする時なんだよね。それが本当に嫌で、最終的に僕は自分からそういう人たちを切り離さなきゃいけなくなるんだ。実際に、同じプロダクトエコシステムにいる人たちを、友達でもフォローを外したりするんだよ。だって、彼らがやってることを見てると、自分が狂いそうになっちゃうからね。

Caleb)
それがね、実際にそういう状況に陥ったことがあって、そうしなきゃいけなかったんだけど、そうすると、相手はそれを何らかの形で感じ取るんだよね。例えばフォローを外すとかして。でも、これって攻撃的に思われたくないんだけど、自分のメンタルヘルスを守るために本当にそうするしかないんだよね。だって、この状態を見続けるのは本当に無理だから。

Justin)
わあ、いい感じだね。この話の終わり方が気に入ってるよ。ずっと話し続けてもいいんだけど、パネルの良いところは、いつでもみんなに戻ってきてもらえることだよね。それに、もし他に話したいことがあれば、質問があれば、どんどん聞いてくれればいいんだ。僕たちが話しきれなかったこともあるかもしれないし。すべてのリンクはショーノートに載せておくから。
皆ありがとう!

MaruMaru

2025/02/19
昨年Laravelに出資したAccelのMilesがLaravel創設者 Taylorを招いて行なったPodcast

Miles Climents(Accel) x Taylor Otwell (Laravel)

Laravel's Taylor Otwell | Driving Growth Through Product & Community

https://www.youtube.com/watch?v=IHcfc32iD0g

Intro

Miles)
「Spotlight on」へようこそ!僕はMiles Clemens、そして今日はLaravelの創設者でありCEOのTaylor Otwellと一緒にいます。
Taylorのことを知らない人はあまりいないと思うけど、知らない人のために改めて聞くね。Laravelって何?

Taylor)
LaravelはオープンソースのPHPフレームワークで、僕が2010年の終わり頃に作り始めて、2011年にリリースしたものなんだ。
要は、どんなウェブアプリでも作れる出発点みたいなもので、例えば予約システムや請求書管理システムとか、いろんな用途で使われてる。
驚くような使われ方もされてて、ミルウォーキー・バックス(NBAチーム)やハーバード美術館なんかもLaravelでアプリを作ってるんだよ。

Laravelの始まり

Miles)
じゃあ、最初の頃の話を聞かせて。2010年に作り始めたって言ってたけど、その頃は何をしてたの?Laravelの最初の時期ってどんな感じだった?

Taylor)
その頃は、大学を卒業してまだ2年くらいのタイミングで、アーカンソー州にある大きな運送会社で働いてたんだ。
企業向けのエンタープライズシステムをガッツリ書いてたんだけど、主に.NETとかCOBOLを使ってた。
当時のCOBOLって、1960年代から使われてるようなもので、自分が生まれる前に書かれたコードを触るのも全然珍しくなかったよ。

でもね、ずっと自分でビジネスをやってみたいって気持ちがあって、いろんなスタートアップのアイデアを考えてたんだよね。
いわゆる「創業者あるある」ってやつ。
で、そのアイデアを試しに作るための手っ取り早い方法が欲しかったんだ。

Miles)
それ、よくある話だよね。
でも、具体的にどんなスタートアップのアイデアを考えてたの?めっちゃダメだったやつとかある?

Taylor)
うわぁ、それはいっぱいあるよ(笑)。
例えば、芝刈り業者向けの請求システムを作ろうとしてたんだよね。

Miles)
それはまあ…僕たちは出資できなかっただろうな(笑)。

Taylor)

でも、とにかくアイデアをすぐ形にできる方法が必要だったから、PHPでサクッとアプリを作れる仕組みを作り始めた。それがLaravelの始まりだったんだよ。

Miles)
なるほどね。じゃあ、最初はLaravelを個人的に使うために作ってたわけだ。でも「これはいける!」って思った瞬間っていつだったの?

Taylor)
Laravelは大体8ヶ月から1年くらいかけて開発して、それから公開したんだけど、初日にGitHubでスター4つしかつかなかったんだよね(笑)。
だから、最初から爆発的にヒットしたわけじゃない。
でも、リリースしてからすぐに熱狂的なファンが現れ始めて、どんどん盛り上がっていった感じかな。

今じゃ「Laravel」のタトゥーを入れてる人までいるからね(笑)。
そこまで来ると、やっぱりPHP界隈の人たちが新しいものを求めてたタイミングと、Laravelがちょうどマッチしたんだと思う。

Miles)
当時、Laravelが実際に使われてるのを初めて見た時ってどんな感じだった?

Taylor)
これは結構面白い話なんだけど、Laravelを使ってる最初の企業の1つが、実はアーカンソー州の別の運送会社だったんだよ。
しかも僕が働いてた会社と同じ州にある会社で、Bentonvilleの近くにあるPam Transportationっていう企業だった。彼らはLaravel 1.0を商用環境で使ってたんだ。

Laravelを資金調達なしで開発してきた経緯

Miles)
へぇ、アーカンソーの話が2分で2回も出てきたね(笑)。
じゃあ、ちょっとその話を深掘りしようか。
結局、Laravelはリトルロック(アーカンソー州の都市)で生まれたんだよね?
最初からずっとそこを拠点にしてる感じ?

Taylor)
そうそう。

Miles)
Laravelは完全にリトルロックで生まれて、しかも資金調達とかもせずに、自分でコツコツ作り上げた感じだよね。
起業を考えてる人って、「会社を始めるのってめちゃくちゃ大変そう…」って感じることが多いよね。
「まずは資金調達して、シリーズAを成功させなきゃ」「シリコンバレーに移らないとダメかも」とか、いろんなことを考えちゃう。
でも、君はリトルロックの自宅からLaravelという“帝国”を築いたわけだよね。どうして資金調達せずにブートストラップ(自己資金での立ち上げ)で進めたの?
どうして今までこっち(シリコンバレー)に来なかったの?

Taylor)
Laravelを始めた頃は、単純に「僕がそこ(リトルロック)にいたから」っていうのが一番の理由かな。
もし最初からシリコンバレーにいたら、正直なところ、ちょっとビビってたかもしれない。だって、こっちにはすごいことをやってる人たちがたくさんいるからね。
でもアーカンソーでは、周りに起業してる人がほとんどいなかったから、誰とも比較することなく、ただひたすらLaravelに集中できたんだ。
周りを気にせず、レーザーフォーカスで開発に取り組めたのはすごく大きかったと思う。

Miles)
もし明日、新しく何か始めるとしたら、また同じようにブートストラップする?

Taylor)
いや、必ずしもそうとは限らないかな。
LaravelとAccel(投資ファーム)との関係がすごく良くて、そのメリットを実感してるしね。
もちろん、資金調達するかどうかは個人の好みだけど、アイデアによってはベンチャーキャピタル(VC)を活用するのもめちゃくちゃ価値があると思う。
特にAccelみたいな良いVCは、すごい人たちと繋いでくれるし、的確なアドバイスをくれる。そういうのって、ビジネスを成長させる上で大きいんだよね。

Miles)
とはいえ、ブートストラップにもメリットはあったと思うんだけど、それってどんなところ?
君の会社の作り方って、すごくオリジナルというか、シリコンバレーの「こうあるべき」みたいな固定観念に縛られてない感じがするんだよね。

Taylor)
確かに、そこはあるかも。
さっきも言ったけど、ビジネスをやってると、いろんな“ウサギの穴”(誘惑)にハマっちゃうことがあるんだよね。
でも僕は、とにかくLaravelを最高のプロダクトにすることに全力を注いでた。
今でも一番情熱を注いでるのは、Laravel ForgeやLaravel Cloud、Nightwatch(Laravel関連のサービス)を最高のプロダクトにすること。
良いプロダクトを作れば、自然とうまくいくと思うし、ユーザーが満足してくれたら、それがビジネスの成功に繋がるって信じてる。

ブートストラップの良さって、ある程度、自分のやりたいようにできる自由さがあることなんだよね。
会社の運営や事業の方向性を、自分のライフスタイルに合わせて調整できる。
でも、逆にブートストラップには「会社より自分の利益を優先しがちになる」っていう落とし穴もあるんだよね。
どうしても保守的になりがちで、「確実に利益を出せるもの」を優先して作るようになっちゃう。
リスクの高い大きな挑戦を避けがちになるというか。
振り返ってみると、Laravelの初期の頃は、ユーザーが求めてるような“もっと野心的なプロダクト”を作るべきだったのかもしれないなって思うこともある。
でも、今はそこにしっかり取り組めるようになったから、それは良かったと思ってる。

起業家としての成長

Miles)
なるほどね。じゃあ、Laravelの進化だけじゃなくて、君自身の進化についても聞かせてよ。
起業家として、最初は自信がなかったけど、コミュニティが成長して、製品の採用が進んでいく中で、「これはビジネスとして成立する!」って確信を持てるようになった感じ?

Taylor)
そうだね。最初は「ただ自分の問題を解決したい」って気持ちが強かったんだよ。
Laravelは、僕自身が「PHPで素早くアプリを作れるようにしたい」っていう理由で作ったし、
Laravel Forgeも「サーバーを簡単にセットアップできるツールが欲しい」っていう、自分のニーズから生まれたんだ。
で、「きっと他の人もこの問題に困ってるんじゃないか?」って思って公開したら、やっぱり需要があったって感じ。

でも、僕って結構慎重派で、最初は「Forgeが家のローンを払えるくらい稼げればいいな」くらいにしか思ってなかったんだよね(笑)。
そしたら、リリースして1ヶ月くらいで、会社の給料より稼げるようになって、「え、マジで?」ってなった(笑)。
で、気づいたらLaravel一本で生活できるようになって、人生が一気に変わったんだ。

Laravelコミュニティの存在

Miles)
すごいよね。
それにしても、Laravelって言えば、やっぱり「コミュニティ」の存在が欠かせないよね。
初期の頃、コミュニティがめちゃくちゃ活発になってるって気づいたのって、どんな瞬間だった?

Taylor)
初期の頃の兆しとして覚えてるのは、Laravelを最初に公開した時に、ディスカッションフォーラムを作ったことかな。
ユーザーが質問したり、フィードバックをくれたりする場を用意したんだけど、そこに24時間ずっと誰かがいたんだよね(笑)。
まるでLaravelに人生を捧げてるかのように。

オープンソースプロジェクトの中でも、LaravelみたいなフレームワークやReact、Vue.jsみたいなツールって、開発者の日常にめちゃくちゃ影響を与えるんだよ。
なぜなら、彼らはそれを仕事で毎日8時間使ってるからね。
つまり、僕が作ったツールが彼らの仕事を楽にして、しかも使ってて楽しいって思ってもらえたら、それはもう人生レベルでの影響になるわけ。
そういうツールって、自然と愛着が湧いて、コミュニティが熱狂的になっていくんだと思う。

特にPHP界隈は2010年〜2011年頃、ちょっと停滞してた時期だったんだよね。
「もうPHP辞めて、Node.jsとかRuby、Pythonに移ったほうがいいんじゃない?」って考えてた開発者も多かった。
その頃、他の言語では新しいフレームワークやライブラリがどんどん生まれてたのに、PHPは「ちょっと遅れてるな…」みたいな雰囲気があったんだ。

そんなタイミングでLaravelが登場して、PHP界隈の空気が一気に変わったんだよね。
PHP関連のフォーラムとかチャットで、「そろそろ別の言語学ぶべきかな?」みたいな話がされてたんだけど、Laravelが出てきた途端、
「おお、PHPにもついにクールなフレームワークが来たぞ!」って感じで、議論の方向がガラッと変わった。
みんな「これならPHPでまだまだやれる!」って思えたし、それがLaravelへの強い愛着に繋がったんだと思う。

Miles)
Laravelのコミュニティって、すごく優しくて、支え合う雰囲気があるよね。
もちろん、めちゃくちゃ野心的な人たちも多いけど、基本的にポジティブで温かい。
今ってネガティブなコミュニティが多いけど、どうやってLaravelのコミュニティはこんなにポジティブな文化を築いたの?

ちょっと嫌がるかもしれないけど…Laravelのコミュニティって、君自身の性格が反映されてる気がするんだよね。
つまり、すごく支え合いの精神があって、謙虚で、温かい感じ。

Taylor)
いや、実はそれ、最初から意識してたことなんだよね。
Laravelをリリースした時点で、「どういうコミュニティにしたいか」っていう方向性はちゃんと考えてた。

僕は、「誰だって何かの一員になりたい」っていう気持ちがあると思ってて、
それがスポーツチームでも、ボランティア活動でも、オープンソースプロジェクトでも、何かしらの「所属できる場所」を求めてると思うんだ。

オープンソースって特に面白くて、世界中どこに住んでるかとか、どんなバックグラウンドがあるかとか、お金持ちかどうかとか、
そういうのに関係なく、誰でも参加できるんだよね。
「みんなで一緒に何かを作る」っていう共通の目標があって、それが強い一体感を生む。

だから僕は、そういう「みんなが集まれる場所」をLaravelのコミュニティに作りたかったんだよね。
ただコードを書く場所じゃなくて、開発者同士が交流して、楽しみながら成長できる場所を作ろうと思った。
その結果、今では世界中の何千人もの開発者が集まる場になったし、
「Laravelのコミュニティがあるからこそ、PHPを続けてる」っていう人もいるくらいだよ。

SNSの流行と現実の差

Miles)
前に君が言ってたことを思い出したんだけど、ちょっと正確に覚えてないから雑に言っちゃうけど…
「Twitterを見てると、シリコンバレーの“クールなプロジェクト”ばっかり流れてきて、みんな最先端のオープンソースフレームワークに移行してるように見えるけど、
現実の世界ではPHPが動かしてるんだよね」みたいな話してたよね?

Taylor)
うん、それは今でも思うよ。
最初の頃からずっとそうで、僕が働いてた会社なんてCOBOLがメインだったからね。COBOLなんてPHPより遥かに古い技術だし(笑)。
でも実際には、世の中にはめちゃくちゃ多くのソフトウェアがあって、そのほとんどはシリコンバレーの人たちが「古臭い」と思うような技術で動いてるんだよね。
でも、それが現実なわけで。だから、僕はそういう人たちのためにLaravelを作ってるんだ。

Miles)
そうそう、それで思い出したんだけど、去年、僕のパートナーのCaseyがDan LaVineと一緒にオープンソースのカンファレンスを開いたんだよね。
その時に、オープンソースの有名な創業者たちが集まって、すごく面白いディナーがあったんだ。
で、その場でKramerが「もし今日、新しい会社を始めるなら、どの言語を選ぶ?」っていう質問を投げかけたんだよ。
ただし、自分が作った言語やフレームワークは選んじゃダメってルールで。

それで、みんながいろんな言語を挙げていったんだけど…
「モバイルには向いてないよね」とか「処理速度が遅い」とか「エンジニアの数が足りない」とか、いろいろ問題点が出てきて。
最終的に部屋中が「うーん…やっぱりLaravelとPHPが無難じゃない?」みたいな雰囲気になったんだよね(笑)。

Taylor)
それ、めっちゃ分かるわ(笑)。
結局のところ、LaravelとPHPが一番早くスタートできるんだよね。だから、それを選ぶのは理にかなってる。

Laravelの商業化

Miles)
じゃあ、Laravelに商業的な価値があるって気づいたのって、いつだった?
最初はオープンソースとして作って、すぐに大きなコミュニティができたけど、「これ、お金にできるんじゃないか?」って思った瞬間ってあった?

Taylor)
うん、それはあったね。
初期のLaracon(Laravelのカンファレンス)で、参加者が僕に「Laravelを使ってるおかげで、うちの会社は年間5000万ドル(約75億円)稼いでるよ!」って言ってきたんだよ。
で、その時思ったんだよね。「え、そんなに儲かってるのに、僕は1円も稼げてないの?これってなんかおかしくない?」って(笑)。

当時のLaravelは完全にオープンソースで、僕自身はそこから何の収益も得てなかったから、
そういう話を聞いて、「もしかして、Laravelを使ってる企業向けに何か商業サービスを提供すれば、僕も収益を得られるんじゃないか?」って考え始めたんだよね。

Miles)
なるほどね。でも、Laravelを商業化するって決めた時、反発はなかった?
オープンソースと商業化のバランスって、どう考えてた?

Taylor)
正直、めちゃくちゃ心配してた。
「オープンソースの精神に反するんじゃないか?」とか「コミュニティが離れていくんじゃないか?」とか、いろいろ悩んだよ。
でも、実際には思ってたほどの反発はなかったんだよね。

オープンソースのライブラリを作って、それが人気になったら、絶対にぶつかる壁があるんだよね。
「どうやってこれを持続可能にするか?」っていう問題。

もし商業化する手段を見つけられなかったら、結局、空き時間で開発を続けるしかなくなる。
昼間は普通に仕事して、そのあと夜中の2時までオープンソースのコードを書いて…っていう生活になっちゃう。
そんなの、長く続けられるわけがないんだよね。

だから、大規模なオープンソースプロジェクトのメンテナーは、最終的にこの問題に直面する。
で、うまく商業化して、オープンソースのコア部分を支える収益源を作るか、
もしくは完全に燃え尽きるか、あるいはコミュニティベースのメンテナンス体制に移行するかのどれかになる。
ただ、委員会形式のメンテナンス体制って、正直、あんまりうまくいかないんだよね…。

だから、Laravelを商業化するのはちょっと心配だったけど、思ってたほどの反発はなかった。
本当にありがたかったよ。

Miles)
そういえば、初めて君に会った時の話を覚えてるよ。
僕らは、君のことを「リトルロックのオープンソース愛に溢れた非商業主義の人」だと思ってたんだよね(笑)。
だから、「商業化の仕組み」を説明するために、プレゼン資料まで用意してたんだよ。

その中に「商業化のフライホイール」っていうスライドがあったんだけど、
「成功するオープンソースプロジェクトは、ちゃんと収益化の仕組みが回ってるんだ」って説明しようとしたら、
君が「いや、お金稼ぐこと自体はわかるよ?」って感じで、めっちゃスムーズに理解してくれて(笑)。
で、「あれ、じゃあ次のスライドに行こうか…」ってなったんだよね。
そこから話が一気に面白い方向に進んでいった。

それで、最初に価格設定を試したのって、どんな感じだったの?
ある日突然「この会社、50台もサーバー管理してるし、月500ドルくらい払ってくれるんじゃね?」みたいな感じで試したの?

Taylor)
うーん、正直言うと、僕って昔から価格設定があんまり得意じゃなくて(笑)。

Laravelは2011年から2014年まで、完全にオープンソースだけだったんだよね。
で、2014年に初めてLaravel Forgeをリリースして、その時の価格プランは月額10ドルと20ドルだったんだ。
しかも、一番高くても20ドルしか払えないっていう(笑)。

まあ、最初は本当に手探りだったし、どうすればいいのか分かってなかったんだよね。
それに、ずっと「コミュニティが離れたらどうしよう」っていう不安もあった。

オープンソースのプロジェクトが商業化すると、どうしても「バランス問題」が出てくるんだよ。
「この会社、オープンソースをダシにして、商業サービスに力を入れすぎるんじゃないか?」っていう懸念を持たれやすい。
だから、僕はいつも意識してるんだよね。

Laravelのオープンソース部分を常に最優先にして、しっかりメンテナンスすること。
その上で、商業サービスを「オープンソースの良さを引き立てる形」で作ること。
それを守ることで、コミュニティとの信頼関係も維持できるんじゃないかと思ってる。

Accelとの出会い

Miles)
じゃあ、ちょっと話を戻して…僕らが最初に出会った時のことを話そうか。
Laravelはもうすでに巨大なコミュニティがあって、僕らは何年もずっとその成長を見守ってたんだよね。
それで、君は投資ファームからメールや電話、郵送物とか、いろんな形で突然連絡が来るようになったよね。
実は聞いたことなかったんだけど、僕たち(Accel)から連絡が来たとき、どう思ってた?

Taylor)
まあ、そういうメールは毎週のように来てたからね。
どれが本物で、どれがちょっと怪しい話なのか分からないことも多くて、基本的には「削除」ボタンを押して終わりだった(笑)。

でも、実際にAccelとちゃんと繋がったのは、君たちがLaraconに参加して、
顔を合わせて自己紹介してくれたときだったんだよね。
そこでちゃんとした個人的なつながりができたのが大きかった。
実際、投資ファームでそこまでやってくれたのってAccelだけだったんじゃないかな?
だから、それはすごくありがたかったし、そこから初めてちゃんとした会話が始まった感じだったよ。

Miles)
じゃあ、その考えが変わったきっかけって何だった?
Abigail(Taylorの妻)と話したこと?
それとも、ビジネスプランを見直したこと?

Taylor)
うーん、一番大きかったのは、今までの旅を振り返る中で、深く考え直したことかな。

最初は、資金調達することに抵抗があったんだよね。
「コミュニティから“ああ、ついにTaylorも金儲けに走ったな”って思われるんじゃないか?」っていう不安があった。
でも、もっと深く考えてみると、もしかして僕の考え方が完全に間違ってるんじゃないか?って思い始めたんだ。

本当の意味で“売り渡す”っていうのは、むしろこのまま何もしないことなんじゃないか?って。
僕はこれまで、作りたいものをほぼ全部作ってきたし、チームと一緒に開発できる環境もあった。
会社も順調だったし、収益も安定してた。

でも、このまま「まあ、この調子でやっていけばいいよね」って現状維持し続けることこそ、
Laravelと一緒に13年間歩んできたコミュニティを裏切ることになるんじゃないかって思ったんだ。

むしろ、Laravel CloudやNightwatchみたいな、これまでにないレベルのプロダクトを作ることこそ、
コミュニティが本当に求めていることで、それを実現するためには、もっとリソースが必要になる。
今まで一緒に成長してきた人たちが「次に進めるもの」を提供することこそ、僕がやるべきことなんじゃないかってね。

Accelからの資金調達による変化

Miles)
今からPodcastで「フィードバックを聞く」っていうのは、ちょっと危険かもしれないけど(笑)。

僕たちが最初に話したときの趣旨って、
「Taylor、君は今まで通り好きなことをやればいいし、会社のコントロールも君のまま。
僕たちは、君のプロダクトビジョンを支援したいだけで、ただもっとリソースを提供するだけだよ」
っていう話だったよね。

実際、話してた通りになってると思う?

Taylor)
うん、それは間違いないね。
Accelが提供してくれた人脈のつながりは、Laravel Cloudの開発にめちゃくちゃ役立ってるし、
特に、僕たちの旅をサポートしてくれるキーパーソンを紹介してもらえたのは大きかった。

結局のところ、最初にリトルロックで話したロードマップ通りに進んでるんだよね。
最初のミーティングで描いてたプレイブック(戦略)を、そのまま実行してる感じ。
だから、ここまでのパートナーシップはすごく良いものになってると思うよ。

Miles)
でもさ、正直なところ、一番の「トレードオフ(犠牲にしたもの)」って何だった?
ぶっちゃけ、僕の気持ちは気にしなくていいから(笑)。

今朝も取締役会(ボードミーティング)をやったけど、
君は元々、こういう会議をやる必要なんてなかったわけだし。
それに、前は管理するのが数人だったのが、今では何十人ものチームを見ないといけない。
投資を受けることで良いこともあったけど、きっと悪いこともあったはずだよね。

じゃあ、今ブートストラップでやってる人たちに「資金調達を考えるなら、これだけは知っておけ」っていうアドバイスをするとしたら、何を伝えたい?
「全体的にはメリットがあるけど、ここだけは気をつけろよ」っていうポイントがあれば教えて。

Taylor)
一番大きな変化は、やっぱり「マインドセットの違い」だと思う。

ブートストラップしてると、毎朝起きて「今日は何しようかな?」って自由に決められるし、
「とりあえず今のビジネスを続けていけばいいや」くらいの感じでやれるんだけど、
資金調達すると、一気に「Laravelを世界最高の会社にするぞ!」っていうモードに変わる。
これは、単に会社を維持するのとは全然違うレベルの野心的な目標だから、当然それに伴う変化もあるよね。

例えば、チームの規模が大きくなると、当然マネジメントの負担も増えるし、会議の数もちょっと増える。
とはいえ、僕の場合は週4回くらいのミーティングに抑えてるけど笑

Miles)
君のカレンダーには極力予定をいれないようにしてるよ(笑)。

Taylor)
でもね、結局のところ、僕にはこういう新しい挑戦が必要だったんだと思う。
自分自身を成長させるために、少しコンフォートゾーン(居心地のいい領域)を超えてみることが必要だったんだよね。
プロダクト開発者としても、CEOとしても、ビジネスマンとしても、新しいチャレンジが必要だったんだ。

Miles)
うん、それは僕たちにとっても同じだったよ。
外から見てるだけでもLaravelはすごいプロジェクトだって分かってたけど、
実際にコミュニティに会いに行ったり、Laraconに参加したりしないと、本当の魅力は分からなかった。

ナッシュビル、インド、ポルトガル…いろんな国のLaraconに行ったけど、
データ上の数字だけじゃなくて、その裏にある熱量を実感できたのが、本当にワクワクした瞬間だったよね。

Taylor)
そうだね。
他のテック系カンファレンスと比べて、Laraconの一番の違いは「みんながちゃんとステージの話を聞いてる」ことだと思う。

他のカンファレンスだと、廊下で雑談してたり、ラップトップを開いて別の仕事してたりする人が多いけど、
Laraconではほとんどの人が、登壇者の話に集中してるんだよね。
それが、Laravelのコミュニティの「本気度」を表してると思う。

Sentry創業者David Kramarとの会話

Miles)
さて、それで…君をシリコンバレーに呼び出すまで、結構時間がかかったよね(笑)。
でも、最終的には「Accelのチームを知ってもらおう」「君がどういう人たちと関わることになるのか見てもらおう」ってことで、
いろんな人を紹介したよね。

特に、SentryのDavid Kramer(このポッドキャストでもおなじみだし、Laravelのコミュニティでもよく知られてる人)を紹介したときは、
二人を部屋に入れて、「まあ、あとは勝手に話してくれ」って感じで放置したんだけど(笑)。

あのとき、どんな話をしたの?

Taylor)
David(Sentryの創業者)とは、やっぱり「開発者からスタートアップの創業者になった」という共通の背景があるから、すごく話が合ったんだよね。
僕もDavidも、最初はただのプログラマーで、「こんなプロダクトがあったらいいな」って思って、それを作り始めた。
それが気づいたらビジネスになって、会社を経営する立場になってたわけだから。

開発者が会社を作ると、どうしても「仲間意識」みたいなものが生まれるんだよね。
同じような道を歩んできたからこそ、「開発者がCEOになるってどういうこと?」とか、「どんなマインドセットが必要なのか?」みたいな話ができた。

Davidが言ってたのが、「もし君が本気でやるなら、Laravelを世界最高の会社にすることを目指さなきゃいけない」ってこと。
「それが目標じゃないなら、そもそもこの道は向いてない」ってね。
その言葉はすごく考えさせられたし、ブートストラップ時代のマインドセットとはまったく違うなって思ったんだよ。

あのミーティングでの最大の学びは、まさにそこだったな。

企業のCEOとして感じる変化

Miles)
じゃあ、その「開発者 → 創業者 → CEO」っていう流れを振り返ると、どんな感じだった?
実際にやってみて、どうだった?

Taylor)
正直、めちゃくちゃストレッチ(成長のための挑戦)させられたね。
僕って、もともとかなり静かなタイプで、そんなにベラベラ喋る方じゃないんだよ。
どっちかっていうと、じっくり考えて問題を整理して、「こういう風に進めよう」って文章にまとめるのが好きなタイプ。

でも、会社が成長すると、やっぱりちょっとずつ変わらなきゃいけない。
前は3年間くらいほぼノーミーティングだったのに、今では週4〜5回はミーティングがある。
Cloudチーム、Core Servicesチーム、Nightwatchチーム、それぞれと話をするし、
1on1のミーティングも増えた。

とはいえ、そんなに負担にはなってないし、むしろこれくらいのチャレンジは自分に必要だったんだと思う。
自分のコンフォートゾーンから一歩踏み出すことで、成長できてる感じがするよ。

Laravel Cloud・Laravel Nightwatch

Miles)
で、Laraconではついに「Laravel Cloud」と「Nightwatch」を発表したわけだけど、
ここまでやってきて、「資金調達した価値はあった」って思う?

Taylor)
うん、完全に価値があったと思う。
Laravel CloudとNightwatchは、間違いなく今までで最高のプロダクトになってるし、
リリースするのが本当に楽しみなんだよね。

Laravelをずっと「最高の開発体験を提供するフレームワーク」にしたいと思ってきたんだけど、
それって「ローカル開発から本番環境にデプロイするまで、すべてがスムーズにできること」が大事なんだよ。
で、Cloudはまさにその「デプロイまでのストーリー」を完結させるものになった。

2011年にLaravelを作り始めた頃に、「Laravelが最終的に目指すもの」って考えてたビジョンが、
ようやく形になったって感じがしてるよ。

会社のスケールへの対応

Miles)
じゃあ、その「会社としてのスケール(成長)」についても聞きたいんだけど、
すごいのは、チームが大きくなったのに、君は今でも「週4回のミーティング」しかしてないってことなんだよね。

多くの創業者は、会社が急成長すると「マネジメントが大変すぎる!」ってなるけど、
君はどうやってそれを乗り越えてるの?
どんな工夫をしてる?

Taylor)
一番大事なのは、「信頼できる人を採用する」ってことかな。

僕が一番好きなのは、「自分で考えて動ける人」と一緒に仕事をすること。
例えば、何かのプロダクトで「こういう問題があるんだけど…」って僕が数行の説明をするだけで、
彼らが自分で考えて、センスのある解決策を持ってきてくれるようなチームを作るのが理想なんだよね。

で、実際に「これ、まさに僕がやろうと思ってたやつだ!」って感じのアイデアが出てくると、最高なんだよ(笑)。
そういう風に、チームのリーダーや開発者が、自分で考えて素晴らしいソリューションを生み出せる環境を作るのが大事。

それができれば、僕がいちいち細かく指示しなくても、チーム全体がちゃんと回る。
だから、ミーティングの数も増やさずに済んでるんだよね。

特にNightwatchのチームは、ほとんどのメンバーがオーストラリアで日本にいるメンバーもいて、
必然的に非同期(Async)な働き方をしなきゃいけないんだけど、それがむしろいい方向に働いてると思う。

距離があるからこそ、みんなが自分のスタイルとセンスを持ってプロダクトに貢献してくれてるし、
僕がフィードバックを与えるだけで、彼らがいい形に仕上げてくれるんだよね。

そういう意味では、最高の開発者って「自由を持って働きたい」んだと思う。
指示待ちじゃなくて、自分のクリエイティブなアイデアを形にできる環境を求めてる。
それが実現できると、みんなが楽しく働けるし、良いプロダクトも生まれるんだと思うよ。

直近1年のLaravelチームの成長

Miles)
めちゃくちゃいいね。
じゃあ、会社の成長について、具体的な数字を教えてよ。
1年前のLaravelのチームと、今のLaravelのチーム、どれくらい変わった?

Taylor)
1年前…つまり、Accelとパートナーを組む直前のLaravelは、だいたい10人くらいのチームだったんだよね。
僕と、エンジニア8人、カスタマーサポート1人。
マーケティングもなかったし、営業もなし。
デザインすら、フルタイムじゃなくて、契約ベースだったんだよね。

でも、今は50人規模の会社になってる。
デザイナーも増えたし、エンジニアも増えた。
専任のインフラエンジニアもいるし、ついにマーケティングチームまでできた!
つまり、「僕のツイートがマーケティングの全て」じゃなくなったってことだね(笑)。

それだけじゃなくて、会社を運営する上で僕のスキルを補完してくれる人も増えてる。
Tom Crary(COO)みたいな人がチームに加わったのは、本当に大きかったね。
僕はどっちかというと、技術的なプロダクトの設計を考えるタイプだけど、
Tomはすごくビジネスに強いから、お互いのスキルセットを補完し合えるんだよ。
だから、この組み合わせはめちゃくちゃ良かったと思う。

それに、正直言うと、ここまでの採用は全部すごく上手くいってるんだよね。
Laravelには「素晴らしいプロダクトを作って、コミュニティに貢献したい」っていう人が集まってる。
Tomも僕も、採用に関してはずっと同じ価値観を持ってるし、
そういう人たちと一緒に仕事ができるのは、本当に楽しい。

Miles)
それに、君たちはLaravelのコミュニティから多くの人材を採用してるよね。
つまり、君が何年も関わってきた人たちがチームに加わってるってこと。
中には個人的に知ってる人もいるだろうし、
少なくとも彼らの仕事ぶりはずっと見てきたわけだから、
すごく「Laravelらしい」やり方で採用してるのが面白いよね。

あと、Tomの話をもう少し掘り下げようと思うんだけど、
彼って、Laravelにとって最初の「ビジネス系の外部採用」だったわけだよね?
外部から初めて経営陣に迎える人を選ぶのって、めちゃくちゃ重要な決断だったと思うけど、
どうだった?

Taylor)
正直、思ってた以上に重要だったね。
Tomを迎えたときは「まあ、いい感じになるといいな」くらいの気持ちだったんだけど、
実際に一緒に仕事をする中で、「この判断、めちゃくちゃ大事だったな…」って後から気づいた(笑)。

もしここで間違った人を選んでたら、すごく大変なことになってただろうね。
だから、うまくいって本当に良かったと思う。

Tomと僕は、持ってるスキルがちょうど補完し合える関係なんだよね。
例えば、Laravel Cloudのために新しいサービスを導入しようとするじゃん?
僕だったら「お、いいね!契約しよう!」ってすぐサインしちゃうと思うんだけど、
Tomは「いやいや、この価格は高すぎるだろ」って交渉してくれるタイプなんだよ(笑)。

僕らのやり方は違うけど、それがいいバランスになってる。
だから、Laravelにとってすごくいい組み合わせになったと思うよ。

Miles)
君たちって、本当に「謙虚な人しか採用しない」よね(笑)。
Tomもその典型的な例だけど、君が静かに考えて「これが最善の道だ」って文章にまとめるのに対して、
Tomはそれを会社全体に広めて、みんなに実行させる力がある。

言ってみれば、Tomがいることで、君の考えが会社全体にスケールするんだよね。
この組み合わせは本当に見てて面白いし、最高のパートナーシップだと思うよ。

Laravelの5年後

Miles)
じゃあ、ちょっと未来の話をしようか。
この前のAaron Francisとの対談では、Laravel Cloudのビジョンについてめちゃくちゃ細かく話してたよね。
僕が同じ質問をしても、たぶんAaronほど上手く引き出せないと思うから(笑)、
もう少し大きな視点で、「Laravelの5年後」について聞かせてよ。

Taylor)
5年後の姿としてはまず、Laravel Cloudは「Laravelアプリをデプロイするならまずはこれ!」っていう存在にしたいね。
それだけじゃなくて、PHPアプリ全体を対象にしてもいいかもしれない。
さらに言えば、「あらゆるバックエンドWebアプリをデプロイする最適なプラットフォーム」にする可能性もある。
でも、まずはLaravelのユーザーにとって最高の体験を提供することが最優先だね。

Laravelって、Webアプリを作るのに最適なフレームワークだと思うんだよ。
だから、これから新しくWebアプリを作る人には「とりあえずLaravel使おう!」って思ってもらいたい。
で、Cloudを使えば、そのまま簡単にデプロイできるようにする。

あと、Nightwatchについても、単なる「アプリのインサイトを提供するツール」以上のものにしたい。
エラーやセキュリティの問題を検出するだけじゃなく、
それを自動で修正してくれるような仕組みを作りたいんだよね。

Laravelの強みは、「フレームワーク」「デプロイ環境」「モニタリングツール」を全部自分たちで作ってること。
だから、例えば「パフォーマンスが悪くなってるよ」っていう問題を検出したら、
GitHubにプルリクを自動で送って、最適化したコードを提案できる。
で、そのままCloudにデプロイ…みたいな流れを作れると思うんだよね。

5年後から振り返ったときに、「Laravelがここまで進化したのか…!」って驚けるような未来にしたいね。

Miles)
それって、めちゃくちゃワクワクするね。
でも、すごいのは、会社が成長しても「Laravelの中心はコミュニティ」っていう姿勢がブレてないことなんだよね。

さっきの取締役会でも、最初のスライドに書いてあったのは、
会社の北極星はコミュニティ」だった。
「コミュニティの求めるものを提供する」「コミュニティが活発であること」
これを見失ったら、すべてが意味を失うっていう考え方は、本当に素晴らしいよ。

これは、ずっとブートストラップでやってきた経験があるからこそ、
大切にされてる価値観なんだろうなって思う。

Outro

Miles)
いやー、今回君と話せてとても楽しかったよ!
今日は本当にありがとう!

Taylor)
こちらこそ、呼んでくれてありがとう!

MaruMaru

2025/02/25
Laravel Podcast Season7 Episode 1

Laravel史上最大の日(The Biggest Day in Laravel History)

Matt Stauffer(Tighten CEO) x Chris Sev(Laravel DevRel Director)

https://www.youtube.com/watch?v=2npdKBgxI3Y

Part2

Laravel Cloudの旧バージョンサポート方針

Matt)
で、話は変わるんだけど、Cloudの話をすると毎回誰かからこの質問が来るんだよね(笑)。

で、今回もまた質問が来たから、それをChrisに投げてみようと思う。

この質問、実は前にTaylorにも聞いたことがあるんだけど、うまく伝えられなくてちゃんとした答えがもらえなかったんだよね。でも、同じ質問がまたリスナーから届いたから、改めて聞いてみる。

「Cloudにアプリをデプロイした場合、将来的に強制的にアップグレードさせられることはあるのか?」

最初にこの質問をTaylorにしたとき、「古いLaravelアプリをCloudにデプロイできるのか?」っていう形で聞いちゃったんだけど、本当に知りたいのは「今は最新のLaravelで作ったアプリでも、数年後にCloudの仕様が変わったら、強制的にアップグレードしないと動かなくなるのか?」ってことなんだよね。

このあたりの後方互換性の扱いについて、Cloudではどう考えてるのか、Chrisは何か知ってる?

Chris)
うん、CloudがサポートしてるのはLaravel 9以上なんだよね。

Laravel 9ってすでに結構前のバージョンだから、そこまで厳しい制約じゃないと思う。
それに、この制限の理由は、Laravel 8以前だとPHP 7.3とかが関係してくるからなんだよね。

だから基本的に、PHP 8系が動く環境であれば、Laravel 9以上ならCloudで問題なく動くってことになる。

Matt)
なるほどね。
で、これを聞いて、Titanで管理してる**「php.releases.com」と「laravel.versions.com」の2つのサイトのことを思い出したよ。

このサイトでは、各バージョンのリリース日、サポート終了日、セキュリティアップデート終了日がすぐに確認できるんだよね。

で、今Chrisが「CloudはLaravel 9以上に対応してる」って言ったから、すぐに確認してみたんだけど……Laravel 9って、すでにセキュリティサポートすら終わってるんだよね。
でも、それでもCloudではちゃんとサポートされてる。
個人的には、これってすごく重要なことだと思ってて。

オープンソースの世界には「みんな最新バージョンを使うべき!」って考える人もいるけど、実際には「どうしても古いバージョンを使わざるを得ない事情がある」っていう開発者も多いんだよね。

だからこそ、「強制的に最新バージョンにアップグレードさせるんじゃなくて、一定の互換性を確保しながらサポートする」っていう方針を取ってくれてるのは、めちゃくちゃありがたい。

それに、Chrisが言ったように、Laravel 8以前のバージョンはPHP 7.4の影響を受ける。
で、PHP 7.4のセキュリティサポートが2022年に終わってるってことを考えると、Laravel 9以上がCloudの最低条件になってるのは、すごく理にかなってると思う。

Cloudが2025年にリリースされるプロジェクトだってことを考えると、サポート対象が2〜3年前のバージョンまで遡れるっていうのは、かなり手厚い対応だよね。

僕自身、クライアントワークをしてると、「いろんな理由で古いバージョンのLaravelを使い続けなきゃいけない」っていう場面によく遭遇するから、この方針にはめちゃくちゃ安心したよ。

「Cloudは最新のLaravelしか使えない」っていうわけじゃなくて、「ある程度の互換性も考慮されてる」っていうのは、めちゃくちゃ重要なポイントだと思う!

Chris)
そうそう、それがLaravelの強みだよね。

Laravel 9、10、11あたりを使ってるアプリなら、今でも全然問題なく動いてるはずだし、何かが急激に変わるわけじゃない。
だから、すぐに焦ってアップグレードしなきゃいけないってわけじゃないんだよね。

Matt)
うん、そうだね。もしLaravel 5.8以上を使ってるなら、ある程度スムーズに最新バージョンへ移行する道があると思う。

実際、Laravel 6から10へのアップグレードをサポートしたこともあるけど、正直大変だった(笑)。だから、「アップグレードしたいけどキツい!」っていう人は、Jason McCreary(Laravel Shiftの開発者)に相談するのが一番早いかもね(笑)。

でも、もしLaravel 8、9、10、11あたりを使ってるなら、それはまだ「モダンなLaravelアプリ」と言えると思う。

もちろん、セキュリティ的には常に最新バージョンを使うのがベストだから、アップデートした方がいいんだけど、とはいえ「Laravel 9を使ってる=時代遅れのアプリを使ってる」っていうわけじゃない。

初期のLaravelの頃は、バージョン間での破壊的変更(Breaking Changes)が結構大きかったけど、最近はそういうことも少なくなったしね。だから、Laravel 9を使ってるからといって、古いアプリを使ってるわけじゃないんだよ。

Chris)
そうそう、Laravel 9なら「古いアプリ」とは言えないよね。

で、ちょうどいい流れだから言うと、Laravel 12へのアップグレードは「composer update」だけで完了するんだよね。
コードの変更は一切不要なはず。

Matt)
え、マジで!?

普段はポッドキャストのために事前にリサーチして、「知らなかったふり」をして話すんだけど(笑)、これは本当に知らなかった!

Chris)
ほんとだよ(笑)。
Laravel 12は完全にメンテナンスリリースみたいなものだから、基本的にはcomposer updateだけでOKなんだよね。

今回のリリースでは、Laravel Cloudをはじめとする新機能のリリースにフォーカスされてたから、フレームワーク自体の大きな変更はなかったんだ。
だから、Laravel 12のアップグレードは、今までで一番楽なバージョンアップになってると思うよ。

Matt)
それはめちゃくちゃ嬉しいね!

じゃあ、ここまででCloud、スターターキット、VS Code拡張、新しい公式サイト、Laravel 12っていう主要な話題を全部カバーしたわけだけど……

今日や今週のリリースの中で、まだ話してないけど触れておきたいことって何かある?

今週のイベント予定

Chris)
うん、今週はイベントも盛りだくさんなんだよね!

まず、今日2/24(月)はこのLaravel Podcastの配信日。
で、明日2/25(火)は2つのライブ配信が予定されてるよ。

1つ目は、スターターキットに関するライブ配信。
僕とChristoph Rumpelが一緒に、スターターキットの使い方を実際にデモしながら解説するから、気になることがあればぜひ質問してほしい。
みんなが「こんなこと知りたい!」っていうのがあれば、それに合わせて進めていく予定だよ!

2つ目は、Laravel Worldwide Meetup。
ここでは、Joe Dixonが登場して、Laravel CloudについてのQ&Aをやる予定。
Cloudについて気になってることがあれば、ここでしっかり質問できるよ。

Matt)
おぉ、それは楽しみ!

Chris)
で、2/26(水)にはさらにビッグイベントがあるんだよね。

TaylorがYouTuber & TwitchストリーマーのThePrimeagenのスタジオに行って、6時間ぶっ通しでLaravelの開発を配信する予定なんだ!

これはもう完全に「一緒に開発しよう!」っていう感じのライブ配信だから、Laravelの実際の開発の流れとかが見れるのはめちゃくちゃ面白いと思うよ。
配信はPrimeのTwitchチャンネルで行われる予定だね。

で、2/27(木)にはさらにAMA(Ask Me Anything)がある。

Joe Dixonがr/laravel(LaravelのRedditコミュニティ)でAMAを開催するから、今すでにRedditに質問を書き込んでおけば、木曜日にJoeがそれに答えてくれるはず。

だから、今週は単なるリリースだけじゃなくて、ライブ配信やQ&Aセッションがたくさん用意されてるから、気になることがあったらどこかで質問できるチャンスがあるってことだね!

Matt)
すごいね、今週は本当に盛りだくさん!

Chris)
これ、まさに「ローンチウィーク」って呼べるんじゃないかな。
もう、月曜日に全部リリースして、連日イベントをやる感じだから、実質的には5日間にわたるローンチだよね。

Matt)
うん、そうだね。
もし今日の発表を見逃したくない人がいたら、Laravel XのTwitterアカウントが一番最新情報をチェックできる場所になるのかな?
それか、ほかにおすすめの場所はある?

Chris)
そうだね、基本的にはそれが一番だよ。
今日の月曜日にメールも送ったしね。
あと、Laravel Xはもちろん、LaravelのLinkedInもかなりアップデートが入ってるから、そっちもチェックしてほしい。

Matt)
LinkedInか…これで君たちもプロフェッショナルだってことが伝わるね(笑)。
もう大物の情報筋って感じ!

Outro

Matt)
さて、Chris、今日話してなかったけど、これからのイベントで触れてほしいこととか、取り上げてほしいテーマってある?

Chris)
うーん、今週の先の話なら、Night Watchや、DenverでのLaraconとかがあるから、それらに注目していくといいと思うよ。

Matt)
それと、リスナーの皆さんに一つ伝えたいんだけど、僕はChrisだけじゃなくて、Laravelの他のメンバーも次のシーズンでどんどんポッドキャストに登場してほしいと思ってるんだ。
Taylorがメディアやプレスで忙しくなって、なかなかポッドキャストに顔を出せない中で、僕の次のシーズンのビジョンは、Laravelの社員全員にもっと自分たちの声を届けてもらいたいってこと。
コミュニティの皆さんにも、チームがどんなことに取り組んでいるのかを知ってほしい。

だから、もし「こんな質問が聞きたい!」とか、「Chrisは一番ハンサムだからまた呼んでほしい!」なんて意見があれば、ぜひ僕に送ってほしい。
ポッドキャストのショーノートに質問箱のリンクを載せる予定だから、そこから送ってもらえると嬉しいな。

Chris、今回新シーズンの幕開けにあたって一緒にやってくれて本当にありがとう。Laravelコミュニティに戻ってきてくれたこと、すごく嬉しいよ。
今日は本当にありがとう!

Chris)
いやー、ほんと楽しかったよ!話すことが多すぎて、時間が足りないくらいだったね(笑)。
今週はイベントもいっぱいあるし、どんな展開になるのか楽しみ! みんなで一緒に盛り上がろう!

Matt)
僕もめちゃくちゃ楽しみ! そして、リスナーのみんなも今日はありがとう!
また次回のエピソードで会おうね!

Chris)
みんな、ありがとう!またね! 🎉

このスクラップは3ヶ月前にクローズされました