2011-05-06

寄稿者の集い

Apple の近所のホテルで WebKit Contributors Meeting (2011 春) というのがあった. 同僚ともども参加. 話の内容は地味なのでおいておくとして, unconference としての開催が割とうまく回っていたのがおもしろかった. たぶん unconference にも色々な流儀があると思うので, 具体例として今回どんな感じだったかを書いてみたい. (去年もあったんだけれどよく憶えてない...)

開催まで

開催の一ヶ月少し前にメーリングリストで開催がアナウンスされた. Wiki のページ に話したいトピックを書いてねという. ページにはリストがあり, トピックの横にホストする人と聞きたい人を書く書式.

前々日までは 10 個くらいしか候補がなく, 二日もやる必要ないんじゃね? などと思っていたが前夜にわらわらと追記されていた. きみたち...

初日朝

会場には朝飯が用意されていた. Apple えらい! のはさておき, 主催者 (Apple のひと) から挨拶や WiFi の案内などがあったあと, セッションの追加募集がはじまった. 参加者の席になっている複数の丸テーブルごとに, 何か他に話すことはあるかと主催者が尋ねていく. ぽつぽつと追加のセッションが提案される. 私もその場のノリで提案してみた(せいであとから難儀した).

テーブルを一巡してトピックが揃うと, 今度は投票フェーズ. 主催者がトピックを順に読み上げ, 参加したい人は拍手で応じる. 主催者は拍手の大きさをリストに追記する. 粒度は "Super-High", "Medium-Low" とか大変テキトーなかんじ.

拍手投票がおわると主催者が票(?)に応じてリストをソートし, 各コマ 90 分のタイムテーブルを上から順に埋めていく. セッションは 3 つ並列しているから参加したいものが衝突する. 順番を変えたい人が不平を申したて, しばらく適当に調整したあとコマがきまった. 全員集合パートはこれでおわり, 部屋を整理してセッションに移動となる.

最初のセッションが終わると廊下には印刷したタイムテーブルが置いてあった.

議論中心のセッション

"Removing or rejecting features - is there a way for the WebKit project to say no to things?" のように異議の多そうなトピックでは, ホストの人がちゃんと準備をしてきていた. スライドを使って現状の問題点や各種数字, 他のプロジェクトでのやり方などを紹介し, なんとかしないといかんがどうしましょうかね, と問う. 参加者から穏当だったり過激だったりする提案が飛び交い議論が白熱する. (私の英語力は臨界する.) 影響力のあるベテラン開発者に水が向けられ, 彼がちょっとした提案をして, うーむなるほどとかいってるところで 時間切れになった.

結局(臨界のため)いくつか穏当なものを除く結論はよくわからなかったが, 会議の翌日以降, いくつかのコンパイルフラグと機能がごそごそと削除されていた. おそらくセッションのあとも話し合いが続いたのだろう. 大物では WML が削除されており, WAP 時代の幕が下りるのを目撃してしまった気分.

説明中心のセッション

"Shadow DOM and the component model" というセッションはもっと説明寄りで, ホストの人達がやっている DOM まわりの (限りなく redesign に近い) refactoring がどういうものか, ホワイトボードを使い解説していた. 説明が時間の大半を占め, 最後の 15 分くらいで質問と議論.

ホストの人に特にスライドの準備はなかったが. 話は慣れたものだった. 彼はしょっちゅうこの話を同僚に説明している(私と勤務先が同じなので出張中はよくその様子をみていた)から 当人にとっては普段の会話と地続きだったのかもしれない.

ここ数日, 件の refactoring に類するパッチを同勤務先以外の人が書いているのをみかけた. 説明の甲斐あって手を出す人が増えたのかもしれない.

行きあたりばったりのセッション

私が勢いで提案したセッションは "Sharing LayoutTestController Code". 勢いなので準備はなかった. とりあえずこういうことをしたいんだけど...と話をしたものの反応はなくシーンとしてしまい, ああ余計なことをするんじゃなかったオワタと後悔しかけていたら 古参の開発者が助け船をだしてくれ, その後は彼を中心に話がすすんだ. 例のごとく話の細部はよくわからかったけどたぶん合意もできた気がする. たぶん....

言いだしっぺが残念でも参加者が助けてくれることがあるのは unconference の良いところだと実感した. もともと異論の少ない主題だったこと, 似た議論を以前メーリングリストでしていたことも 助けを得るのに寄与した気はする.

ハカソン

セッションの他にハカソンもあった. 投票やアイデア出しの方法は同じ.

みんなよく MacBook で開発できるね新しいやつは速いのかな... と思っていたら, 少ない人数でコードレベルの細々とした議論をする場として使っていたようす.

宴会

一日目のセッション終了後はホテルの食堂の一角で立食パーティー風の宴会があった. ベテランや IRC の常連がつるんでいる輪に入っていく根性はなかったものの WebKit 歴の浅いもの同士では少し話をすることができて, 他の会社のチームの様子を伺えたのはよかった.

宴会での世間話はまったく苦手でも, 相手が書いたコードを見たことがあったり同じコードのまわりで仕事をしていると なにかしら話すことがある...こないだ派手に書き換えちゃってすみませんとか...のは面白い. 今おもえばもうちょっと色々聞く余地はあったけど心に余地がございませんでした.

写真とクロージング

二日目のセッションのあとは会場の前に集って写真撮影. 大所帯なのがわかる. 世の中の勉強会も記念撮影をするとなんとなく結束感が生まれて良いんではないかと思いました. 規模もわかるしね.

撮影後は部屋に戻って終了の挨拶があり, 主催者に拍手ののち解散した.

Unconference は講演を集めた(カタカナの)カンファレンスをカジュアルにしたものというより, とりあえず会って話をする(カタカナの)ミーティングをスケールする方法なのだとわかった.