March 28, 2006

OSSの品質

註: わりと非技術者向け文章です。でも技術用語つかいすぎました...

オープンソースソフトウェア(OSS)が開発者に受け入れられている理由は、配布が無料だからでしょうか。そうではないと私はおもいます。

たしかにデータベース(Oracle等)のような高価な製品では、ライセンス料はときとして開発費と同じレベルになってしまうことがあります。私たちの直接手がけるシステムはせいぜい一件が数百万円ですから。

しかし顧問として入る数千万円から1-2億円のプロジェクトであっても、基本的にOSSをベースとしたシステム構築を薦めています。同業他社もそのような構成をしているようです。

1億円の予算からみれば、SolarisやOracleなどタダみたいなものです。が、なぜ機能的には劣っているといわれるOSSを使うのでしょうか。

私にとっては、機能以外の品質が高いからOSSを使っています。具体的にはどういうことでしょうか?

まず、OSSは開発者志向であり、開発者にとって優れた製品が投入されます。しばしば市販のソフトウェアは、技術を理解しないマネージャなどのための宣伝に力が費やされ、不要な機能が備えられていたり、とても使いにくいユーザーインタフェースがついていたりします。

このあいだ触ったIBMのサーバーは、Directorという管理ソフトウェアがないと正しく動作させることができない困ったものでした。さらに困ったことにDirectorというソフトはGUIでしか動作せず、リモートから使うのが困難です。設定方法や使い方も明らかではなく、結局のところ未だに動作していません。

このように市販製品はしばしば現場の要求から乖離したものを作ってしまうことがあります。サーバハードウェア管理ツールであれば、中核に簡単なコマンドラインツールがあることが必須です。サーバ管理はSSHなどで遠隔地から管理することが多いからです。

SolarisやHPUXなどのOSも、なぜか(誰も使わない)GUIに力をいれて、コマンドラインツールの提供をおろそかにしています。どんなサーバ管理者がGUIでサーバを管理するのでしょうか? Windows Serverが敬遠されるのも同じ理由でしょう。

Oracleは使いこなすのに年収1千万円超のDBA(データベース管理者)が必要です。それはOracleが高機能であるというだけでなく、マニュアルやサポート体制が劣悪だからです。PostgreSQLやMySQLであれば、必要な多くの情報をウェブサイトで提供していますし、日本語マニュアルも即座に提供されます。Oracleはマニュアル一つ探し出すのにも苦労します。

とくにIBM, Oracle, Solarisなどのエンタープライズソフトウェアではそれが顕著です。代理店を通じて販売し、購入者はマネージャ層であるため、現場の要望がとても届きにくいのです。また、サポートから収入をあげればいいと考えるため、マニュアルなどはろくに付属してもいません。

OSSはユーザー会のような組織から親切な助言を得ることができます。必要なら有料のサポートを買ったり、ソースコードを修正することもできます。開発者と直接やり取りをすることもできます。しかし市販ソフトウェアでは、ろくなサポートを受けることすらできません。

このような誤ったマーケティングの結果、開発者はOSSを好むようになったのだと考えます。真の顧客が技術者であるのに、経営者層をターゲットにしたマーケティングを行うような愚かで無礼な真似をする企業の寿命は長くありません。私の愛したBorland社しかり。

エンジニアはFancyな機能よりも、Handyなツールを求めているのです。

Posted by arai at March 28, 2006 03:58 PM
Comments

あらいしゅんいちです。
オラクルの情報提供が悪いっていってすまんかった。新しい案件のOracle 10gも候補にあがったので、日本オラクルに相談の電話したんだけど、すごいしっかりした応対で、技術者ともすぐに連絡がとれた!
技術的なことやライセンスのことも色々と聞かせてもらって大変参考になりました。iSeminarなどといった情報提供の手段も用意してるようで、昔とは一味違うと思いました。
でも価格的にDB2のほうが安く望んだ機能が実現できそうかな... たぶん、いつものようにPostgresかMySQLに落ち着くんだけど。

Posted by: arai on April 19, 2006 11:45 PM
Post a comment














Please enter this 6digits Security Code (for SPAM's sake...).
spam対策のため6桁のセキュリティコードを入力してください。