チューリング不完全

What are you afraid of? All you have to do is try.

ぼくたちとVimConfの180日戦争

f:id:aomori-ringo2:20181201020823j:plain
VimConf 2018 パンフレット

イベントのレポートというのは生ものであり、鮮度がある。

イベントの当日は、疲れ切ってしまっていて、とても帰宅してから文章を書こうという気持ちにはならずすぐに寝てしまう。次の日は仕事がある。そんな風にレポートを書くことをしぶっているうちに、Twitterではいろんな参加レポートが出回る。これ以上俺が書く必要もないんじゃないか・・・という気持ちが大きくなり、「書かない」という決断をするわけでもなく、レポートは永久に書かれない。

イベントの報告をする上で、では自分が書くもの、自分にしか書けないものは何だろうか。それはパーソナルな体験であり、今回のVimConfであれば、やはりスタッフ業に関することを書くべきだろう。

スタッフは何をするのか

f:id:aomori-ringo2:20181201021107j:plain
ノベルティを詰める作業の様子

残っている記録を見ると、VimConfスタッフが最初に打ち合わせを行ったのは2018年5月16日である。去年は一般参加者だった僕は、ujihisaさんに誘われて参加することになったのだった。
ここから約半年に渡るスタッフの戦いが始まった。カンファレンスのスタッフとは一体どんなことをしているのだろうか?この時はまだ自分自身わかっていなかった。具体的に書き出してみよう。


Bramを招聘するべきか。VimConf 2018のポリシーは何か。Bramへの招待メールは誰がいつ送るか。VimConfスタッフのやりとりには何を使うか。タスク管理をどのようにするか。会場はどこにするか。会場への連絡担当は誰がするか。スポンサーを公募するべきか。スポンサープランの内容をどのようにするか。スポンサープランの金額をどのようにするか。スポンサー候補になってくれそうな企業にどのようにアプローチするべきか。スポンサー公募はいつ締め切らなければいけないか。VimConf 2018の新しいロゴを作成するかどうか。パンフレットの作成を誰が担当するか。パンフレットにどのようなコンテンツを掲載するべきか。Webサイトは誰が作成するか。名札にどのような情報を載せたいか。名札の大きさはどのようにするか。CFPを出さなければいけない。CFPに応募してもらうためにどのような宣伝を行えばよいか。当日の時間割をどのようにするか。スピーカーをどのように選ぶのか。誰をスピーカーとして採用するのか。休憩時間は多めにとったほうがよいのではないか。なんとか時間割を変えてもっと多くのスピーカーに話してもらえるようにできないか。誰をスピーカーとして採用するのか。会場にコーヒーを用意できるか。会場に紅茶も用意できるか。スポンサーになっていただいた企業に、ノベルティをいつまでに送ってもらえばよいのか。それを連絡しなければいけない。ノベルティをまとめる作業をいつ行うか。当日スタッフは何人いてもらう必要があるか。当日スタッフを誰にやってもらうか。当日スタッフに伝えておかなければいけないことは何か。Webサイトに載せてよいスポンサーのロゴはどこにあるか。参加者のチケットの価格をどのようにするか。Early Birdプランのチケットを用意するか。個人スポンサー枠を用意するか。チケットの割当てを何枚ずつにするべきか。チケット申し込み時に各参加者にどのような情報を入力してもらう必要があるか。チケットの販売にどのサービスを使用するか。昼の弁当として何を選ぶか。ベジタリアンヴィーガン用の弁当を用意するべきか。懇親会での料理をどのようにするか。通訳を専門家に依頼するべきか。同時通訳担当に渡しておくべき資料は何か。当日の写真撮影をどのようにするか。写真撮影を専門のプロに依頼する場合、お願いしておくべき事柄は何か。LTはいつ募集するか。LTでドラをレンタルする場合どのぐらいの金額がかかるか。Webに時間割をいつ掲載するか。Webにスピーカーをいつ掲載するか。司会進行役を誰がやるか。発表を動画公開してよいかをスピーカーに確認しなければいけないが、誰が行うか。会場でのLTの他に懇親会でもLTを行えるようにするべきか。懇親会でのLT公募はどうするか。同時通訳担当に発表者のスライドを渡すのはいつまでであればよいか。発表者のスライドがCoC的に問題ないか。遠方から参加するスピーカーへ交通費をサポートすべきか。海外からの参加者のビザサポートをどのようにするか。当日に持っていかなければいけないものは何か。司会の原稿は誰が作成するか。当日会場でアンケートを行いたいと思うが、どのような質問を行うか。アンケートに使用する模造紙やシールは誰が買うか。当日会場内でスタッフ間の連絡をどのようにするか。



すべてを書き出すことなどできないが、このようなことを半年の間に我々スタッフの間で意見として交わし、タスクとしてこなしていった。 それぞれのタスクをこなすのはもちろんであるが、それぞれ締切と優先度というものがある。また、目の前のタスクだけにこだわっていると、いつの間にか別のものの締切が目前に迫っている、といったこともざらであった。

VimConfまであと1~2ヶ月あたりの時期、自分は全体のタスクを俯瞰し、それぞれのスタッフに直近何をやってもらわなければいけないのかを整理する役割などをしていた。

なぜやるのか

