オープンソース(OSS)の業務アプリケーションのメリットとデメリットを理解する
オープンソース(OSS)の業務アプリケーションの特徴をふまえて、次にオープンソースのメリットとデメリットについて正しく理解して頂きたいと思います。
オープンソースのデメリットをリスクとして、オープンソースの採用に消極的な方もいますが、デメリットやリスクを正しく理解し、コントロールする事で得られる利益もあります。 オープンソースの活用が広まっているのは、まさにその一例だと言えるでしょう。
オープンソースの採用に消極的な方の中には、オープンソースのデメリットやリスクを正しく理解せずに漠然としたイメージから敬遠している人も少なからずいるので、オープンソースのメリットとデメリット、そしてリスクコントロールについて正しく理解した上で、オープンソースの採用の可否を判断して頂きたいと思います。
目次
メリット | デメリット | 備考 |
低コスト | 開発コミュニティーには不具合の責任は無い |
商用アプリケーションはどこまで責任を取ってくれるのだろう!?商用アプリケーションの保障範囲は本当に安心なのか!? |
不具合を自分達で修正する事ができる。 |
開発コミュニティーが必ずしも不具合をすぐに修正するとは限らないので、場合によっては自分達で修正するか、修正できる人に依頼する必要がある。 |
不具合を自分達で修正できる事はメリットであるとも言えるし、デメリットであるとも言える。商用アプリケーションだからといって不具合を必ずしもすぐに修正してくれるとは限らない。場合によっては仕様として押し切られて修正してもらえない事を考えると、自分達で直せる環境があるというのは良い事だとも考えられる。 |
カスタマイズが自由 | - | 既存機能の熟知に加えて、カスタマイズのノウハウや経験値が重要!! |
ベンダロックインされない | - |
ベンダロックインとは、特定ベンダーの独自技術に大きく依存した製品、サービス、システム等を採用した際に、他ベンダーの提供する同種の製品、サービス、システム等への乗り換えが困難になる現象のこと。[Wikipediaより] |
コスト面
ライセンス料
"低コスト"はオープンソースの一番のメリットでしょう。多くのオープンソースはライセンス料がかからず"無料"で使用する事ができます。そのため、使用する年数が長くなればなるほどコストメリットを享受する事ができます。
通常、企業で使用する業務アプリケーションを動かすためには、業務アプリケーションの他に、データベースやOSも必要になってきます。これらすべてのライセンス料を無料で使用できるのであれば、コスト削減効果は少なくないはずです。
開発生産性の高さ
私たちが提供するソリューションのコアに使用しているiDempiereに限って言えば、ライセンス料が無料なのに加えて、その開発生産性の高さやアジャイル的な開発が可能な事もコスト削減に寄与すると思います。
カスタマイズが自由
オープンソースの業務アプリケーションにおいては、カスタマイズの自由度というのは大きなメリットです。通常商用の業務アプリケーションはソースコードを修正するようなカスタマイズはできませんが、オープンソースであれば可能です。
ベンダロックインされない
オープンソースの業務アプリケーションは、その業務アプリケーション自体のソースコードがオープンになっていることはもちろん、他のオープンソースを活用して実装されている事も多いです。オープンな技術を活用して、ソースコードをオープンにしていますので、これまで行われていたユーザー企業に不利益になるようなベンダロックインはできにくくなっています。
不具合に関して
開発元や開発コミュニティーに不具合の責任はない
"無料"で使用する事のできるオープンソースは、不具合があっても、そのオープンソースの開発元や開発コミュニティーに責任はありません。
この事を不安視する人がいますが、有名なオープンソースにはサポートを提供している会社が必ずと言って良いほど存在します。無料で使用する事のできるオープンソースのビジネスモデルの多くがサポートを収益源のひとつにしています。
ですので、不具合があった場合の対応に不安がある方は、サポートを購入する事で、そのリスクをコントロールする事ができます。
サポートを購入すると、その分オープンソースの低コストというメリットが減りますが、多くの場合、サポートを購入しても、商用ソフトウェアと比較してトータルで割安になるように設定されていますので、低コストとういメリットは少なくはなっても無くなるケースはあまりないでしょう。
不具合を自分たちで修正する事ができる
不具合を自分達で修正しないといけないというのはデメリットと思われがちですが、メリットであるとも言えます。商用アプリケーションだからといって不具合を必ずしもすぐに修正してくれるとは限りません。場合によっては仕様として押し切られて修正してもらえない事もあるでしょう。そのような事を考えると、自分達で直せる環境があるというのは良い事だとも考えられます。
オープンソースの業務アプリケーションに取り組むならば、ぜひ前向きに捉えて頂きたいなと思います。
オープンソースの業務アプリケーションのメリットとデメリットを理解して頂いた所で、次にオープンソースの業務アプリケーションとスクラッチ開発したアプリケーションとを開発面と運用面でそれぞれ比較してみたいと思います。
開発面
OSS業務アプリ | スクラッチ開発 | 備考 |
既に動くシステムがある。 →開発リスクの抑制 →開発コストの削減 |
顧客の要件にあわせて自由に開発する事ができる。 全てを開発する必要があるため一般的にコストが高くなる傾向がある。 |
スクラッチ開発が100%自由であるのに対して、OSS 業務アプリはオープンソースと言えども既に出来上がっている枠組みがあるので100%自由であるとは言えない。 OSS 業務アプリを活用しメリットを得るためには、OSS 業務アプリに合わせる事も必要!! |
既に枠組みが出来上がっている事のメリット!
スクラッチ開発が100%自由であるのに対して、オープンソースの業務アプリケーションはオープンソースと言えども既に出来上がっている枠組みがあるので100%自由であるとは言えません。
一方で、スクラッチ開発は100%自由ですが、技術が複雑多岐にわたる現在において、100%自由である事は、選択肢がありすぎて、かえって難しい面もでてくるでしょう。
オープンソースの業務アプリケーションを選択する事で、既に出来上がっている枠組みをベースに具体的に物事を考えられる事は、メリットと捉える事もできます。
運用面/サポート面
OSS業務アプリ | スクラッチ開発 | 備考 |
システム導入を請け負ったSIerからの保守サポートがメイン。他にはコミュニティーからの情報提供など。 →システム導入を請け負ったSIer以外にもサポートを提供している会社は世界中に存在するので、サポート体制が気に入らなければ、他の会社に切り替える事も可能。 |
スクラッチ開発したSlerからサポートを受ける。 →ベンダーロックイン →継続的にサポートできるSIerの信用力が必要。 |
OSS業務アプリのコミュニティーからのサポートは、フォーラムなどの無料のものだと期待した回答が得られない事も考えられるが、世界中の開発者から貴重な意見がもらえる事もあるので上手に活用すれば、心強い味方になりえる。
グローバルな企業で世界各地でシステム導入が必要な場合、世界的に使用されているOSS業務アプリの方が各国でサポート体制を構築しやすく、運用コストの削減につながるのではないか!?
運用やサポートという面では、世界的に使用されているOSS業務アプリであれば、スクラッチ開発よりも安心だと言えるのではないか!? |
スクラッチ開発を請け負った会社が倒産するリスク
スクラッチ開発したシステムの多くで、開発を請け負った会社がそのまま保守も行うと思います。スクラッチ開発したシステムで、開発&保守を請け負っている会社が倒産してしまう事も考慮しなければならないリスクのひとつでしょう。
オープンソースの業務アプリケーションも、特定の企業が主体となって開発しているケースにおいては、同じようなリスクは存在します。しかし、ある程度普及しているオープンソースであれば、特定の企業が主体となって開発しているケースにおいて、その企業が倒産しても、他の企業が保守をサポートする事は可能でしょう。
そして、コミュニティーベースで開発されているオープンソースの業務アプリケーションであれば、倒産というリスクはありません。しかし、その代りコミュニティーが分裂(フォーク)するなどの事はありえますので、コミュニティー運営の統制力なども少しは気にしておいた方が良いかもしれません。
※iDempiereに限って言えば、CompiereとADempiereでの苦い経験がコミュニティー運営に反映されていますし、プラグインによる機能拡張によりカスタマイズができるようになっていますのでコミュニティーからフォークしてまで独自開発する必要性もなくなってきています。そのため、コミュニティーの分裂などの心配をする必要性はあまりないかと思います。
次にオープンソースの業務アプリケーションと商用の(プロプライエタリな)業務アプリケーションとを開発面と運用面でそれぞれ比較してみたいと思います。
開発面
OSS業務アプリ | 商用業務アプリ | 備考 |
商用用業務アプリと比較して開発の自由度は高い。 →モディフィケーション可能!! |
開発の自由度は一般的に低い。 →モデイフィケーションは出来ない。 →Add-On開発が主流。 |
SIerにとっては、システムに不具合や課題があってもパッケージベンダーを頼る事ができる商用業務アプリの方がOSS業務アプリより"楽(ラク)"である。 SIerがOSS業務アプリを扱うためには、商用業務アプリを扱う以上のスキルや経験が必要である。 |
運用/サポート面
OSS業務アプリ | 商用業務アプリ | 備考 |
システム導入を請け負ったSIerからの保守サポートがメイン。他にはコミュニティーからの情報提供など。 →システム導入を請け負ったSIer以外にもサポートを提供している会社は世界中に存在するので、サポート体制が気に入らなければ、他の会社に切り替える事も可能。 |
SIerからのサポートとパッケージベンダーからのサポートが受けられる。 |
OSS業務アプリは、色々なノウハウがネット上に公開されているが、商用業務アプリについては、そのような情報はあまり公開されていないケースが多い。
OSS業務アプリを取り扱うSIerにとっては、OSS業務アプリに深い知識と経験があり、コミュニティーと太い繋がりのある会社を2次サポート先として連携しておく事も重要!! |
自社の業務に合わないリスク
通常、商用業務アプリケーションを導入する際には、そのアプリケーションの機能で業務が処理できるように、これまでの業務のやり方を見直します。その方針が貫かれて、無事導入できれば良いのですが、日本企業の多くは自社のそれまでの業務のやり方にシステムをカスタマイズして合わせようとするケースが多いようです。
そのような場合、高価な商用アプリケーションを採用しても、導入が失敗してしまうリスクが増大します。そいういった事があらかじめ予想されるのであれば、オープンソースの方が融通が効く分リスクを抑えられると考える事ができます。
オープンソースという言葉に漠然とした不安な(ネガティブな)イメージを抱く方が少なからずいますが、本来ソースコードが公開されているという事は、"安心"なはずです。
システムを家に例えると、オープンソースというのは、家の建て方や、建築材料、設計図等が公開されているという事だと思います。一方、ソースコードが公開されていないという事は、家としての機能は備わっているけど、どのように建てたかわからないし、どのような材料を使ったかもわからない、設計図も公開されていないような事だと思います。
家を購入しようと思ったら、どちらの家が安心でしょうか?
ソースコードが公開されていない家は、欠陥住宅ではない事や偽装マンションではない事は、確認のしようがありません。営業担当者のいう事を信じるしかありません。そして、欠陥があった場合、自分で直す事もできません。
ソースコードが公開されている家は、ソースコードを読めば欠陥住宅ではない事や偽装マンションでない事は確認できます。そして、欠陥があったとしても、直す事ができます。
確かに、オープンソースは玉石混交の世界ですが、有名なオープンソースを活用するのであれば、根拠もなしに不安がる必要はないのではないかと思います。
Linuxに代表される社会に欠かせないインフラ的な存在のオープンソースが既にいくつも存在し、オープンソースの活用は今後もますます広がるものと思います。オープンソースのメリットとデメリットを正しく理解し、デメリットとリスクをコントロールし活用する能力は、これからシステム(IT)を活用していく上で必要なスキルになるのではないでしょうか。
次は…