技術的盆栽

技術的負債 (technical debt) は、ソフトウェア開発の用語で、手早い解決策を選択することで生じた潜在的な手直しのコストを指す。技術的盆栽 (technical bonsai) は、完成した技術を鑑賞し、また完成度の向上のために手直しを加える趣味を指す。技術的負債とは特に関係はない。定義はいま考えた。

「技術的盆栽」という言葉はここが初出ではなく、先行例が存在している(ことを Google が教えてくれた。)「文化的雪かきと技術的盆栽」というエントリで「ちょっとしたこだわりや調整にいくらでも情熱を注ぐことができる」ことが特色であると説明している。これは僕の「技術的盆栽」の解釈とも一致する。

技術的盆栽の道具のひとつとして git があり、そこでは技術的改良の履歴は木構造で管理される。それ自体もまた盆栽性があり、さまざまな枝 (branch) の形の妙などを楽しむことができる。オンラインの技術的盆栽共有サービスとして GitHub が知られており、そこでは他者の盆栽を鑑賞するだけではなく、改善提案を行うこともできる。


著名な技術的盆栽として TeX が挙げられる。数十年に渡ってメンテナンスが続けられており、きわめて完成度が高く、新たなバグを発見すると高額の賞金が得られることでも知られている。

秀丸エディタもまた技術的盆栽性が高い。古くから存在するソフトウェアだが、今もなお改良が加えられ続けている。秀丸エディタの特徴的な点は、開発者がソフトウェア使用料で生活しているところである。高い価値を持つ技術的盆栽の開発に成功すれば、静かにそれを鑑賞し、心穏やかに細かな改良を加える生活を送ることができる。

技術的盆栽と向き合う暮らしは、多くのコンピュータ技術者が憧れるものであろう。


技術的盆栽はソフトウェアだけに限らない。

たとえば成功している研究グループは、特定の領域におけるノウハウ、ソフトウェア、データセット、人材などを蓄積することによって、ひとつの領域を徐々に切り開いて推し進め、連続的に研究成果を挙げ続けている。これもまた一種の技術的盆栽といえるだろう。また、盆栽の改良は研究目的に留まらず、なんらかの事業を行う協業先に枝や花を提供したり、また要望に応じた方向に枝を伸ばすということもあるだろう。技術的な資産の蓄積と改良がキーワードといえる。

実際のところ、技術的な進展の速い領域(たとえばエーアイ研究)ではひとつの盆栽にじっくり向き合うのは難しい。新しい品種を試行錯誤しながらギリギリ育て上げ、すぐ出荷してまた別の品種を… という取り組み方になりやすい。これはエキサイティングではあるが、心穏やかな暮らしとはいえない。もう少し資産の蓄積を意識しても良いのではないか、と時々思っている。