変化の時(Nate AbeleがCakePHPプロジェクトから離脱してLithiumを立ち上げた理由)
photo by gregchiasson
cakephp.jpのフォーラムや一部のユーザの間でも話題になっていますが、4年間にわたってCakeの発展に貢献してきたプロジェクトマネージャのGarrett Woodworth氏とリードデベロッパのNate Abele氏が10/23頃にCakePHPのプロジェクトを去りました。
そして新たに立ち上げられたのがLithiumというそれまでCake3と呼ばれていたフレームワークのプロジェクトです。
色々と憶測を呼んでいましたが、Nate本人がこのあたりの経緯をLithiumのプロジェクトブログで語っています。
またNateの開発に対する姿勢は一般の開発者にとっても刺さる内容と言えると思いますのでCakeに関心がない方にもおすすめできます。
本人の了解の元に日本語訳を作ったのでここに掲載します。
原文
http://rad-dev.org/lithium/wiki/blog/on-transition
On Transition
変化の時
Lithiumの立ち上げから色々と進めたり整えたりしてほぼ2週間が過ぎた。まず最も大事なのは我々はこの大きな成功を助けてくれたみんなに感謝している。我々はわずか10日の間にすさまじい進歩をいくつかのサブプロジェクトとフレームワークを拡張する為のプラグインと素晴らしい小さなアプリケーションの為に成し遂げることが出来た。
二番目にこの混乱に対する説明を述べたい。主要なメンバーはCakePHPのコミュニティから来ているので何か争いが起きたように見えただろう。がっかりさせてすまないが、そんな事は起きていない。年齢に相応しく振る舞い、意見の相違について合意し、別々の道を進む事にした。残念な事に皆はあれこれと言うのが好きなようだ。大きな問題についての事もあれば、小さなこと、たとえば僕らのプロジェクトのサイトの下には"Powered by CakePHP"のバッジがあるじゃないかと。このサイトはCakePHPで作られた"The Chaw"をベースに出来ていて、しっかりと動いている。どうしてこの事を隠さないのかって?Lithiumの起源はCakePHPにあるし、僕らはそれを誇りに思っているからだ。
さらに少数派の声としては、僕らがCakePHPを憎んでいるという的外れの意見を自分自身の為に言うものがいる。しかしGarrettと僕はこの4年間のCakeに対する大きな仕事をとても誇りに思っているし、その経験があるから僕らは今このすばらしい処にいる。僕らのCakePHPへの貢献は明らかで疑いようがない。それならなぜこうなったのかって?すこし尊大な言い方になるが、僕らがCakePHPから去るのは彼らを見限ったという事なのか。
「レボリューショナリー・ロード」という1950年代のコネチカット州の郊外を舞台にした映画が今の状況をうまく説明している。この映画はアメリカからパリに移り住む事を決めた夫婦の物語だ。彼らはコネチカットの郊外にいる今の状況に満足しておらず、なにか別の何かを更に求めようとした。その結果、彼らの隣人たちも同じ疑問にさいなまれる。しかし隣人たちは何かを探したくはなく、夫婦とは違いネガティブな反応を取る。何故彼らは違う何かを求めないのか?
人は変化を嫌う事が多い。そう、先に進む事よりも恐れる事を選ぶ。なぜなら恐れるのは簡単だからだ。特に意志も努力も必要はない。目新しい事ではないが、我々は簡単にそれを忘れてしまう。僕はこんな話を聞いた事がある。もし君が2年前に書いたコードや1年前に書いたコード、あるいは数カ月前に書いたコードを見て少しでもそれを放り出したいと思わなければ君は全く進歩していない。ソフトウェア開発が職人芸だと思う僕らにとってはこれはとても意味深い。
これが僕らがLithiumへ進んだ理由だ。Lithiumは好奇心から出来た小さなスクリプトのつぎはぎとして生まれた。面白い事にこれはPHP5.3だからこそ出来た事だ。これらのスクリプトは小さなスクリプトの集まりとして設計され、実用的な問題を想定している。これはCakePHPの最も良いところでうまくいった点でもある。しかしいくつかまずいところもあり、これを教訓に解決策を探していた。
いくつかの実験の中で我々はいくつかの前提条件に疑問を持った。その時我々はPHP5への移行は簡単だと思っていた。各部分をPHP5のStrictモードに合うようにしていけばうまい具合にいくと。残念だが人生はそう単純ではないのだ。この4年間、我々はPHP4向けにフレームワークを開発しており5.3は対象になっていなかった。これはかなり時代遅れの技術だ。控えめに言っても、PHP4とPHP5.3の変更点はかなり多い。PHP5.3はPHPの開発に新しいパラダイムを呼ぼうとしている。この大きな溝を渡っていくというのは、控えめに言っても挑戦であり、うまくいったとしてもその過程で何かを失う事になる。
時代遅れの技術に対するコーディングの結果としてこの4年間技術的な負債が大きくなってしまった。これを乗り越えるのはかなり大変だ。幸運な事に僕らはコードをとても熟練してエネルギッシュなカナダ人と友人たちに託す事が出来た。一番大事な点は僕らはCakeDCのチームがうまくいくことを願っているし、CakePHPは無くなったりはしない。
僕らにとっては良いけれど、現時点ではLithiumを使ってメジャーなアプリケーションを書くことはお勧めしない。だが僕らはLithiumを皆さんにお見せ出来る事に興奮しているし、あなたにも楽しんでもらいたい。
~ Nate ~
-訳ここまで-
強調は訳者。
Nateの持っているストイックな意志の強さとCakePHPのコミュニティが死んだわけでも感情対立でもない事がわかる文章ではないいでしょうか。
実際にircチャンネルでもそれぞれのデベロッパが相互にログインしている様子を見ますし、LithiumがPHP5.3専用として0から最適化する事に意義を見出している事がよくわかります。
ちなみにLithiumの意味は色々あるそうですが、「最も軽い金属」「cake3 -> 元素番号3 -> li3 -> lithium」などの意味があるそうです。(まだまだある)