Linux Foundation Japan Symposium

Andrew Morton大先生の講演を拝聴してきた。

http://www.linux-foundation.jp/modules/eguide/event.php?eid=5

どうやら超人的な仕事量をこなしているようだ。シャーロックホームズみたいな感じの紳士だった。

終了後に「カーネルデバッグに何のツールを使ってますか」と聞いてみたら、何を言っているんだ君はという感じの反応をされた。
私の発音がひどいせいだろうと思ってわかりやすく「kgdbとか...」と言ってみたところ「あれは悪くないツールだが、死んだ」と言っておもむろにkgdb.sf.netを開き、サポートされているバージョンを確認。「2.6.15か、化石だな」という感じの一瞥のあと、「最新版にマージされるといいなとは思う」とおっしゃっていた(ように聞こえた)。akpm氏にとっては最新版にマージされているかどうかが使うかどうかの分水嶺だ。

ICEを使ってるんですかと聞いたら「No」。ではどうやってデバッグするのかと聞くと「Thinking」とのこと。コードを見て考えるのが最高のデバッグ方法であると。
その場はそうですかと納得するしかなかったのだが、それは超人にのみ可能な技であって、凡人にはやはりGUIデバッガが必要だと思う。

つきつめるとデスクトップOSとしてのLinuxがいまいちな点の原因の一つはその辺で、MSやAppleのOSや開発ツールは凡人を前提にしている。凡人がLinuxデバイスドライバを書くのはつらい。デバッグもかなりつらい。そしてカーネルのマイナーバージョンアップで動かなくなるとさらにつらい。

デバイスドライバAPIは固定しないのか」という質問をしたら、「良いものを取り入れるという思想を壊したくない」というような返事があった。大切なことだと思う。ダイナミズムはLinuxの大きな特徴だし。
安定化と高機能化には一般的にはトレードオフがあるわけだけど、機能固定版と機能拡張版みたいにブランチをわけるとコミュニティも分断されるから、2.6という一つのバージョンで両方を目指しているんだろうなと感じた。で、欲張るために超人が必要であると。そんな風に納得した。