今回の合宿ではいろんな顔を持っていた私なので,おのおのの立場で感想を分割して書いてみます。
運営側の人間として
そもそもの発端は田原さんとチャットで話していたときのことでした。「このままじゃ日本のZope界ヤバいよね,もっと開発者増やすためなにかやらないとね」という問題意識のもと,まずはZChを立てて,来てくれそうな人を招待して,申し込みをして準備をしたのでした。
イベントが成立するために満たすべき必要条件というのがあると思います。最低限の参加者を確保しないとならないし,準備に関わってくれるコアな参加者を組織しなければならないし,合宿みたいな形態なら場所の条件設定や確保など,さまざまな準備を経て開催に至るわけです。それぞれの過程で,万が一の場合戻る事も考えつつ,準備をすすめてきました。
今回は発端から根回し的な活動を経て募集 -> 準備期間を一ヶ月とって開催に至りました。かなり余裕をもってスケジュールを設定したつもりですが,至らない点が沢山ありました。反省すべき点は反省し,次回以降に生かしたいと思っています。
発表者として
今回の発表はちょっとしたWebアプリを作った事のある人や,PHPやJSPとかServletなんかでWebアプリを開発している人向けの発表でした。Zopeをちょっと触った事があるくらいのレベルの人に,「Zopeとはこんなもんだよ」ということを伝えるのが第一の目的。
たとえば,RDBMSに入っているデータを表示したり編集したりするような典型的なWebアプリを作るためには,まだまだZMIを使った開発が主になってゆくと思います。Zopeの内部構造を知る事 - ZopeのOPEとしての側面を知る事で,ZMIを使った開発の効率がよくなるはず。Attribute Errorはなんで出るのかとか,アンドキュメンテッドなAPIの挙動を調べるためにはどこを見ればいいのかとか,そういうことが分かっているのといないのとでは開発効率がかなり違うはずです。
第二の目的はZope Productのなりたちを伝える事。もっとも,ここまで来るとちゃんとした「設計」ができるかどうかがキモになってくるので,今回の講義や資料を見た人全員がProductの開発者になれるかどうかは分かりません。既存のProductを読み解く事によって,設計の勉強にはなるかもしれません:-)。
参加者として
まずはProgram 2の発表者であるところの田原さん,仕事で忙しいところの準備ご苦労様でした。内容もよくまとまっていてかつ濃く,とても好評でしたね:-)。
CMFについては,必要に迫られて調べたりなんとなく知っていた程度だったのですが,今回でだいたいの「見通し」が立つようになりました。どこにリスクがあってどこにメリットがあるのかがよく分かった。案件適用にいたる「キモ」がつかめた感じ。「環境の上に別の環境を云々」というのは私も思わないでもないけれど,多分言ってはいけない言葉なんだと思います(笑)。
残る謎。
- あんな浅いところにある__getattr__を上書きしてパフォーマンス的に大丈夫なのか。アトリビュートアクセスがある度にPure Pythonなコードを通るわけでしょ。。?
- 特定の階層以下からだけアクセスできる高速化のためのインデックス情報なんかはどこに持たせるべきなのか。Plone iCalenderとか見てみればいいのかな?
- どこをどうすればもっと高速になるのか。ZPTが足を引っ張っている? そもそもCMFの設計に問題があるのか?
最後に
次回は本当の意味でのスプリントをやりたいですね。
日本のオープンソースにスプリントという開発手法を根付かせるのが私の当面の目標になりそうです:-)。そのためにも,コアとなるプロダクトが必要だと思いました。熱が冷めないうちにキックオフミーティングを行いたいと思っています。
#COREBlogの正式版も頃合いを見計らってリリースしないとな。。。