上に書いたようなことを、どのようなモチベーションでやっているのか。
やっている最中は自分でもよくわかっていなかったが、今思えばそれは羨望、焦り、怒りなどが入り混じった面倒なものだったのかもしれない。

VimConfには2014からずっと参加をしている。僕がVimConfに参加することで得たものはとてつもなく大きい。Vim自体は、実は別にヘビーに使っているわけでは全然ない。Vimのhelpはろくに読んでいないし、自分でビルドしたことはほとんどない。そのようにVim初心者を何年も続けている自分は、Vim本体よりも、Vimコミュニティからたくさんのものをもらってきた。
VimConfに何度も出ているうちに、顔と名前が一致する人が増え、いつしかプライベートで遊ぶようにまでなった友人が何人もできた。Vimmerは実に多様なバックグラウンドを持っている。Vimはエディタであり、Vimを使ってやりたいことはみんなそれぞれ異なっている。Vimmerから出てくる様々な技術的議論・課題は実に楽しく、そのディスカッションは僕の技術者としてのリテラシーを支える一助になってくれたと思う。

そのような中でしかし、自分はどうにもプログラマとしては不適格であるのではないか、という負い目がずっとある。OSSに積極的にコミットしているかというととても怪しい。ていうかはっきり言えばしてない。OSSにコミットしたり、カンファレンスで発表をする人たちは僕にとっては憧れの対象だ。

5月にスタッフへの誘いを受け、ujihisaさんが「去年はスタッフ業にかかりきりで発表ができなかった、今年は発表もしたい」と言ったとき、僕はできるだけスタッフ業としてのタスクを引き取って、ujihisaさんが良い発表をする準備ができるようにしたい、と思った。それは、VimConfからもらいっぱなしであるということに対する負い目と、自分にはできない素晴らしい発表ができる人の手助けがしたい、という気持ちから出た思いであった。大規模なカンファレンスになるほど、運営の仕事というのは重要になるのだが、やはり技術カンファレンスの主役はスピーカーである。(結果的に、英語のスキルが必要となるタスクの多くはujihisaさんに依存する形になってしまい、それがどのぐらい実現できたかは甚だ疑問な結果とはなってしまったが・・・)

VimConf 当日

2018年11月24日、いよいよその時がきた。

去年は一般参加者として参加したVimConfだが、今年はスタッフジャケットを自分が着ている、なんとも不思議な気持ちだ。VimConf 2017は、自分が過去参加した中でも最高に楽しく、快適だと感じたカンファレンスであった。今日、自分がスタッフとして準備してきたVimConfは、去年に負けないぐらい良い体験を参加者の皆さんに提供できるだろうか?一抹の不安は心から消え去ることはなく、当日はさながら審判の日であった。

開場前準備と、参加者の皆さんの入場処理が一番忙しい時間帯だ。この時間帯のことは全然覚えていない。オープニングトークはいつの間にか終わっており、僕がメインホールの脇から発表を覗けるようになったときには、既にmattnさんの発表が始まっていた。 ここでやっと気持ちに落ち着きができ、Twitterで「#vimconf」タグを見た。 参加者の皆さんの反応はすこぶるよろしいようで、安心する。


そうこうしているうちに、Bramの発表がついに始まった。思えば、今年のVimConfスタッフが5月に集合したとき、「Bramを呼ぶかどうか」という議題からすべては始まったのだ。半年間準備を進めてきた結果、Bramが目の前にいて、タイトルスライドがディスプレイに映し出されている。

moppがBramを紹介し、拍手が起きる。僕も全力で拍手をした。

f:id:aomori-ringo2:20181201010644j:plain:w710



この瞬間、全ての苦労が報われた思いで私たちは満たされた。


カンファレンスの準備というのは地味な仕事である。スタッフはみなVimに長く貢献してきたVimmerばかりであるのに、実際にやることといえば山と積まれた事務仕事である。チケットの販売に使用したPeatixの仕様には何度も苦しめられた。世の中の多くのプログラマの例に漏れず、我々スタッフもみんなメールが得意な方ではなかったが、VimConfの準備のために慣れないメールでたくさんのやりとりをした。

それら全ての結果が意義のある仕事として認められたようであった。
今年からスタッフを始めた僕ですらそのような感じ入り方であったのだから、長年VimConfに関わっているkoronさんやujihisaさんの心に去来する感情はいかばかりだったろうか。
これまでVimという世界では馴染み深い存在でありながら、遠い海の向こうにいるはずのBram Moolenaar氏という人間は、どこか同じ世界に暮らしているという現実感が薄い気がしていた。そんなBramが目の前にいて、話をしている。我々は地続きの世界に生きている。 彼の存在を、我々はGitHubのissueやメーリングリストを見ることでほぼ毎日のように知ることができる。これこそがインターネットの力だが、この日、圧倒的なリアルが目の前にあった。世界がぎゅっと縮まったようであった。

その後も、スピーカーの皆さんによる発表、Twitterに次々投稿される弁当の写真、アンケートボードに貼られる大量のシール、Bramとたくさんの人たちが握手をし、ノートPCを見ながら話し、一緒に写真を撮る姿・・・様々な光景が眼前で繰り広げられた。参加者の皆さんが楽しんでくれている様子を見ることができて、我々は『感極まった』のだった。



VimConf 2018の仕事はまだ少し残っている。スタッフみんなで、発表動画をなるべく早く公開できるように、あと少しがんばります。