開放性と具体性

最近もろもろで気になっていたことについてまとめ……られないので、書きながら考えます。わかりやすい入り口としては 「Just for Fun」から遠く離れて になるのでしょうが、これだけだと今回考えたい方向性からはちょっとずれるので、そこで参照されているものとそのほかを改めて見つつ、こう。

そもそも、OSSやWeb上の知識を使っても実際にそこへ還元しないみたいなフリーライド自体はエーアイが出てくる前からあったわけだ。というより、許可を求めずに、対価を支払わずに読めて使えて改造できることこそオープンであることの強みだったわけだ。そうやって分母が増えることで、なんだかんだいって実際に、もらってうれしいフィードバックがあったり、名声や信用を得られたりもするんだよというのがバザールがどうだノウアスフィアがどうだという話でレイモンドが言っていたことであったはず。

で、エーアイが壊しているというか、破壊を加速しているようにみえるのはこの回路じゃよ、というのがまずある。OSSに限らず、たとえば Internet Archiveがしんどくなってる とか、もちょっと広くは オープンなWebの終わりの兆候としてリストされている事柄 にも現れるようなやつ。このへんはいまどきのインターネットを使ってる人間ならみんな多少なりとも体感しており、ほうぼうで言われていることのはず。

ただ、ここで気になってるのは費用や労力が報われなくなったって話ではなくて……そりゃそれだって問題なんだけどそうじゃなくて。利用しているなら、どんなに間接的にであれ受動的にであれ、共同の場?みたいなところに関わってしまうっつう、そういう様子さえなくなったみたいなところなんですよね。読まれ使われた結果としての誤解や負荷や修正の経験が、コードや仕様、ひとの考えや、ひいては制度(!)を変える力になりにくくなっているというか……。スロップなPull Requestはフィードバックなんてものじゃなく、使われている様子などそこには見えず、注意資源ばかり奪ってくる。StackOverflowのカスみたいな質問が消えたなら、それで困ってるやつがいるんだというサインだっていっしょに見えなくなった。そういったあたりが比較的近いでしょうか。共有されるものが更新される原動力ってそこじゃないですか。


ここで 伽藍でもバザールでもなくウィンチェスター・ミステリー・ハウスだ の話になります。エーアイのおかげで、なにかをいったん形にする、細かな中身はどうあれとりあえず動くものにするコストは数桁下がった。だから誰かに見せたり相談したりする前に、というか、するかしないかにかかわらず、自分の手元でそれらしいものを作ってみられるようになった。それは自分専用にカスタマイズされた奇形かもしれないけど、だからこそ快適でもある、と。こんなわたくしにさえそういうスクリプト群やらCloudflare Workerやらがあります。自分の「性癖」とやらに合う小説やイラストを生成してる? いいんじゃないでしょうか。

だって、上流に還元するのはしんどいわけです。コミュニケーションが必要で、責任が必要で、自分だって相手だって注意を配分せねばならず、なんなら批評だってあるべきだ。そしてそこのコストは(少なくとも「それっぽい」実装にかかるそれと比べるなら)たいして下がってない。ここはむしろ、インターネットの登場でガクッと下がって以降、そこまで大きくは変わってはいないところのはずです。スロップPRの話だって、そこをショートカットしようとしたことの帰結なわけじゃん。StackOverflowの質問のかわりにそこらにバカスカと変な家が建つ。こっそり建つこともあればデカデカと公開されたかたちで建つこともあるけど、双方向のコミュニケーションをしているわけではないのは同じでしょう。いや、変な家は変な家でうれしいものですが、ともかくも。

で、けっきょくそこで強いてでもフィードバックを拾えるのか。考え抜かれた直接のフィードバックは相変わらずどこにあるかわからないのは置いといて、困りごとが困りごとそれ自体として見えないなかで、こちらには積極的に関わってこない、隠れた、あるいはそこらに立ち並ぶ変な家をどう見ればいいのか。かたちとなってできあがってしまったものからポイントとなる部分を選んで引き受ける、フィードバックを得る、共同で扱えるものとして変えるのは、そりゃしんどいわけです。だからそう、変な家を公開するだけでは足りないはず。


で、ここでひとつ誘惑があるんすよ。

ある種の「契約」を共有するというのはどうなんでしょうか。ええと、ここでいう契約っていうのは……なにを満たせば同じものとして扱えるのか、どの入力に対してどの出力を返すべきなのか、どこで失敗とみなすのか、誰がどの責任を負うのか、どの条件でデータを使ってよいのか。そういう仕様というか規約というか振る舞いというか、そういうのをまるっと含んだものです。

で、あらゆる成果物を共有するのではなく、するだけではなく、そうした約束事みたいなのを共有するというのはどうなんですかね。個別の実装や文章やデザインはエーアイを使って生成してくれればかまわんよ。あんたの好きなようにカスタマイズしな。そのぶん、「契約」だけ共有しましょう。ベストプラクティスが入ってるし、相互に運用もできます! と、そういうのはおそらく可能だし、そのときコミュニケーションのコストだって(少なくとも成果物そのものの共有よりは)なんぼか小さくできそうではある。

これっておそらく、GNU and the AI reimplementations の含意と遠くないところにいるはずなんですよ。AIによる再実装がGNUやLinux以来の再実装文化の延長にあるなら、重要なのは個別の実装を守ることではなく、振る舞いや仕様や差異をどう扱うかである。著作権は個別のコードとしての表現を保護するのであって、振る舞いやアイデアそのものは独占できない。だからこそソフトウェアは繁栄したわけだし、AIによる再実装だってその延長にあるんだよ、という。ソフトウェアイズイーティングザワールド! っていうのは軟件の話だけど、ひろくみれば二次創作だって考察だってこの一環なんじゃないかな。無理ですかね。いや、いける気がする。

