今週、Oracleが標準のJDKリリースサイクル以外では無料のタイムゾーンのアップデートを提供することを中止した、というニュースで、インターネットは賑やかである。しかし、昨日の終わりに、会社の心が変わったようである。
今年の3月まで、Oracleと彼らの前のSunは、開発者がJDK自身を更新する必要なく、JDKの特定のバージョンのタイムゾーン情報を更新できる無料のツール、TZUpdaterを提供していた。しかし、3月の終わりにJava 6の命が終わりに達した時、Oracleはツールへのアクセスをサポート契約を持つユーザーに制限した。この動きはJava 6のユーザーだけでなく、Java 7のユーザーにも影響を与えた。
これは明らかに逆行したステップだ。タイムゾーンの更新は、毎年発生する6つの計画されたJDKのアップデートに含まれているが、TZUpdater バージョンすのリストからわかるように、これは、タイムゾーンデータの変更よりもはるかに少ない頻度である。「タイムゾーンの変更を行う政治的実体は、いつでも、気まぐれで行うことができ、多くの場合、事実上予告がない。」と、JSR-310とJoda-TimeのリードであるStephen Colebourne氏が私たちに話した。「これは特に、世界の特定の部分で問題で、例えば米国とEUは、ほとんど影響がありません。」
更に多くの企業の主要な事業において、TZUpdaterの除去は、開発者がJDK全体を更新せずに、タイムゾーンデータにパッチを当てることができないことを意味した。 Colebourne氏は、「私は多くの開発者はJDK全体を更新すること(これは大きなリスクを伴う)を強制されるのではなく、データのみを更新できる選択肢を望むだろうと思います。」と言い、加えて以下のように言っている。
Joda-Timeは、影響を受けまえん。それは独自のタイムゾーンデータを持ち、JDKとは独立して解析されからです。そしてユーザーが更新可能です。しかしJSR-310はJDK 8に組み込まれているため、この変更によって影響を受けます。理想的な状況は、データがいつでもJDKで適切に交換可能であることですが、私は、JSR-310でその議論をしたにもかかわらず、それを達成することに成功しませんでした。
この話は先週末にThe Server Sideで取り上げられ、とりわけOracle社員のCameron PurdyとDonald Smith両氏からのスレッドへのコメントが この動きが意図的であったことを非常に示唆していた。Purdy氏は彼が持っていたOracle内の内部回答を引用して書いた。
我々は定期的に新しいJavaアップデート(年6回)をリリースするたびにタイムゾーンデータを更新します。そしてJavaの最新バージョンは常に無償で<す。/p>
我々は、TZUpdaterは我々の長期的なサポート顧客用の支援ツールであると考えおり、我々は、Javaの開発に資金を供給する1つの方法として、サポートを有償にします。我々は、それを個別に課金するのではなく、それは私たちの全体的な支援提供のほんの一部です。
しかしInfoQが話を確認するために、Oracleと話したとき、彼らは考えを変えたようで、次のように言った。
我々は、JDK 7を最新に維持するためにサポート契約を必要とすることを意図したことはありません。TZUpdaterは、3月8日にJDK 6向けパブリックアップデートの終了の一環として、使用できなくなりました。このことがJDK 7ユーザーに影響を与えると分かって直ぐに、我々は再びJDK 7でそれを利用できるようにするプロセスを始めました。
ブログ記事で Oracle が以下のように追記した。
この影響を受けたJavaコミュニティのすべて人たちに、我々は、我々が生んだあらゆる混乱や不便をお詫び申し上げます。私たちは、私達の注意をこのことに向けさせるために、直接私たちに連絡してくれた人々に感謝しています。いつものように、何人ものJavaユーザー・グループのリーダーおよびJava Championsは勤勉で助けてくれました。特にStephen Colebourne氏は、コミュニティ観点からの詳細で有用な技術的分析を提供してくれました。
Colebourne氏が我々に話してくれた。
私は、Oracleは問題を理解するや、すぐに反応したと、思います。政策変更を元に戻したので、私たちは、正常に機能するシステムに戻っています。
これがエラーか陰謀であったかどうかは分からないが、OracleがTZUpdaterを復活さえたというのは素晴らしいニュースであり、同社は集まる嵐に対して非常に速く反応したことで信用に値する。