ビルディングブロック・エコノミー
原文は Mitchell Hashimoto により に公開されました。 このブログを購読する
ソフトウェアを構築して大規模な普及を得るための最も効果的な方法は、もはや高品質な主力アプリではなく、他者が質より量を優先して作ることを可能にし、後押しするビルディングブロックを介したものになっている。1
- Ghostty、18ヶ月で:macOSのアップデートチェックが1日あたり100万回。
- libghostty、2ヶ月で:1日あたり数百万人のユーザー。2
同様の成長曲線は、他の「ビルディングブロック」テクノロジーでも見られる。Pi Mono、Next.js、Tailwindなどだ。
これを自ら体験し、他のエコシステムでも目の当たりにしたことで、商用か非商用かという目標の違いにかかわらず、今日のプロダクト開発やソフトウェア開発という実践に対する見方が根本的に変わった。
この記事はAIの支援なしに、自らの手で書いた。私はAIを愛し、存分に活用しているが、このようなコンテンツについては個人的に一線を引いている。個人ブログには自分の本心と考えを反映させたいからだ。
インポートは増加している
「ビルディングブロック」という言葉を使っているのは、今日の使われ方が過去数十年とはまったく異なり、組み立てられる部品として使われているからだ。「ライブラリ」や「フレームワーク」という言葉を使わないのは、その対象が「アプリケーション」にまで及んでいるからである(例えばGhosttyのGUIアプリは、これまでで最も多くのフォークを抱え、その上でカスタマイズされたパッチが当てられているが、これは素晴らしいことだ)。
今日の工場はエージェンティックだ3。これは感情の如何にかかわらず、客観的な事実として言っている。こうした工場から出てくるものの99%は完全なゴミだと主張することはできるが、その膨大な量まで否定することはできない。数字はあらゆる技術スタックや業界にわたって存在し、否定しようがない。
AIはゼロからすべてを構築するのはそこそこ得意だが、高品質で、ドキュメントが充実し、実績のあるコンポーネントをつなぎ合わせるのは本当に得意だ。そして、明示的にそうしないよう促されない限り、AIは可能なときはこの方法を好む。これが今日のソフトウェアの「ビルディングブロック」的な性質だ。私たちはこれまで以上に、既製品のコンポーネントを手に取ってつなぎ合わせている。
もちろん、人間も昔から同じことをしてきた。私のキャリア全体を通じて、人間のソフトウェア開発者は実績のあるプリミティブの上に構築することを好んできた。しかし、コンポーネントの断片を理解してとりあえず組み合わせるだけでも必要だった参入への自然な障壁は、エコシステムを制限するのに十分なほど高かった。この障壁は今やなくなった。
エクスポートは増加している
もちろん、これらの工場から出てくるのはソフトウェアだ。膨大な量のソフトウェアが。
これには悪い面もある。悪い面は十分に明らかなので多くは語らないが、存在することは認めておきたい。セキュリティの脆弱性、不安定さ、基幹を支えるシステムがどう動いているのかについての全般的な理解不足といったものだ。
しかし、良い面も非常に多い。
品質のハードルが低い。 幅広いユーザー層に使われる主力アプリケーションでは、すべての機能を他のすべての機能と天秤にかけなければならない。それらはどう相互作用するのか。長期的なビジョンに合致するのか。数百万人のユーザーに向けて維持できるのか。一方、1人から数百人を対象とした工場の成果物は、こうしたことを気にする必要がない。その結果、より速く、より緩やかに出荷できる。
認知度が高まる。 主力アプリケーションは何でもできるわけではない。通常、最も多くのユーザーが求め、利用するユースケースに最適化されている。工場の成果物は、ごく少数のユーザー層に最適化でき、その結果、そのユーザーたちはビルディングブロックの存在を知ることになる。Ghosttyでもこれを大いに実感している。非常にニッチなコミュニティがターミナルを手にするようになっているのだ。
メンテナンスの負担が軽い。 機能要望に対して「結構です」と断ることが、これまでになく容易になっている。なぜなら、生産手段の重要な一部を提供しているからだ。低品質な要望への対応の苦労は非常に公になっており、「no machine」を作ったほどだが、「ノー」と言うことへの罪悪感も日々薄れてきている。
研究開発がアウトソースされる。 メンテナーとして、他者が何をしているかを見て、動く概念実証を確認し、何を本流に取り込むかを決めることが、今でははるかに容易になった。口先だけの議論は大幅に減り、実際に動くものが増えた。そして他者が実行している間に、最良のアイデアだけを選りすぐることができる(これは公平なことだ。あなたはビルディングブロックを提供し、彼らはアイデアを提供しているのだから)。
影響
これは、ソフトウェアとプロダクト開発に対する私の見方を変えつつある。
私は、ビルディングブロックを作り、その上にアプリケーションやフォークが生まれることを奨励することに、より意識的になっている。これは、より幸せで、より大きなコミュニティ、そして最終的にはより良い主力ソフトウェアにつながっていると思う。
高品質なアプリケーションがなくなるわけではない。そして、ビルディングブロックの開発者によって作られた高品質なアプリケーションもなくならない。ほとんどのソフトウェアのカテゴリーにおいて、パーソナライズされた低品質なソフトウェアではなく、洗練され、よくメンテナンスされ、十分にサポートされたアプリケーションを求める多数派は常に存在すると思う。
むしろ、ビルディングブロック・エコノミーのおかげで、主力アプリケーションはより安定し、その機能セットはより目的意識の明確なものになっていると思う。安定性は、はるかに大きく多様なユーザーグループからもたらされる。機能セットは、膨大なアウトソースされた研究開発のエコシステムからもたらされる。主力アプリケーションは依然として節度があり、高品質で、よくメンテナンスされているが、それは特定のグループのためのものなのだ。
部屋の中の象:商業化
次に浮かぶ当然の疑問は、これが商業化にとって何を意味するのかということだ。クローズドソースの商用ソフトウェアは、大きな不利を被っているように見える。そして実際にそうだ。
エージェントは、クローズドで商用なソフトウェアよりも、オープンで無料のソフトウェアをより容易に選ぶ。この記事を書いている時点では、これは客観的な事実だ。人気のあるモデルで実験を行った独立系の研究機関は、多様な状況下でモデルが商用よりもオープンで無料の代替を選ぶことを繰り返し発見している。少なくとも今のところは。
しかし、ここで具体的な答えは持ち合わせていない。なぜなら、プロダクトやソフトウェア開発とは異なり、今は直接商業化可能なプロダクトを作っているわけではないからだ。考えはあるし、他の難しい問題と同じく、答えはニュアンスに満ちたものだと思う。しかし、これについて権威ある口ぶりで語っているかのような錯覚を与えたくないので、深入りは避けることにする。実際に実行してより多くを学んだら、また共有したい。
ここでも、この課題が明らかに存在することを単に認めておきたい。
転換はすでに起きた
私たちは、ビルディングブロックとソフトウェア工場が身の回りのすべてを支配していることを受け入れ、その結果を受け止め、内面化しなければならない。
私たちは逆方向に走り、それに抗う飛び地を作ることもできる。あるいは、完全に混沌に身を委ねることもできる。私を知る人は、私の行動がそれほど極端ではなく、文脈によって異なる意見を持っていることを知っているだろう。
要点は、転換はすでに起きたということだ。私たちはその中に生きている。
脚注
ただし、ビルディングブロック自体は通常、高品質で、堅牢で、十分に文書化されていなければならない。↩
Ghosttyには実質的なトラッキングがないため、正確な数値を得るのは明らかに困難だ。macOSについては、アップデートファイルのチェックの集計を見ることができる。Linuxについてはまったく把握できない。libghosttyにはトラッキングがないが、libghosttyを統合しているツール側にはトラッキングがあり、集計を共有してくれたものがある。↩
ここで「エージェント」という言葉は、単にツールへのアクセスを持ちループ内で動作する大規模言語モデルを意味するために使っている。マーケティング用語を使って誇張したり気取ったりしようとしていると思われることもあるが、これは特定の、広く受け入れられた定義として使っている。↩
記事をランダムに読む
コメント
ログインしてコメントする