……まあ、結局そのための計算資源を握っているのは(少なくとも今のところ)ビッグテックだったりして、だから人的資本よりも機械みたいな物理的な資本を持っているほうが強いっていういかにも古風な資本主義感が隠れているのは気になるところで、Open Sores にあったような悲観の一端はその現れでしょう。それに、そういう「契約」ってさ、中立な書式なんかじゃないんでしょうね。ある観点から無理やり切って照らすものなのだから、そりゃ権力が入り込むし、だからちょっと嫌かもな。

ともあれそのへんは置いといて。契約のリポジトリと、必要ならそれをうまくやるプラットフォームを作るというのは、なんとなく魅力的に見えなくもないんですよね。え?RFCとか昔からそうだっただろうって?それはそうなんだけど、今となってはそこまでオープンではないじゃん、だからもっとできるじゃん。ね?


と、でも、それでも、うーん……最初の話に戻るんですけど。たぶんそういう……抽象だけを共有するしくみを作れば万事解決とはいかないと思うんですよね。残念ながら!

だってそりゃ、契約や仕様なんて、使われる前から完成しているはずないじゃないですか。みんな騙し騙し「完成品」を作ろうとしているけど、それが理想ではあるけど……それは……まあ……難しいわけじゃん。そんなことあるのっていう入力が来たり、責任分界がどっちらけになったり、たんじゅんにテストが足りなかったり、ある環境ではぜんぜん動かなかったりとかする。そしてそれは実装が契約に反してんのかその逆なのか、誤用なのか想定を更新すべきなのか。そういうのを最初から決められないからこそ、だからこそ継続的な共有の場での更新がこれだけうれしかったわけでしょう。そうですよね。

ソフトウェア開発の文脈のなかでだってそれは知られていて、けっきょくコードを書いて使ってみなきゃわかんないよねという考えはそこここに流通してきたし、さいきん読んだなかだとそれこそClaude Designに絡めてデザインの分野になるんだけど、Vibe Designは何を失っているか にあるような、そういうやりかただと見た目はそれっぽいのにどうしてそうなっているのかが薄くなるみたいな感触もたぶん近いはずです。

だから、契約……仕様と実装の関係でも同様でしょう。契約があります。エーアイがそれに沿って作ってくらはりました。よくできました。契約のほうはよくやりましたみたいなすました顔をしとりますが、成果物がどこでつまずいたのか、どこで人間の判断を必要としたのか、どこで環境に合わなかったのかみたいなのがフィードバックされちゃおらん。実装や失敗の経験は、契約を実現した結果であるだけじゃなく、契約のほうを疑うための材料でもあったはずです。それを無視しちゃ、契約なんてただ使われるだけで育つわけがないでしょう。


成果物の背後にある制作や運用の環境についてはもうちょい掘り下げられるか。ウィンチェスターミステリーハウスの多くは壮大なプロジェクトではなく、自分の作業環境でだけやけに便利な小さい道具でありがちです。仕様上は単純な入力と出力しかないのに、実際には自分の作業順序や諦め方や命名の癖や、なんなら散らかったデスクトップにまで依存したり。

ここは……いぬのせなか座の山本さんが言ってるようなアトリエやら手前側の生やらの話(とりあえずこのへんからなのか?)をなんとなく念頭に置いているもののあんまり自信がないところなのだけど、ええとなんだっけな、だから……契約としての仕様と成果物としての実装だけだと足りないって話だ。制作や運用にかかわる環境を残して、できるなら(別に人間が読めるかどうかは置いといて、機械可読な形でもいいので)流通させるのはどうなんでしょうか。いやもちろんぜんぶ記録できるわけもない、生活時間や身体感覚や人間関係をそのままログに変換できるわきゃない、できたら怖いしプライバシーも心配だ。

でもまあ、なるべくやろう、くらいはできるんではないか。どんな環境で、どんな条件で作られたのか、どの場面で使われたのか、どこで失敗したり負担が集中したのか、誰の同意や許諾に依存していたのかとかとか。そうだよ、日記でもいいんですよ。そしたら後続の人は、共有された仕様を使って実装をエーアイに任せるなり自分で作るだけじゃなくて、自分の環境に合わせてちゃんと引き受けて作り直せるんじゃないか。それができるなら、またそこで生まれたログ……日記をベースに仕様や制度へとフィードバックできたりしないでしょうか。そこの整理は適宜エーアイにでも手伝ってもらえばいいんですが、どのみち読んだり使ったりするのは人間なのでSource of Truthはそこから発するしかないわけだし。うーん、でもまたそれが搾取されたりするんすかね、そうかもしれない。あとこれ、「エーアイっぽくない文章にするためにはお前の経験を書け」みたいに見えるとやだな。お前のそのエーアイっぽい文章に入れてる生っぽい雰囲気のマクラ自体がもう既製の論旨に奉仕するだけになっとるやんけ。

……まあまあまあ。だから、形にすることが安くなればなるほど、成果物を公開するだけでは開かれた仕組みを保ちにくくなるのはわかった。もちろんコードや文章が読めることはいまでも重要ではあるし、そこを手放したいわけでもない。とはいえそれじゃ足りなくて、仕様や契約を変えてく材料がね、いるのよ。契約だけを共有する場所はたぶん必要になるわけだけど、それが作られ、使われ、失敗した経験がフィードバックされる回路を持たないなら、そりゃオープンなしくみというより、よくできた利用規約置き場つーか、抽象化された支配装置の置き場にしかにならん。なんで、そうですね、ブログを書こう!