未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

セキュリティ&プログラミングキャンプ2010を振り返る

当事者の一人として、セキュリティ&プログラミングキャンプ2010(以下キャンプと記す)を振り返る。

来年度同じようなイベントが開催できるか分からないので、今回ここで振り返ったところでそれが来年実装できるかどうかは神のみぞ知ることなのだけど、まあ、どのようなことが課題だったかということを明文化することは悪いことではないので記す。

キャンプの中の人として、プログラミングコースの主査の立場から言うと、このようなキャンプは世界にも多分例がないし、やる意義は大変あると思うし、できれば、最低でも10年は続けたいと思うのだけど、正直、税金を使って続けることがいいことなのか、考え時だと思った。本当に必要だと思うのだったら、本当に必要だと思う人が(企業とかも含めて)、ファンドして、お金を捻出をしてでもやるべきで、国の支援が切れたから、終わりというのは、あまりにも残念な感じである。

現状の最大の問題はスポンサーが国ということがある意味皮肉なところである。

まあ、自分のコントロールできないところをあれやこれや言ってもしょうがないので、自分が関与できることについて振り返ってみる。

ハッカーを育成するなんてことができるのか

ハッカーを教育によって育てるなんてことはできるわけがない。ハッカーはかってにハッカーになるのである。ただし、ハッカーの卵は発見できるかもしれないし、その人が孵化することを手伝うことはできるかもしれない。適度な温度、湿度において、ハッカーが孵化するような環境を用意することはできるかもしれない。孵化するかどうかは、その人次第だとしてもだ。

ハッカーの孵化を手伝うことが出きるのはハッカーの価値観を理解している人で、それは多分、ハッカーにやらせるのが近似解かと思う。ハッカーの価値観を理解しない人には絶対ハッカーの育成などできるわけがない。

キャンプのストラクチャーを組別にしたのは、ハッカーによって、授業を組み立ててもらうためだ。今年からセキュリティーコースも組別にしたのは、プログラミングコースの昨年の成功による。組別の講師陣が、自分たちはどのようなコースにするのかを明示し、どのような人に参加してもらうかを明確化する。それが最初の一歩であり、成功の一歩であった。

ハッカー予備軍を発見して育てるというチャレンジである。

その作業は、募集要項を検討する時点からはじまる。各組の組長が自分の頭の中にあるあるべき姿をイメージし、受講生をイメージする。明確であればあるほどいいのであるが、言語化は必ずしも容易ではない。

募集要項を読むことによって組長の意図がすけてみえる。それを読み取れれば参加の確率は高くなるが、その意図が理解できなければ、参加はできない。(よっぽどのまぐれでなければ)。

参加者のイメージ

プログラミングコースの参加者のイメージは、基盤系ソフトウェアの作り手になる人だ。利用者ではなく開発者。

オープンソースの単なる利用者ではなく、オープンソースの開発者である。そのような人材を育てたいと考えた。したがって、コースのカリキュラムのなかには、オープンソースのコミュニティの歩き方などについてのトピックスなども含まれていた。

オープンソースに興味のない人や作り手になりたいと思わない人は参加できない。そのような性格のキャンプである。

わたしが主査をやっている限りはそれがベースになる。

今年のキャンプ

昨年はプログラミング言語組でRubyの実装をキャンプ生のみなさんとハックした。今年は、Linux組でカーネルをキャンプ生の皆さんとハックした。久しぶりにlinuxカーネルソースコードを読んで、それも朝から晩までお腹いっぱい読んで、頭がクラクラした。船酔いみたいな感覚である。

KVMgdbを利用してカーネルデバッグしたのだが、ふつーのアプリケーションのように、ふつーにブレークポイントを設定できたり、ステップ実行ができたりして、や、やば、すげー簡単、カーネルとは思えないとか初心者の感想を持ちつつ楽しく実習をできた。

Linux組のコースには、講師としてではなく一受講生として参加したので、本当に勉強になった。日本で考えられる最高水準のLinuxハッカーの直伝なのでおもしろくないわけがない。

わたしなんかは何年かぶりにカーネルを読むわけだから知恵熱が出ている状況で、やべーってな感じである。start_kernel()界隈のコードをどう読むのかを考えたわけであるが、詳細については、わたしの日記の読者にとってはどーでもいいことだと思うので、記さない。

楽しかった。

どのような社会的意義があるのか

hyoshiokの趣味でやっていることにどんな意義があるのか?というような疑問がわくのは、もっともである。hyoshiokさんの趣味に何かつきあってられない、勝手にやってれば、と思う人も多いと思う。

どうでもいいのであるが(本当はどうでもよくないのであるが)、一応社会的な意義についても一言二言触れておくことにする。

ソフトウェアは人が作る。世界を変えるようなソフトウェアも人が作る。当たり前の話なのであるが、その当たり前の話が通じないので、あえて繰り返すが、ソフトウェアは人が作る。

なので、そのような人を発掘し、育てることが重要である。誰も反対しないと思う。しかし、その当たり前のことがこの日本という地域で十分行われていないという風にわたしは感じる。

そこで、キャンプである。

次世代の社会を変える人々を発見し、そのスキルを思う存分発揮するような環境を作るというのが大人の仕事なのである。

キャンプは、そのような人々を発見する場所なのである。

ハッカーが住みやすい世界を作るのが大人の仕事なのだけど、なかなか簡単ではない。簡単ではないがそれをやらない限り日本の未来はないと思うので、微力ながら、あーだこーだ七転八倒するのである。

プログラミングキャンプを10年続ければ、クレージーなアイデアを持った若者が200人〜300人発掘でき、そのうち2〜3人が世界をよくしてくれればめっけものである。200人のプログラマーの後ろには参加したくても参加できなかった数千人の若者がいて、その人たちの後ろにはさらに多数のプログラマーがいる。そしてまだ見ぬその人たちが、世界を変えていくのだと思う。

わたしの個人的な趣味として、プログラマを増やすということに社会的な意義を見出す人はいろいろな意味で支援をしてほしいと強く思う次第である。
好きだからやっているのである。そして、それに賛同してくれる人を求む。