チョコ3箱買うと4箱目無料 from Oracle
そんなに目新しい話ではないんですが、プロセッサの世界もすっかりマルチコア一色になってしまって、プロセッサ数をベースにしてライセンス料を計算するソフトウェア製品の料金をどうすべきかというのが問題になってますね。
マイクロソフトをはじめとする多くのベンダーは、マルチコアのあるなしにかかわらず、物理的なプロセッサ数に基づいて料金を計算する方向性を打ち出しています。
ところで、たとえば、「4プロセッサ・サーバ」と言った時に、4個のコアがあるマシン(たとえば、デュアルコアのプロセッサを2個搭載したマシン)のことを言っているのか、物理的に4個のプロセッサを積んだマシン(ここで、それぞれがデュアルコアだとすると、OSレベルでは8個のプロセッサが見えてることになる)のことを言っているのかわかりにくいですね。なので、後者であることをはっきりさせるためには「4スロットソケット・サーバ」と言うのがよいと思います。
話し戻って、要するに、多くのソフトウェア・ベンダーはソケット数に基づく料金体系を採用したと言うことです。その一方で、オラクルはコア数に基づいた料金体系で行くとずっと主張してました。確かに、ソフトウェア・レベルで見えるのは(別の言い方をすると監査可能なのは)ソケット数ではなくてコア数なので理にかなっていると言えなくはないのですが、性能的にいうと1ソケットのデュアルコアサーバは2ソケットのシングルコアサーバより性能もやや劣りますし、ハード価格も安いのに、なんでオラクルDBMSの価格は同じなのというユーザーの不満が当然生じるわけです。
で、ついにオラクルもマルチコア時代を意識した料金体系を採用した(参考記事)のですが「中途半端やなー」(って言う人って誰でしたっけ?)という印象です。マルチコアの場合はコア数の75%に基づく料金体系を採用すると最初に聞いたときは、まあ妥当な線かなーと思っていたのですが、その時は「小数点以下切り上げ」という条件があるのを見落としてました。
要するに2つのコアがあるときは2×0.75=1.5なんですけど、小数点以下切り上げなんで結局2ソケット(シングルコア)の時と同じ。結局、コア数が4つになって初めて4×0.75=3になって1個分タダになるということになります(免税店でみやげチョコ3箱買うと4箱目は無料というようなものです)。
まあ、オラクルの立場に立てば、大きいマシンのユーザー(金持ちのユーザー)からは料金を多めに取っていかないとビジネス的にまずいのはわかるのですが、ユーザーの不満は大きいでしょうね。
そもそも、マルチコアもそうなんですが、今後、サーバ仮想化のテクノロジーがどんどん進んで、ひとつのマシンで複数OSが動いたり、しかも、使用するプロセッサ数が負荷に応じて時々刻々と変化していくのが当たり前になった場合にソフトウェア料金をどうすべきなのかというのは、オラクルに限らずエンタープライズ系のソフトウェア・ベンダーにとっては悩みの種でしょう。
そう考えると、結局、サンのJES(Java Enterprise System)の社員一人当たり年間100ドルみたいな課金方式に行かざるを得ないのかなーなんて思ったりします。