独占的ソフトウェア の弁明をする人たちは、 こういう話をするのが好きです。 「 フリーソフトウェア は素敵な夢だが、 信頼性の高い製品を作れるのは、 独占的な組織だけだっていうのは、 我々みんなが知ってることだよ。 ハッカーの寄り集まりにはそんなことできっこない」
しかしながら、経験上得られた事実はその意見に反しています。 以下で述べる科学的なテストによれば、 GNUソフトウェアは、それと比較できる独占的ソフトウェアよりももっと信頼できることがわかったのです。
これは驚くべきことではありません。 GNUソフトウェアが高信頼性であることには確かな理由がありますし、 フリーソフトウェアがたいてい(常に、とはかぎりませんが) 高信頼性であることにも確かな理由があるのです。
Barton P. Millerとその同僚は、 1990年と1995年に、Unixのユーティリティプログラムの信頼性をテストしました。 そのいずれにおいても、GNUのユーティリティは非常に抜きん出ていました。 彼らは7つの商用UnixシステムをGNU同様にテストしました。 ランダムな入力ストリームを与えたところ、 「基本的なユーティリティプログラムのうち40%以上が、(コアダンプして)クラッシュしたり、 ハング(無限ループ)したりしました…」
この研究者たちは、 商用のUnixシステムの故障率 (訳者: failure rate。適切な訳語は? ) は15%から43%の範囲なのに対して、GNUの故障率は7%にすぎない、 ということを発見したのです。
Millerはまた次のように言っています。 「我々が比較した商業製品のシステム3つは、 1990年と1995年にはるかに信頼性が改善された。 しかし、failureの割合はそれでも著しく高かったのだ (GNU/Linuxからの基本ユーティリティは、 これらの商業製品よりもはるかによかった)」
詳細は彼らの論文を参照してください。 Fuzz Revisited: A Re-examination of the Reliability of Unix Utilities and Services (postscript 146k) by Barton P. Miller <bart@cs.wisc.edu>, David Koski, Cjin Pheow Lee, Vivekananda Maganty, Ravi Murthy, Ajitkumar Natarajan, and Jeff Steidl.
(訳者: PDF形式 もあります。 )
GNUユーティリティの信頼性がこんなに高いのは、まぐれではありません。 フリーソフトウェアが高信頼性を持つ傾向があるのには、 確かな理由があるのです。
理由の一つは、フリーソフトウェアは 問題を解決するために、全コミュニティが協力しあって関わっているという点です。 ユーザはバグを報告するだけではなく、 バグを修正したり、修正を送ったりすることすらあります。 問題の深みまで至り、そのソフトを問題なく動作させるために、 ユーザは電子メールで互いに会話をしながら一緒に作業するのです。
別の理由は、開発者は信頼性を本当に気にかけているということです。 フリーソフトウェアパッケージは商業的に競っているとは限りませんが、 それでも競っていい評判を得ようと努力しています。 不充分なプログラムは、開発者が期待する人気を得ることはないでしょう。 さらに、ソースコードを万人に見えるようにしている作者は自分の評判をオンラインに置いており、 コミュニティから否認の刑にさらされないために、 ソフトウェアをクリーンでクリアなものにしておくべきなのです。
ノースダコタ州、Fargo (最近映画と洪水で話題になったFargoと同じ)のThe Roger Maris Cancer Centerでは、 LinuxベースのGNUシステムを使っています。 そこでは信頼性が本質的に重要だからです。 GNU/Linuxマシンのネットワークが情報システムを動かし、 薬物療法(drug therapies)を組織的に結び付け、 さらに他の多数の機能を果たしています。 そのネットワークは、 センターのスタッフが必要に応じてすぐに利用可能である必要があります。 (訳者: Fargoについては、読者から情報をいただきました。 感謝します。 映画 および 洪水 にFargoが出てきたそうです )
G.W.Wettstein博士の話 <greg@wind.rmcc.com>:
「Linuxが存在しなかったら、 我々のガン患者を現在のような形で適切にケアすることはできなかっただろう。 …フリーソフトウェアのルートから入手できたツールたちを使うことで、 我々は、販売されていないような…革新的なアプリケーションを書き、開発することができたのだ」
Scott Maxwellは、 GNUソフトウェアから「ファズ・バグズ(fuzz bugs)」 を根絶する作業を率いています。 そうすることで、GNUソフトウェアはさらにもっと信頼性が高まるのです。 このプロジェクトについては、 http://home.pacbell.net/s-max/scott/bulletproof-penguin.html を参照してください。 (訳者: ランダムに生成された入力をプログラムに与えるテストをfuzz testingと呼び、 それで発見されるバグをfuzz bugと呼ぶ。 詳細は、 この文章の最初にもある"Fuzz Revisited"の論文を参照 )
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
本文に一切変更を加えず、この著作権表示を残す限り、この文章全体をコピーおよび配布することを許可する。 媒体は問わない。
翻訳は 結城 浩 <hyuki@hyuki.com> が行ないました。 誤字・誤訳の指摘を歓迎します。
HTMLソースに原文がコメントとして含まれていますので、 ご指摘くださる際に利用してください。
プロジェクト杉田玄白 正式参加テキスト。