自動ソフト検査サービスを提供するリーズニングが、Linuxカーネルと5つの商用OSのソースコ ードの比較調査を行った。その結果、いくつかの点で、Linuxカーネルのソースコードの方が、 今回比較対象となった商用OSのソースコードよりも質が高いことが判明した。リーズニングの 報告書は、オープンソースの場合、開発者のみならず一般ユーザーまでもがソースコードの チェックをするからだと、その調査結果を結論づけている。
OSの基礎となるソースコードを調査しているコンサルティ ンググループが調査した結果、Linuxの主要ネットワーキン グコンポーネントの1つが、いくつかの点で、競合する非オ ープンソースソフトウェアよりも優れていることが判明した。
自動ソフトウェア検査サービスを提供しているリーズニン グは、Linuxをはじめとする6つのOSのソースコードの一部 を調査した。この調査は、プログラミングの欠陥の数とその 比率を比較するものだ。特に、リーズニングは主要ネットワ ーキング技術であるTCP/IPを検査し、その結果、ほかの5 つのOSと比較してLinuxの欠陥は数が少ないことが判明し た。
「このLinuxカーネルに実装されているTCP/IPのオープンソ ース版のソースコードは明らかに、汎用OSに実装されてい る商用TCP/IPのソースコードよりも質が高い」とリーズニン グは先週、調査報告書の中で発表している。リーズニング は、ネットワーキング製品2つに実装されている特定の目的 で使用されるソースコードの比較調査も行い、そのうちの1 つがもう片方よりも優れていることをつきとめている。
リーズニングの調査によると、Linuxのプログラムの欠陥 の比率は、コード1000行当たり0.1となっている。2種類の UNIXを含む汎用OSのプログラムの欠陥の比率は、コード 1000行当たり0.6~0.7。2つの組み込み用OSのプログラム の欠陥の比率は、コード1000行当たり0.1~0.3という数字に なっている。
ソースコードは、人間によって記述された、コンピュータに 対する命令・支持の集まりで、これは後でコンピュータが理 解できるよう「バイナリ」コードに翻訳される。オラクルやマ イクロソフトなどの企業は主として、比較的理解しやすいソ ースコードの代わりに人間には理解しにくいバイナリコード を提供している。
リーズニングの調査は、オープンソースソフトウェアならで はの可能な広範囲にわたる調査が問題の早期発見につな がると主張する、エリック・レイモンド氏のようなオープンソース支持者の見解の正 当性を裏づけるものだ。リーズニングの報告書は、「十分な人数をかけて調査を行 えば、すべてのバグを発見できる」と続ける。
この意見には、リーズニングの取締役、スコット・トラッペ氏も同意している。
「オープンソースアプリケーションならば、誰でもソースコードを見ることができる。主 なオープンソースアプリケーションには、Linuxカーネルや“Apache Web server”な どがあるが、何百人もの人々が、ソフトウェアがどうやって動くのかを調べたり、ま た改変したり、バグを見つけるためにそのソースコードを読む。開発プロセスも公 開されるので、これらの個人批評家は発見したエラーを報告できるし、適切なエラ ーの修正方法まで教えてくれる」(トラッペ氏)
「残念なことに、このプロセスは、ほとんどの商用製品の開発サイクルに当てはめ るには、時間がかかりすぎる」(トラッペ氏)
リーズニングは、Linuxと比較したOS名を公表することはないとしながらも、調査 をした汎用OS3つのうち、2つはUNIXのとあるバージョンだと明かしている。この比 較調査は、Linuxカーネルのバージョン2.4.19 を使用して行われた。比較対象の製 品に関して、同社は、通常は厳密に保護され見ることのできない独自仕様のソフト ウェアのソースコードを入手する許可を得た。
現在一般的に普及しているUNIXのバージョンには、サン・マイクロシステムズの 「Solaris」をはじめ、IBMの「AIX」、ヒューレット・パッカードの「HP-UX」などがある。 これらのUNIX OSは、レッドハットおよびSuSEなどのソフトウェアベンダーが販売す るLinuxやマイクロソフトのWindowsと競合している。
強硬に独自仕様のソフトウェアを支持するマイクロソフトは、当初Linuxをはじめ多 くのオープンソースプロジェクトの原則となっているGPL(General Public License)に 関して、法律的解釈を巡って意見を戦わせていたが、後にその見解を撤回してい る。同社は、この「ウイルスのように蔓延する」GPLのお陰で、GPLのソフトウェアと 一緒に使用すれば、ほかのソフトウェアまでオープンソースにされかねないと警戒 していた。
マイクロソフトは、現在ではソースコードの共有はメリットが大きいとしているもの の、各国政府と契約を結び、その政府にだけWindowsソースコードを開示し、さらに は各国向けの特別バージョンの開発さえ行っている。
リーズニングは、メモリが、実際にはまだ使用されているのに開放されたと認識さ れたり、適切に初期化されないまま使用されたため予約された領域を超えてデータ を記録しようと試みるといった、プログラミングの欠陥をチェックした。今回発見され た欠陥はしばしば、バッファのオーバーランをひき起こすもので、環境が整えば ハッカーにコンピュータを乗っ取られる恐れのある重大な欠点の1つだ。
トラッペ氏は、ネットワーク専用製品に搭載されるネットワークアクセルレータに代 表されるハードウェアの違いによって比較が難しいため、異なるバージョン間の TCP/IPパフォーマンスの比較は行わなかったと述べた。
Posted by sunouchi at February 25, 2003 11:53 AM