卜部昌平のあまりreblogしないtumblr RSS

Archive

Sep
13th
Mon
permalink

Rubyがそろそろ一回終わってみるべき10の理由

いや、Rubyを取り巻く皆さんの生活まで終われとは言ってないですからね。終わってみるべきなのはRubyのコア部分の開発。

1) 百年の大計の欠如

https://twitter.com/yukihiro_matz/status/25168548474 によると、100年や200年続けるべきなんだそうだ。ふーん。100年って言ってみたいだけちゃうんか。200年後といえば本人はおろかまつもとゆきひろと面識のある人間すら死に絶えている時期なんだけどな。そこまで続けたきゃどうするればいいか真面目に考えたことあんのかね。日本国ですらこの120年で2回も憲法変わってんだぞ。惰性で200年もつわけがないだろ。

2) まつもとゆきひろがスケールしない

御存知の通りまつもとゆきひろのRuby開発に対するコミットペース(ここでいうコミットってのはソースコードをチェックインすることだけではなくて広く「関与」の意味)は落ち続けている。それは忙しいからだ。べつに本人が忙しいことに関してとやかく言うつもりはないが。問題は彼が抱え込んだままになっているものが多すぎて開発が停滞していることだ。

ふつー、本人が忙しすぎて本業に割ける時間が減ってきたときに他業種ではどうするかというと、漫画家ならアシスタントを雇うし政治家なら秘書を雇う。つまりスタッフ制への移行だ。なぜまつもとゆきひろは本人が飛行機のチケットの手配とか雑用やってんのか? なんか理由があるんだろうが、ともかくこのような状況では彼が積極的にRubyの開発に関与できるわけがない。

3) ガバナンスがなってない

そもそも自称「独裁者」だったまつもとゆきひろがRuby開発にさほどコミットしていない現状、Rubyコア開発におけるガバナンス上の主権者は徐々臣民に移ってきている、かのように見える。たとえばいつからか知らないがruby core teamなるものが、どこかに存在する、かのように見える。

もちろんそんなのは嘘っぱちであって、誰がメンバーであるかもよくわからない上に、強制力のある議決のようなものも発効できないので、真面目にガバナンスがない。MLの議論は、あれはただの喫煙室トークだ。強制力のない議決に何ら意味はない。まあメンバー不明では議決すらとりようがないんだが。

4) セクショナリズムとコミュニティ政治の力学

この項、まとまりきらなかったので、またあとで。

5) いいかげんIRCから表に出ろ

チャットというツール自体を否定するわけではない(IRCプロトコルに対する批判はまた今度)。しょせんツールなので、使いようによってはとても便利だし、使いようによっては弊害も出るという至極当たり前の話である。しかしRubyの開発はIRCに閉じすぎている。ある時、俺はIRCをやめてみようと思った。どうしても緊急時になったらそんときはまた繋ぎに行けばいいよねと思って一旦接続を切った。そんな昔の話じゃないよ? 藤沢が停止するしちょうどいい機会だと思ったことを覚えているから、去年度後半の話。

んで、どうなったかというと、ひと月も経たずにほうほうのていでIRCに繋ぎ直した。完敗です。あそこ読んでないと何起こってんのかさっぱりわかんねえ。

6) 言語の壁は結局越せなかったね

この話は上のともリンクしてんだけど、ガイジンがRubyのコア開発に来ない理由は俺にはよく分かったよ。日本語読み書きできてIRC参加できるタイムゾーンで生活してないと実質議論に参加できねえもん。MLにはいきなり結論だけ載せてたんだね。俺達ね。MLでは議論してないんだね。

7) 性別の壁も越せなかったね

性別に壁があるってのがそもそもおかしいわけだが。

俺の知る限りRubyのコミッターに女性はYuguiさんしかいない。重要なことなので繰り返すが、現在Rubyコミッターは107人/法人登録されているが、その中で確実に女性だと判明しているのはYuguiさんだけだ。たしかにプログラマは男女比が男性に寄ってる分野ではあるが、それでもいくらなんでも1%切ってんのははおかしいだろ。ここまで来るともう女性に冷たいとかそういうレベルじゃねえよ。構造的な問題があるとしか思えねえよ。この問題はだいぶ根が深い。そんでしかもたぶん女性の社会進出どうのこうのとかいうレイヤーですらない。コミュニティはたぶん、可視化していないだけで、一部の男性の進出すら阻んでいるだろうからだ。異質なものが入り込みづらい風土ができていて、異質さの一種としての性差。そのように見える。

8) しかも人材の消費が激しい

