Pavelの返信とTOMOYO Linuxシーズン2のはじまり

気になっていたPavelからの返信が届いた。

The document above says otherwise. 'There is no way except rebooting
the system that can free unneeded memory' certainly looks like memory
leak. Plus it sounds like if you change the policy, it will not free
the old one, either.

								Pavel

PavelはTOMOYO Linuxのマージに反対していた一人で、提案のフェーズでは一貫して反対派だった。直接会って話したことはないけれど、メーリングリストから受ける印象は「すれ違いざま刺してくる」という印象だった。おまけに使う言葉がきつい。だから、今回の件では、どんな手厳しい返事がくるかと思っていた。「メモリリークを意図的に行っているようなコードはマージすべきではない」とマージの見直しを提唱しないかという可能性すら考えた。しかし、実際に届いた内容はいたって冷静であり、客観的なものだった。そのことにまず驚いた。

Pavelは以前、「カーネルユーザランドの間のインタフェースはどこに書いてある?」と質問してきた。熊猫先生がドキュメントの場所を教える返事を返したが、そのときには返信はなかったけれど、今になってそのドキュメントを読んでくれているようだ。引用されている「不要になったメモリ領域を解放するためにはシステムを再起動するしかない」はその中の一文だ。また、「ポリシーを変更した際に古い(該当する)領域を解放することができない」ように読めると書いてある内容も正しい。

メモリリーク」の件に過敏になったのは、それがPavelの発言である他に、以前提案していた際の議論を思い出したことも関係している。領域の解放は、単に機能の問題ではなくて、TOMOYO Linuxのデータの管理方式の内容に関わり、変更する場合には影響が大きい。もちろん使わない領域は解放できることが望ましいが、「わかりました」と言えない事情がある。以前の議論では、worm(write once read many)の構造で、使う容量もわずかだという主張でなんとか通したが、Pavelは今またそこを指摘している。

正直言って、熊猫先生はドキュメントに書きすぎている("Don't worry"の部分も)気がするけれど、Pavelの返信を見て、本来は気付かれずに通り過ぎてもらうことを期待するよりも、ちゃんと議論し、説得するか、あるいは問題があればコードを直すのが筋であって、マージされて今、それが始まるような気がした。シーズン2だ。シーズン1とシーズン2の違いは、マージされたコードを自分のものと考えないことではないかと思う。子離れというかコード離れだ。誰にとっても自分が考えた方式や一番良いと思ったコーディングを変えたくないのは当たり前だが、熊猫先生はそれが特に強いから、これからの議論は、楽しいものにはならないだろう。でも、それを受け入れることができるならば、TOMOYO Linuxはより良いものになるに違いない。