Rails勉強会@東京 第27回 に行ってきた。今回は伊藤忠テクノソリューションズさんの会議室を借りて開催。形式はいつものごとく、オープンスペースを前後半2回に分けて開催。
前半
前半セッションでは、私が今書いているRuby入門書のダメ出しをやった。
細かいところは公開できないのだけれども、書籍の構成や技術的な表現について、執筆経験豊富なメンバーからいろいろな意見を頂いた。
技術書の出版技法について
某オーム社では Subversionで原稿を管理してる そうな。これはちょっと前に話題になったね。
私の場合は、原稿はRDで書いてる。
- 出版社側に出すのは独自の簡易マークアップ言語なので、 rdtool をつかってトランスレータを作成した。
- 書きながら分量を知りたいので自分でそれっぽいPDFを作成している。 rd2latex をベースにカスタマイズしたトランスレータでRD→LaTeX→PDFと変換してる。
- 依存関係は勿論Rakeで管理。
- 原稿やコード例はSubversionで管理してるけど、これはローカルリポジトリで出版社側とは共有してない。
他の某Ruby書籍の場合は関係者用のWikiで原稿管理してるみたい。
某Rails書籍の場合、やっぱりSubversionで管理してるそうな。こっちは出版社側と共有してて編集者さんがコメントを付けてコミットしたりするそうな。
やっぱりプログラマからすると、作成したデータをバージョン管理しないというのはあり得ない話だ。バージョン管理しないとデータロストやデグレードに関して強い不安を感じる。加えて、Subversionで管理すると
- 共著が楽
- リポジトリを共有すれば、日々の原稿の進捗を見られるので編集者も安心
というメリットがある。
RDの未来
最近はもう、Rubyの埋め込みドキュメントはrdocがデファクトスタンダードになってしまった。rdocはRubyに標準添付されてるけどrdtoolはされてないしね。どうも将来が先細りのフォーマットな気がする。
とはいえ、私はRDが好きだ。汎用のマークアップ言語で、表現が簡易でかつ可読性が高く、ソースそのままで整形しなくても意味が通じる。rdtoolを使って自在に加工できる。私が文書を作成するとき第一のフォーマット選択肢はRDだし、rdtoolが動く限りRDを使うだろう。
後半
後半はRedmineを触った。Railsで作られたBTSだ。
RedmineはRuby自体の開発のチケット管理に内定(それとも内々定くらいかな?)してるのだけれども誰も設置してなかったのだ。たぶん誰にもアサインされていないのが原因と思われるので、昨日、笹田さんと話して私がやることにした。とにかく設置してしまえばRuby開発陣も使うだろう。
いくつかの機能は足りないのでRedmineを改造することにする。なのだけれども、ちょっと段取りが悪かったのでRedmineの機能を調べてソースをちょっと覗くだけで時間が終わってしまった。
何にせよ、Redmineは便利で使いやすそうだ。ただ、0.6.3はUIが微妙に行き届いていない。trunkのバージョンのほうが良くできている。
Rubyの開発体制
Ruby処理系の開発はまだ人が足りていないという印象を受ける。「担当者がいないから放置されている」という類の問題が数多くある。一つ一つは細かいことではある。例えば、何とかのドキュメントを書くとか、何とかのどうでもいいようなバグを直すとか、日英のメーリングリストを通訳するとか。
こういうことにMatzやRubyコアメンバーの手を割くことはない。こういうのは、要は人を足せば解決するのだ。極端な話、どこかのお金のある会社が「新人3人好きなように使ってください」というのでも役に立つかもしれない。CRubyもそうだし、Sunがバックに付いたJRubyですら「やる人がいないからやっていないこと」があるみたいだ。
「新人3人」だけだと仕事を指示するのに手間がかかりすぎて逆効果かもしれない。でも、じゃあその頭として誰か「指示して割り当てる人」が付けばいい。その人がMatzにはっぱをかけて「この日までにfeature fixしてください」とか言って、あとは「新人」にドキュメントを書かせてレビューして。 そうすればRubyの開発はぐっと進んで、ドキュメントが充実し、処理系は安定するだろう。
あー、そう「マネージャー」ね。今のRuby 1.9には「マネージャー」が必要なんだ。開発者が開発に専念できるように、スケジュール管理とかリソース管理とかをこなして、適当に人員を使いながら雑用を片付けて行く人が。
笹田さんに「そんなに言うなら、その辺をYuguiがいくらかやってみたらどうか」と言われている。うん、できるだけのことはしたいと思ってる。あとは、どこかのお金持ちの会社が「Ruby処理系開発の雑用をやれ」って言ってフルタイムで雇ってくれれば本気でやるよ。リファレンスマニュアルも、今は趣味の時間にちびちび書いてるけど、仕事の時間に書いて良いならがしがし書くよ?
Rubyは今、産業的に大きく注目されている。「Rails案件」みたいなものが世の中に出てくるようになってきている。でもその基盤であるRuby処理系の開発は「お金や人手を出せば解決すること」が放置されている。こういうことにこそ、公的性質の強い組織や国がお金を出すべきじゃないのか? 私じゃなくても、少なくとも笹田さんとかmputさんにだけは行くべきじゃないのか。彼らの活動を支えるために「せめてお金ぐらいは出すべき」じゃないのか。こういうところで投資しておけばそれは人材を囲い込んで、Rubyにまつわる1つの市場に、支配的影響力を及ぼせるということだしね。NaClのように。
私信
笹田さん、すんません。どうも最近スケジュールを1日間違えることが多いんです。植木算のやり過ぎかもしれませんw ……とか言って、草を植えすぎてどうかしたかもしれません。