Java SEの有償サポート

Java SEの有償サポート

Java 6の無償サポート期間は、2013年2月までのようです。(2012年8月6日現在のOracle Java SE Support Roadmap参照)
サポート期間が終了すると脆弱性が発見された場合にパッチやアップデート版が提供されなくなるので、特に企業ユーザはエンドユーザに対する保守契約の面で対応が必要になると思います。
 
Java 7で動作するようにアプリケーションを改修するか、Oracleと有償サポート契約を結んで当面は使い続けるか。有償サポートなら費用はどれくらいかかるのか。ちょっと気になったので調べてみました。なお、ここに書かれている情報は、文中に注釈がない限り2012年8月現在の情報をもとにしています。正確な情報は、Oracle and Javaの製品サイトを参照してください。

Oracle Java SE AdvancedとOracle Java SE Suite

有償サポートは、Oracle Java SE AdvancedとOracle Java SE Suiteという2種類があり、違いはJRockit Real Timeという分析ツールの有無のようです。

価格

価格表や計算方法は下記のとおりです。
価格表ページに掲載されているOracle テクノロジー製品 日本国内価格表一覧(PDF)の29ページ目 2.7 Java Platform Products がJava SEの有償サポート料金表です。
 
価格単位がNamed User PlusとProcessorにわかれているのは、ライセンスをユーザ数に紐付けるかサーバサイドで使用しているプロセッサに紐付けるかの違いのようです。
Javaをサーバサイドで利用している場合のProcessor単位のライセンス価格は、以下の定義と計算式により算出されるようです。
Oracle Price 2003の"Processor定義によるライセンスカウント方法"によると、ライセンスの数え方は、
ライセンス価格(初回のみ) x CPU総コア数 x CPU係数
Software Update License & Support(年間) x CPU総コア数 x CPU係数
マルチコアCPUを使用している場合のCPU係数の求め方は、マルチコアプロセッサ利用時の必要ライセンス例にあるようにCPU種別によって計算方法が異なるようです。
具体的なCPU種別ごとの係数は、Oracle Processor Core Factor Tableに記載されています。
たとえば、Intel Xeon 56xxシリーズの4コアCPUを2つ搭載しているサーバの場合、
ライセンス価格 x 8 x 0.5
Software Update License & Support x 8 x 0.5
このサポートを契約しても、サポート適用期間はJava 6では 2013年12月まで(2012年8月6日現在)。その後は、Extended Supportを申し込むことで2016年12月までサポートを受けることができるようです。
 
サポート適用期間については、Java SE EOL PolicyにあるOracle Java SE Support Roadmap の項目やJava SE 製品概要のスライド 15ページ目に書かれています。
 
Extended Supportに突入した1年目(2014年)は、年間費用(Software Update License & Support)の10%追加の価格となり、2015年と2016年は年間費用の20%追加の価格となるようです。
Extended Supportについては、ライフタイム・サポート・ポリシーFAQ(よくお寄せいただく質問)Extended Supportに詳しく書かれています。
 
パッチや修正版の提供以外にも様々なサポートが付属しているので、企業向けとはいえそれなりのお値段がしますね。Java 7に移行するか、サポートを受けるかは費用対効果で天秤でしょうか。