作る人、伝える人


 先日、職場でぼんやりと「OOエンジニアの輪!」のバックナンバーを眺めていたのだが(仕事をしなさい)、首藤一幸さんの回に、あれ? と思うところがあった。少し長いが引用させてもらう。

AES ( Advanced Encryption Standard ) って御存知ですか? DES ( Data Encryption Standarad ) はいいかげん古いということで、 アメリカの NIST ( 米国国立標準技術局 ) という機関が募集をかけて、結果、 Rijndael ( ラインダール, レインダアル )が勝ち残ったんですけども。 そのコンペティションに日本からは某社だけが応募したんです。 応募するには、 C の速い実装や、C のリファレンス実装や、 Java の速い実装とかを出す必要があったんですけど、 僕はその中で Java の速い実装を担当したんですね。 でも結局、そのコンペティションで某社は勝てなくて。 僕の Java 実装のせいで某社は勝てなかったと、まことしやかに書くライターも居て (笑)。 それは結構苦い思い出ですね。

 補足しておくと、ここでの某社とは NTT のことであり、NTT が AES に応募した暗号アルゴリズムは E2 である。

 当方が上の談話にひっかかったのは、ここで言われる「ライター」が誰のことかピンときたからである。しかし考えてみれば、日本で AES の選考過程を実際に取材して記事にしたのは鈴木裕信さんだけといってよいわけで、暗号方面に興味がある人なら誰でも分かることではある。


 鈴木さんによる AES に関する記事となると、98年の AES Conference のときのものもあるが、首藤さんが言っているのは、今は亡き Bit 誌2000年4月号に掲載された「AESファイナリストをめぐって 〜暗号最新動向〜」に違いない。

 E2 が AES 最終選考に残れなかった理由として、記事から読み取れるのは以下の二つ。

  1. E2 の安全性に関して NIST が間違えて理解したため
  2. Java による実装のメモリ使用量が極端だったため

 首藤さんの発言が意外だったのは、当方はこの記事が Bit に掲載されたときにリアルタイムに読んでおり、記事、並びにそこに示されたポインタを辿る限り妥当性のある内容があると思ったからである(本文を書くために Bit のバックナンバーを調べたが、ウェブ版との相違は一部への追記・修正だけであり、論旨に違いはないと考えてよい)。しかし、首藤さんの「まことしやかに書く」という言い回しには、上に挙げた根拠のうち後者が正しくないということを暗に主張していることになり、戸惑ってしまった。

 当然ながら当方は鈴木さんと面識がないので、これまで氏が発表されてきた文章から判断するしかないのだが、この分野において氏を「ライター」呼ばわりはどうかなと思った。鈴木さんというと個人的には、以前Matzにっきにちょっとアレなコメントをしていてなんじゃこりゃと思った覚えがあるのだが、もちろん今回の話とは関係はない。


 もう少し判断材料が欲しかったので主に日本語の情報源を調べてみたが、めぼしいものを見つけることはできなかった。そこで首藤一幸さんのサイトにあたったところ、2000年4月1日の日記に以下の記述を見つけた。

E2 が AES ラウンド 1 のファイナリストからもれたのは Java 実装のせいだと言いたいらしい、すずきひろのぶ氏 in bit 4月号 (謎)。 そして、自分がチェックしていればそれを防げたと言いたいらしい。 本当は、NIST はあらかじめファイナリストを決めていて、落とした理由は後付け。

