ベンダロックインとはなにか
最近関わっているプロジェクトで「ベンダロックイン」という用語をよく耳にするのだが、そのくせ「DBはOracleで」みたいに言われたりする。まったくもって意味がよくわからない。
経済産業省IPAが公開している『情報システムに係る相互運用性フレームワーク』によれば、ベンダロックインとは
ベンダー独自技術への依存(ベンダーロックイン):
下記に挙げる何れかの理由により、調達における公平な競争が行われなくなること。
技術部品調達の選択肢に関わる依存:
・特定の部品を提供するベンダーが実質一社しか存在しない。
・特定の部品が依存している他の部品を提供するベンダーが実質一社しか存在しない。
・特定の部品がサービスを提供する他の部品を提供するベンダーが実質一社しか存在しない。
・特定の部品が格納・蓄積するデータ(電子文書等)のフォーマットが情報の意味を示す情報(スキーマ等)まで公開されていない、もしくはXML標準、ODF標準等のオープンな標準に適合していないため、その部品と同等の機能を持つ他の部品の実装からそのデータを読み書きすることができない。
・特定の部品が依存関係にある(相互運用を行っている)他の部品とのインターフェースが公開されていない。もしくはそのインターフェースの実装の際に他社の知的財産権が必須であり、その財産権がRF(Royalty-Free)でもRAND(Reasonable And Non-Discriminatory)でもライセンスされていない。運用保守サービス調達の選択肢に関わる依存:
・情報システムのオープン化が十分に行われていないことが原因で、システムを提供したベンダーしかシステムの保守及び変更が行えない。
・特定の部品に関する情報公開が不十分であるため、その部品を提供したベンダー以外が、その部品の保守及びチューニングを行うことが出来ない。
情報システムに係る相互運用性フレームワーク P6
であるらしい。読んで少し考えてみたが、オープンソースを使ったからベンダーロックインから脱却できるというのは、少し乱暴である。オープンソースを使ったシステムを構築して自分達で問題解決含めて運用できるユーザならいいが、そんなユーザは多くないだろう。そのため、オープンソースを使ったとしても、結局はベンダのサポートサービスを買うという選択肢が有効になる。もし、そのサポートサービスを提供する会社が実質一社しか存在しなかったら、それはベンダロックインとは違うのか?仕様がオープンにされていても、その仕様を理解し必要であれば自ら改修できる技術が自社にない場合、その技術を持った誰かにサポートしてもらうしかない。
ベンダロックインからの脱却と言われるが、本質的にはユーザとベンダの間で「いい関係」を築くことが重要ではないだろうか。ユーザは調達の際、費用対効果はあるか、いざという時に置き換え可能な製品は存在するか、将来別製品に移行したくなった際に必要な人材は確保できるだろうか、等、いろいろ考えなければならないし、ベンダもそれにきちんと答える必要があるだろう。
ただ、もっと踏み込むと、ユーザ側にベンダがやっていることをきちんと理解できる人が増える必要があると思う。官公庁なんかで、IT業界の経験者がCIOとして雇われたりすることがあるみたいだが、CIOが常に現場レベルでITベンダーの相手をできるわけがない。部課長レベルでもそうだし、若いイキのいいエンジニアが公務員としてITベンダーとガチンコ勝負できるような環境が整うと、納税者にとっても良い環境になるのになあなどと妄想した。公務員がオープンソースを活用して、自分で改修したりなんかしたら、頼もしいじゃない?ITベンダーも気合の入った提案をするしかなくなる。
ベンダーロックインを考慮した上で、全体最適の観点でシステムをデザインできるようになるためには、もっと考える必要がある。とりあえず今日はここまで。
[amazon_enhanced asin=”4822262359″ /]
追記:歩きながら思った。ネットワークの運用なんかは、一社に面倒見てもらいたい。L2とL3のレベルはA社が見て、ファイアウォールはB社、ロードバランサはC社とか、障害の切り分けとか大変そう。どこも責任の押し付け合いとかするから。こんな場合は、一社に面倒みてもらった方がいい。一社で独占してるってことはロックインなわけだけど、この場合ロックインしてもらった方がユーザにもメリットがあるはず。ただし、面倒見てもらってるベンダがやっていることを、ドキュメントやレビューを通じて、ユーザが把握できる能力があることが条件。