オープンソースの活用

文 :
Write :

概要

かつて,システムの構築といえば,プロプライエタリなプロダクトの組み合わせが当然でした.しかし,Linuxをはじめとしたオープンソースソフトウェア(OSS,オープンソース)の台頭により,システム構築の要素に,オープンソースという選択肢が生まれました.
しかし,オープンソースとは何なのでしょうか?また,ビジネスにおいてどのようなメリットがあるのでしょうか.

定義

オープンソースの定義は難しく,宗教論争になりかねません.言葉の意味というのは時代とともに変化しますから,今と昔,また今と未来では捉え方が違うこともあります.
現在,オープンソースと言った時の一般的な定義は,OSI(The Open Source Initiative)によるOSD(The Open Source Definition)に表されるように,ソースコード(ソフトウェアの設計図)の公開を行い,公開したコードの仕様用途に対して改変や再配布を認めるもの,と捉えれば問題ないと思います.
似た言葉で,フリーソフトウェアがありますが,広義の意味ではオープンソースもフリーソフトウェアに含まれると考えられますが,わざわざフリーソフトウェアと言った場合は,ソースコードは公開されないが,使用に関して使用料金の発生しないもの,とされます.
フリーソフトウェアはパソコン通信時代に,コミュニティで広がった文化で,似たものに,仕様に際し小額の料金を必要とするシェアウェア(カンパウェア)などもあります.

タダではない

コストをアピールすることはインパクトがあるためか,オープンソースを説明する際に,オープンソースは使用料が掛からず,コストが大幅に下げられる,という宣伝がよく見られます.
もちろん,コストを下げられるケースは多々ありますが,決してオープンソースはタダでは無いのです.
ソフトウェアというのは,もちろん設計図であるソースコードも重要な要素ですが,インテグレーション,サポートや保守といったものも含めて製品になっています.
オープンソースは,この中のソースコードを公開しているだけであり,全てがタダになるわけではありません.
特にエンタープライズ用途になるほど,ソフトウェアのコスト全体に占めるインテグレーションや保守の割合が高くなり,プロプライエタリなソフトウェアとオープンソースに大幅な差は無くなってきます.
プロプライエタリなソフトウェアは,開発ベンダーがサポートや保守まで一括して引き受けているだけであり,オープンソースの場合は,開発はコミュニティであっても,サポートや保守は専門のベンダーが行っているだけなので,やはり導入にはコストが掛かります.
ソースコードはまさに設計図です.建築物の設計図と同じで,設計図さえあれば,自分で作ることも,相見積もりを取ってコストの安いところに発注することも可能ですが,建築に掛かるコストはゼロにはできず,決してタダで作れるわけでは無いのです.

メリット

しかし,なぜオープンソースを使うことにメリットがあるのでしょうか.
一つには,とても原理的ですが,ソースコードが公開されていることです.これは最たるメリットで,ソースコードがあれば,たとえコストが掛かろうと保守することが可能です.
プロプライエタリなソフトウェアでは,開発元のベンダーが保守してくれるうちはいいのですが,何らかの理由でベンダーが開発をやめてしまったり,またベンダー自体が吸収や倒産などで無くなってしまう事もあります.
保守できるのは,ソースコードを持ってるベンダーだけなので,こうなったら保守は不可能で,システム一式を作り直すしかありません.
しかし,ソースコードがあれば,必ず保守できる技術のあるベンダーが居ます.
また,ソースコードがあれば,全てのベンダーに平等に情報があるので,正当な競争が起こり,コストも下がります.プロプライエタリなソフトウェアでは,ベンダーは基本的に1社なので,競争相手は類似のソフトウェアを作るベンダーだけになります.

デメリット

オープンソースはソースコードが公開されている反面,使用は基本的に自己責任です.
誰も保証はしてくれませんから,突然開発や保守が終わるかもしれません.
また,ソースコードさえあれば,保守できるベンダーは居ますが,それが高度な技術を要するのであれば,コストは大幅に高くなることもあります.
ボランティアベースのコミュニティで開発されている事が多く,特許侵害などのリスクが付きまとい,万が一訴訟されれば,対抗すらできないこともあります.
また,最先端のハードウェア仕様などにアクセスできない場合などがあり,実装が遅れがちな面もあります.
動作の確認も自己責任で,性能保証もありませんから,採用前に調査を行う必要があります.

活用例

オープンソースを最大に活用しているいい例が,ホスティング(レンタルサーバ)事業者です.
ホスティングでは,OSにFreeBSDやLinuxを採用し,その上でwwwサーバとしてApache,mailサーバとしてqmailやPostfixを動かすという,まさにオープンソースの塊です.
この場合,ユーザはオープンソースを使用しているわけですが,その保守はベンダーであるホスティング事業者が行っており,その対価として利用料を支払うようになっています.

システム開発もオープンソースで

システムを開発する場合,最下層から全て作るより,ミドルウェアやフレームワークといった,下層は他のソフトウェアを活用して開発を行うことで,コストと開発期間を抑える手法が一般的です.
ミドルウェアやフレームワークでもオープンソースの開発は活発で,様々な選択肢があります.
例えば,Webアプリケーションを構築する場合,ミドルウェアとして,OSにFreeBSDを採用し,その上でJava VMを動かし,その上でServletエンジンのTomcatを動かし,その上でフレームワークのStrutsを活用してシステムを構築する場合など,FreeBSD,Java,Tomcat,Strutsというオープンソースを活用しています.
これらを全てプロプライエタリなソフトウェアを使った場合と比べ,一般的にはコストを抑えることができます.

オープンソースは常識になる

まだ,オープンソースが一般的な選択肢とは言えず,未だにプロプライエタリなソフトウェアの採用は多々あります.
しかし,一部の特殊なケースを除いて,ほぼ全てのソフトウェアはオープンソースになると思います.反対に,オープンソース化しないソフトウェアに生き残りは難しいと言えます.
例えば,かつてNetscapeは自社のブラウザであるNetscape Navigatorの開発をオープンソースとし,現在ではMozillaという形で開発が継続されています.また,商用UNIXの雄であったSun MicrosystemsのSolarisは,バージョン10より,OpenSolarisという概念で,全てのソースコードが公開されました.Mac OSもバージョンXから,オープンソースを最大限活用したものになりました.
これは業界にショックを与え,これを機にオープンソース化が一気に進んでいます.
Welcome spammers. If you are spammer, please mail to honeypot@bitcoffee.com. Thanks your spam!!