[後記]:現在、上に引用した文章における最後の文は、首藤さんにより取り下げられています。以下の当方の記述は、それを踏まえてお読みください。

 ここでも鈴木さんの記事に対する苦い想いを表明しておられるが、驚いたのは最後の文。NIST はあらかじめファイナリストを決めていただって!?

 当方はまったく知らなかったのだが、これは暗号関係者の間では周知の事実なのだろうか。だとすると、E2 の安全性についての NIST の誤解にも「この先の深い闇にとてつもないなにかが潜んでいるような気がする」というのは大げさとしても(笑)ひっかかるものがあるし、鈴木さんの記事への評価も変わってくる。そのウェブ版には、AES ファイナリスト決定後に取った NTT 関係者のコメントが反映されているが、上の話を鈴木さんは知らなかったのだろうか。


 今回 AES に関する件を取り上げたのは、当然ながら首藤一幸さん、もしくは鈴木裕信さんを批判するためではない。いずれにしろ四年以上前の話である。過去をほじくりかえしてどうこう言いたいわけではない。結果的に AES は Rijndael に決定したわけだが、その決定に文句があるわけでもない(同じく鈴木さんによる「3rd AESカンファレンス報告」を見ると、参加者サーベイ通りに選出されているという話があり、このあたりが真相なのでは、と思うのだが…)。

 ただ残念なのは、作る側とそれを伝える側で、しかもその伝える側がその分野で実績のある人であるにも関わらず、認識の齟齬が生じ、それが後に苦く吐露されたことである。特に今回の場合、技術と政治が絡む一番面白い、と当方が個人的に考える分野なので尚更そう思うのかもしれないが、もっと作る側も公に声をあげ、伝える側に影響を及ぼせればよいのでは、と思うのはナイーブ過ぎるのかな。

 さて、以上とは別の意味で、作る側と伝える側の齟齬について考えさせられた文章に、西田亙さんによる「Goodbye, Linux.」がある。反応 Wiki リンク集ができているので、主要な反応はそこから辿ることができる。


 この文章を読んでいる人で、Linux カーネルのソースコードを読んだことがある人はどのくらいいるのだろうか。そして、実際に Linux カーネルのコードを修正して、といっても include ファイル関係の記述を変えてコンパイルを通し……といったレベルでなく、主体的にカーネルのコードを変更して動かした人はどれぐらいいるのだろうか。

 当方は一応両方ともある。もっともネットワーク部の一部分に過ぎないので偉そうなことはいえないのだが、ともかくそのときは、機能仕様書というかドキュメントもなしに、がしがしカーネルをハックできる人たちってホントすごいよなと深いため息をついたものだった。

 もっともそのため息には、よくこんなんでやってられるよな、とドキュメントが圧倒的に不足した状況でコードに向かい、存分に苦労することとなったヘタレプログラマとしての嘆きもこめられている。これは以前、ほそのひでともに愚痴った覚えがあるのだが、一言で Linux カーネルといっても部分部分によってコードへのコメントの充実度にも差があり、苦労して問題点を探り、特定したところで Rusty Russell の「ここ全然完全じゃないんだけど、誰か直しといてくれる」式のコメントを目の当たりにし、「お前が! 今すぐ! やらんかい、ゴルァ!」と激昂したこともある。

 西田さんは、以前より連載記事の中で Linux のドキュメント整備の問題について何度も触れられており、また小生の乏しい経験と照らし合わせてみても、今回の文章に書かれてあることはその通りだろうと思う。


 ただ、これまで氏の連載記事を読んでいない人がいきなりこの文章に接した場合、ちょっと誤解を招くだろうな、言葉の選択が適切ではないな、と思うところがあるのも確かである。

 西田さんは IBM developerWorks の Linux コーナーの充実振りを賞賛するが、それを「IBM エンジニアの男気」とまとめるのは明らかにおかしい。IBM が Linux に深くコミットするのは、tach さんが正しく指摘する通り、IBM にとってそれがビジネスだからだ。質の高い文書を蓄積するのが、第一に IBM にとって利益をもたらすからだ。どの文書も論文といって遜色のない構成を取っているのは、IBM の雇用されるエンジニアは大学で本式のライティングを習得した人たちが多く、彼らにしてみれば企業の成果として公開する文書の書き方がそうなるのは当たり前であり、「Linux community を憂う」といった情緒的な認識が原動力になるわけはない(個々でそういう認識はあるかもしれないが)。つまり IBM の Linux に限らないオープンソースへのコミットは、ビジネスの論理に則ったもので、「男気」や「憂う」といった言葉は、それを説明するのに適切ではないと思う。

 また「自分の貴重な時間を Nerds の気まぐれに費やしているのかと思うと、ホトホト悲しくなってくる」というのは、いかがなものだろう。Linus Torvalds は崇高な理念を胸に Linux を作り始めたわけではあるまい。正に「Nerds の気まぐれ」から始まったものであり、現在企業に雇用されている人も含め、大抵の Linux カーネルハッカーについても同じことが言えるのではないか。そんなにあなたは偉いのか? と誤解されやしないだろうか。


 もちろん上にも書いた通り、これは件の文章を単体で読んだ場合の問題であり、西田さんの連載をずっと読んできた人であれば、氏がこれまで執筆記事において、問題に身をもって立ち向かってきたか分かっているはずである。

 ここから現在の Linux コミュニティ、バザール開発方式の問題といった話になるのだろうが、既に Linux コミュニティ内部の人がいくつもコメントしており、部外者の当方が付け加えることはあまりない。ただ一つ指摘しておくと、『魔法のおなべ』についての田宮まやさんの、「そもそもハッカー資源が無限だという暗黙の前提があるようだ」という鋭い指摘、並びにその楽観的な前提がもたらす歪みについて検証がなされるべきときではないかなと思う。

 さてここで再び問いたいのは、この文章を読んでいる人たちの多くは、それなりに Linux について知識のある人たちだろう。しかし、UNIX USEREmbedded UNIX における西田さんの連載記事をちゃんと読んでいる人となると少ないのではないだろうか。恥ずかしながら当方も、自分のやっていることと直接的に関係しないとスルーした記事が結構あったりする。

 かなり皮肉なタイミングにではあるが、これを機会に雑誌のバックナンバーを辿り、西田さんという技術の本質を理解した書き手による記事を読んでみてはいかがだろう。書き手として名前を連ねるのを光栄に思う人は多くいるが、一緒に名前を連ねる(UNIX USER 2004年1月号がそうでした)のを恥ずかしく感じる人は少ない。

 だから今後氏による Linux を対象とした文章が読めなくなるのは、余計に残念に思うわけで……


[後記]:
 鈴木裕信さんにメールをいただき、主に以下のご指摘を受けました。


[前のコラム] [技術文書 Index] [TOPページ] [次のコラム]


初出公開: 2004年07月06日、 最終更新日: 2004年07月15日
Copyright © 2004 yomoyomo (E-mail: ymgrtq at yamdas dot org)