雨と強風の中、RubyKaigi 2015に参加。お昼には雨は収まっていた。イベントメモは3日分整備してからEvernoteのノートをアップする予定。
初日のキーノートではまつもとさんのためになる話を聞いた。
- Rubyはもはや私の言語ではない
- MNASWAN 怒りとナイス
- OCaaS 変化と苦痛
- Rubyの成功の秘訣
- 4つの学んだこと
これらの話はRubyに関係なくソフトウェアエンジニアには参考になる話だと思う。
Rubyはもはや私の言語ではない
RubyはもはやRubyコミニティが作った言語になっているということ。最後の採用はコア開発者が決めるが、アイディアの多くがコミニュティから出て、コミニティで議論されている。
KeynoteでRuby 3に言及しているようにRubyの大まかな方針はまつもとさんが打ち出している。集団の各自が自発的に動くのも重要だけど、船頭多くして船山に登ることにもなりかねないので方向性を決める人はちゃんといないといけない。そのあたりRubyのコミニティは組織として良いバランスを維持できているんじゃないかと思う。
MNASWAN 怒りとナイス
怒りは自分の中で制御できればモチベーションになるという話と、ナイスをうまく伝達させる話。
プログラマの三大美徳(怠惰、短気、傲慢)はどれも怒りという感情に紐付いているという面白い視点。怒りは制御されている限りモチベーションになるが、一方でそれを表に出してしまうと怒りは人に伝染していくため自分の外には出すべきではない。
同様にナイスも伝達する。MNASWANは「Matz is Nice And So We Are Nice」の略で、「まつもとさんがナイスだから我々もナイスでいよう」という考え方がRubyコミニティメンバーにはあり、それがRubyの原動力になっているとのこと。
OCaaS 変化と苦痛
OCaaS(おーかーす)はまつもとさんが作った単語で「OSS community as a Shark」の略。オープンソースコミニティは鮫のように泳ぎ続けていないと死んでしまうという意味。
仕事であれば毎日できることでもオープンソースは自発的な作業であるためつまらないと続かない。続かないとコミニティは廃れていく。つまらなくなくするには変化し、前に進み続けないといけない。しかし、変化をするということはコストであり、苦痛でもある。そこには変化と苦痛という矛盾が生まれる。
変化をしないとコミニティは死んでしまうが、生きるために変化をしようとすると利用者はその痛みを嫌がり変化しなくてよいと言うという矛盾。「我々は苦痛の世界に生きている」という哲学チックな話が面白かった。
Rubyの成功の秘訣
変化と苦痛の流れの中でヘンリー・フォードとアラン・ケイの話を引用しつつ、人の生活が変わるようなものをつくらないといけないという話があった。
ヘンリー・フォード
もし顧客に、彼らの望むものを聞いていたら、彼らは「もっと速い馬が欲しい」と答えていただろう。
アラン・ケイ
Make something people
wantneeds.
Rubyもどんなものが欲しいですか?と聞いてつくったのではなく、未来にこうなったらいいなと思って作った。いろんなことを言われても気にせず(内心は気にしていたけど)それを10年やり続けたことがRubyの成功の秘訣だったと説明。
ヘンリー・フォードやアラン・ケイの話はものを作っている人であれば知っている人は多いと思うけど、それを変化と苦痛の狭間で愚直にやり続けるということが重要な体験話だったのではないかと思う。
4つの学んだこと
まつもとさんは発表内でRubyを改善する過程で「4つの学んだこと」をまとめられた。
- 何もかも捨ててはいけない
- 劇的な変化は目指してはいけない
- ユーザを納得させる説明ができない限り互換性を失う変化をしない
- 変化しつづけないといけない
- メリットを提供しつづけないといけない
物事には楽な方法というのはあまりなくて、根気よく続けていかないといけないという話に聞こえた。このあたりは、日本人の勤勉さが多少なりともRubyコミニティに活かされているのかもしれないとふと思った。
こうやって書いてみると、ソフトウェアエンジニア関係なく、ものを作る上でためにある話であったと思う。また、コミニティに関する話はIT関係なく、社会人なり集団で行動する上でためになる話だったと思う。