Garrettさん、GUINNESSを片手にCakeを語る

It is all about numbers. It is all about sequence. It's the mathematical logic of being alive. If everything kept to its normal progression, we would live with the sadness---cry and then walk---but what really breaks us cleanest are the losses that happen out of order.
--Aimee Bender

最初に、月並みではあるが、このような大変に刺戟的な会を開くのに尽力された方々に心から感謝を申し上げたい。本当に素晴らしい会だった。

懇親会の会場を後にしてから、Garrettさんを含めて何人かの参加者で2次会に流れた。THE Jha BARの素敵な店員さんが新鮮で泡立つGUINNESSを運んで来るたびに、パイントグラスにプリントされた"GUINESS"のラベルの下まで一気に呑みながら、最高、とGarrettさんは繰り返した。少しの疲労感と醒めない高揚感を引き摺ったままの佇まいからは、今回のカンファレンスに対する彼の満足が素直に読み取れた。

今回のカンファレンスでは、引数のデフォルトを柔軟に指定する方法や、コントローラのコード量を減らすといいCakeになるという指摘など、技術的にも重要なヒントを示してくれたGarrettさんだったが、僕の関心を惹いたのはむしろ彼のマネージャとしての考え方についてだ。大規模なオープンソースコミュニティを差配する人物が持っているヴィジョン、行動指針、そのトータリティにわずかでも触れることができたのが今回の最大の収穫だった。

カンファレンスでの発言で、Garrettさんは「自然状態」の世界は究極的な自由でありカオスである、従ってそこに秩序を持ち込むことが必要だ、と明言した。あまり技術者っぽい言葉遣いではない。社会契約論の用語を使いながらCakePHPの基本思想を語る彼を見て、彼が歴史や哲学を学び、法律や商学をバックグラウンドに持つことがコミュニティのリーダとしての彼の資質を決定的なものにしているかもしれないと僕は思った。

法律は社会に整然たる秩序を与える。そのかわり個人は一定の自由を放擲しなければならない。そうであればこそどのように法を定めるのが理にかなっているかという問いは法学における基本問題である。

CakePHP=憲法を導入することでシステム開発は秩序を獲得する。一方で開発者は一定の書き方に従う義務を負わねばならない。ではCakePHPを制定しているのはどのような意思決定なのか。この問いに対するGarrettさんの解答は含蓄の深いものだった。「熟練した開発者達の議論と合意によって決まります。」すぐにもっと詳しくその意味するところを訊いてみたかったが、質疑応答という形式でできる議論は限られているし、その場で掘り下げることはしなかった。

この点について、僕はもう一度ビール片手のCakePHP開発マネージャに問いかけてみた。「白か黒かを決める明確な基準はない。だからこそコミュニケーションが大事だし、合意を形成するためにはあらゆる努力が必要なんだ。その意味で最も重要なのはIRCだ、フォーラムではリアルタイムのコミュニケーションができないからね。僕はIRC中毒になってるよ。」という返答。この言葉を聴いていろいろな伏線が繋がった感じがした。

Garrettさんが発散するオーラは、極めて優しく人懐っこい軽やかなもので、威張ったところや、技術者的な偏屈さなどは微塵も感じさせない。フランクなコミュニケーションをとても大切にしていることが全身から滲み出ている。カンファレンスの冒頭でも日本語で挨拶を披露した。こういうところに彼の人柄とコミュニケーションを円滑にしようとする努力が伺える。

その上で彼はコミュニティを徹底して信頼している。「僕が死んでもCakePHPは死なないし、なりたい人なら誰でもコミュニティの誰でもリーダになれるよ。」と軽く言ってのけられるのは、CakePHPに対して自分が強い決定権を持っているという意識さえ持っていないからだ。だからCakePHPについても、どんな風に使われてもそれは一向に構わないようだ。「CakePHPの意図はよく練られているから、それを理解しながら使うことで開発はスムースになるけど、理由があればそれらを無視しても一向に構わない、使い方の制限なんて少なければ少ないほどいいさ。そういう使い方の中から決定的なソリューションが生まれる可能性もあるしね。」CakePHPという呼称にさえ固執しないのか、こんな冗談まで言っていた。「CakePHPを改称してGuinnessPHPにしよう。そうするとbakeはpourだね。」

彼はGUINNESSに満悦しながらこんなことも言った。「僕にとってCakePHPの意味はむしろ、コミュニケーションのためのツールとしての側面が重要だ。僕たちはCakePHPのコードを媒介にすれば完全に意思疎通できる。これって素晴らしいことだろう。こうやって素晴らしいイヴェントに呼んでもらえて、多くの仲間と出逢えるしね。」

一方で、彼は一開発者としても一本筋が通った意見を持っている。ヴァージョン管理に関する彼の信念はカンファレンス参加者の多くを納得させるものだったろうし、シンプルさが善し悪しを測る重要な指標だという彼の意見は強い説得力を持っている。どうやら人間臭いコミュニケーションに対する確たる信頼と明晰で論理的な考え方を展開できる能力という2つを兼ね備えていることがトータルな彼の魅力になっているようだ。彼の大柄なキャラクタに僕は痺れた。

僕は今回のカンファレンスでCakePHPを使うという選択が間違っていないということを確信した。根拠はGarrettさんのような人が真剣に関わっているコミュニティだからだ。僕自身にとってはそれが最も明確な理由である。

言語は文化、文化の魅力は人の魅力。そしてCakePHPという言語=文化は実質的にIRC上で育まれているとGarrettさんは教えてくれた。どうやらCakePHPを本気で楽しむにはIRCに入らざるを得ないようである。

CakePHPカンファレンス東京


/*
実はTHE Jha BARでは技術的な話やCakePHPの思想について、あるいはコミュニティのリーダが苦労することなどまだまだ興味深い話をたくさんGarretさんから聴くことができたのだが、全てを一度には書ききれないのでおいおい書き足すことにしよう。
*/