Ruby 1.9.2のリリースに多大な貢献を果たしたえんどうさんの最後のコミットが今年の8月 ―― つまり1.9.2が出た時点で完全に燃え尽きてしまっていることにおまえらは気付いているか。今後Rubyをリリースするたびに一人ずつコミッターをすり潰して行く気か。

そういうのは開発とは言わない。焼畑農業というんだ。

9) そもそも人材の流入がない

執筆時点において最後にコミッターになったのはartonさんだ。が、これはむしろなんでコミッターじゃなかったんですか級のサプライズなのであって。最近はコミッターが増える気配はないものと考えてよい。一方_whyのようにフェードアウトしてしまう人や、Guy Decouxのように大変残念なことに亡くなってしまう人もいるので、基本的にはジリ貧といえる。特に学生がいない。mrknが卒業したのが最後の学生だった気がする。あれ、成瀬さんだっけ?

10) あたらしいRubyへ ―― 輝かしい100年の言語へむけて

まあ問題点は言い出したらきりがないので、最後は提言で終わってみようと思う。冒頭でも書いたとおり、100年続けようと思えば寿命的な理由で一人の努力では如何ともしがたい。できるだけ属人性を剥がすというのがまずは必要であり、したがってどのようにRubyからまつもとゆきひろを剥がすかという問題に自ずと帰結する。

まずありそうな方法としてはまつもとゆきひろには隠居してもらうというのがある。この場合は中心人物を欠いたRubyコニュニティは自ずと瓦解し、瓦礫の下からFreeRuby, NetRuby, OpenRubyが芽吹くという過程をたどるだろう。つらい時期もあるがプログラマには一番馴染み深い方式とも言える。し、現在のRubyはここに向かっている気がする。

しかしそこまで厳しい方式ではなくてもう少し穏やかになんとかしたいというのもありえて、これは上に書いたがまつもとゆきひろのスタッフ制への移行、つまり「まつもとゆきひろの中の人」が複数形になり、その一人として松本行弘がある状態を指す。初代隠居の際には誰かが二代目を襲名する。この場合は二代目が早世して初代門下から表Ruby, 裏Ruby, 武者小路Rubyが興ると相場が決まっている。たぶん分家したあたりでちょうど100年か。上よりはゆっくりとした流れになるだろう。

また属人性さえ剥がれればべつに隠居の必要はないという見方もある。今年のまつもとゆきひろは選挙の結果◯◯さんに務めてもらうことになりました方式だ。この場合権限の移譲と分割統治が猛烈に進み、テトラルキアを経てまず東側がビザンツRuby帝国として分離。西側が神聖Ruby帝国と西フランクRuby王国に分離するまで共和制への移行からおよそ1500年、帝政への移行からでも1000年ほどかかる計算だ。ここまで長続きすれば一応の成功と言えるだろう。

もちろんこのような主張は8割方はネタだが、本気の部分もあって、つまり何かを続けるには続くようなアーキテクチャが必要だということだ。もっというと変化を抱擁するようなアーキテクチャが必要とされている。続くってことは変わるってことですよ。ブレるって意味じゃなくてね。様々な問題に有効な打開策を打ててない現状は、周囲の状況に俺らのほうが追いついてないからなのだ。これまでのRuby開発には一旦別れを告げ、より洗練されたアーキテクチャのあたらしい開発コミュニティを目指すことができるか。はからずもRubyは100年続けることができるかの分水嶺に、まさに今立っていると思う。

  1. akisuteno reblogged this from dominion525
  2. maqbes reblogged this from dominion525 and added:
    9)が恐ろしい内容だなあ…
  3. katzkawai reblogged this from dominion525
  4. dominion525 reblogged this from shyouhei
  5. yancya reblogged this from shyouhei
  6. peketamin-tech reblogged this from shyouhei
  7. to4 reblogged this from shyouhei
  8. suisui123 reblogged this from shyouhei
  9. vivit-jc reblogged this from shyouhei
  10. esper2000 reblogged this from shyouhei and added:
    歴史ネタが面白い
  11. toshi0104 reblogged this from shyouhei
  12. meggrim reblogged this from shyouhei
  13. ishinao-blog reblogged this from shyouhei
  14. chanbara reblogged this from shyouhei
  15. sesuna reblogged this from qawsklp
  16. qawsklp reblogged this from cametan-001
  17. atm09td reblogged this from cametan-001
  18. clicklog reblogged this from shyouhei
  19. surus-t-blog reblogged this from shyouhei
  20. betat reblogged this from shyouhei
  21. tumbttoru reblogged this from shyouhei
  22. lugecy reblogged this from shyouhei
  23. ftnk reblogged this from shyouhei
  24. shyouhei posted this