最近は仕事でCやらXSLTやら(e)Rubyやらと格闘しています。何をやっているかは,明らかにできるようになったら書こうと思います。

 世の中「プログラマ35歳定年」とか言われていますし,私自身「プログラマって自称していいのは35歳までだよねー」と思っているのですが,それを10年過ぎていながらプログラマです。もちろん代表取締役でもありますから,「代表取締役プログラマ」とでも名刺に書くべきかなとも思います。世間では「35歳定年」と言いますが,私は45歳ですしrmsは55歳です。日本最初のハッカーと称される和田英一先生は70を超えておられます。まだまだ頑張れるでしょう。

 さて,担当さんにあまりネガティブなことは... と言われてはいるのですが,オープンソースについて考える時に避けて通れない話題に入りたいと思います。

「Firefox」は使っていません

 いきなり私事から始まりますが,普段の私の作業環境はLinuxの上です。プログラミングからメール,ウェブを見ることも,経営に欠くことのできない財務や経営シミュレーションまで,基本的に全部Linuxの上でやっています。Windows環境も持っていますが,Accessで作られた請求書発行のシステムを使うのと,「ニコニコ動画」を見る時くらいにしか使っていません。ニコニコ動画はFlashですから,Linuxの上でも見られそうなものなのですが,64bit Linux上のFlashはイマイチ安定性に欠けるため,常用するに至っていません(編注:32ビットLinux上ではニコニコ動画は快適に鑑賞できています)。請求書発行については遠からず作る予定です。

 私がLinuxをデスクトップで使うことは,最近そうしたのではなく,まだdistroがSLSLinux*1しかない時代から「デスクトップはLinux」です。もう10年以上使っているわけです。最も今使っているdistroはDebianですが。

 それくらい使っているLinuxですが,この上でブラウザとしてFirefoxを使っていません。

 では,どうしているかと言えば「Iceweasel」というブラウザを使っています。これは,知らない人にしてみれば「何だそれ?」でしょうし,知っている人は「要するにFirefoxでしょ」だと思います。一言で言えば,「要するにFirefox」です。ですが,私が使っているブラウザには「Iceweasel」という名前がついています。

 細かい経緯については参考リンクを挙げておきますので,そちらの方を読んで戴くと分かると思いますが,一言で言えば「Debianの上にはFirefoxは存在しない」ということです。もう少し詳しく書けば,Debianの配布ポリシーとFirefoxの配布ポリシーが整合しないため,「Firefox」として配布できないということが原因です。この「配布ポリシー」で問題となっているものは,「Firefox」という名称やロゴといったもので,モジラ財団は「ブランド」を保護するという方針に立っているという点で,Debianの配布方針であるDFSG*2と整合しないという理由です。

 それぞれの立場について,どっちが正しいと断じることはここではしません。それぞれにはそれぞれの考え方があり,それらは尊重されるべきものです。個人的には,ブランドなんてものはどうでも良く,問題なく動いていればそれで十分です。ところが,厄介なことに話はこれで終わりません。

 私のLinuxの環境は,x86_64上のDebianです。ここにはFirefoxと論理的には同じはずの,Iceweaselが動いているのですが,これの品質がどうもイマイチなのです。

 例えば,長らく使っていると,メモリーリークのような現象が起き,だんだんブラウザ自体が重くなって来ます。また,Xのリソースの解放に何か問題があるらしく,X serverのプロセスが肥大化して行きます。またある時突然落ちてしまったり,落ちてしまってからの復旧がおかしかったりします。つまり,品質がどうも良くないのです。

 品質が良くないだけなら,「モジラしっかりしろ!」と思うだけなのですが,複数の「Debian筋」の話によると,どうやらこうした問題の何割かは,Debian上のIceweaselの問題であって,Firefoxの問題ではないということです。だから「モジラのバイナリを使うとかなり改善される」という話でした。

 この話がどこまで正確なのかわかりません。裏を取ろうと思ったら,両方のバイナリをベンチマークしてみるなり,gdbでコードを追うなりしてみれば良いのですが,そこまでするモチベーションも時間もありません。いかにオープンソースとは言え,ブラウザのような巨大なソフトウエアを,それをいじることを専門にしていない者がいじるのは,現実的ではありません。ただ,利用者として困っているという事実があり,そういった対策情報が流れているという事実があるだけです。そして,問題はこの「情報」の真偽ではありません。

 「利用者」として一番困るのは,品質が違うらしいものが「本家」とは別に流通していて,「標準」で入るものが「本家」と違うものだということです。「本家版」を入れれば,distro本来のパッケージとの整合性が崩れかねませんし,入れることそれ自体が結構手間で面倒くさいものです(本家版はtar.gzだけでdebはない)。また,x86_64では,そもそも「本家版バイナリ」が存在していません。そういったわけで,自分の使っているブラウザをいろいろ疑いながら使うことになります。

 現在ではいろいろなものがウェブ上のアプリケーションとして実現されていて,「ブラウザさえあれば何でもできる」と言っても過言でないくらい,ブラウザに依存して生活していながら,その「基盤」が今一つ信用できないわけです。不安定なブラウザの動作を見ていると,いろいろと不安を感じてしまいます。そして,その「不安」のはけ口をいったいどこに向けるべきかがわからないのが,さらに不安を増します。

*1 SLS Linux: Soft Landing Systems Linux。世界で最初のdistro。SlackwareはこのSLSの改良として公開された

*2 DFSG: Debian Free Software Guidelines。Debianに含まれるソフトウエアの条件の規定。OSP(Open Source Definition)の元となった。八田真行氏による註釈付きの訳は,http://www.opensource.jp/osd/osd-japanese.html