Mustang(JavaSE6) JDKにJavaDB(Derby)が付属

MustangのJDKにはJavaDBが付属することになったようだ。
Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle

この決定に対し多くの人たちから賛成、反対の意見が寄せられちょっとしたお祭騒ぎになっている。

まず事の発端はこの人。
http://weblogs.java.net/blog/davidvc/archive/2006/06/java_db_is_bund.html

Davidのポストから事実をまとめよう。

  • Mustang build 88から開始
  • JavaDB10.2
  • 付属するJavaDBはαVer.であり、Mustangの正式リリースに付属されるJavaDB製品版にはUpgradableではない
  • JavaDBが付属されるのはSDKのみ。JREには付属しない
  • 明示的にjarをクラスパスに設定することが必要
  • パッケージもjava.*やjavax.*ではない
  • Apache Derbyのforkではない
  • サイズは2MBytes. Pack200形式では500KBytes.*1

お祭会場:
Java DB is bundled in Mustang
Sun Bundles Java DB with Mustang b88

反対意見をまとめるとこのくらいだろうか

  • JDKをこれ以上太らせるな
  • ブロードバンドが無い地方も考慮してくれ
  • 別にダウンロードさせろ
  • 全ての人は使わない
  • Derby以外の組込みDBにとって脅威だ(db4oHSQLDB等)
  • 選択権は我々にあるべきだ
  • JSR270(Mustang)で決めるべきことだ
  • Apache Derbyのリリースと衝突する。事実上のforkだ
  • Xercesの失敗を考慮せよ
  • M$のようだ。JETやLINQへの対抗なら無力だ

Mark Reinholdさん(Java SE Chief Engineer)の弁明が可愛いので引用。

The inclusion of Derby in the JDK is just that: It’s in the JDK, not the JRE.

It’s not even very tightly integrated into the JDK―it’s really just a co-bundle that makes it easy for developers to start playing with the new JDBC 4 ( JSR 221 ) features right out of the box.

The JCP , and specifically JSR 270 , governs the definition of the Java SE 6 Platform. Any particular vendor’s implementation of that platform may―and most do―include additional features outside of the areas governed by that specification. Sun’s JRE, for example, has long included Java Web Start (JSR 56) and the Java Plug-In, yet these are beyond the scope of the platform specification.

There’s nothing sneaky going on here―honest!

Davidも火消しに必死なようだ。
議論にきちんと付き合っているDavidは良い人に違いない。


今回の決定はSunもJavaDBのサポートで儲けたいのだろうという指摘が一番納得が行く。
またXercesの問題をDavidのような人も認識していることがわかったことが今回の騒ぎにおいての私にとって一番の利益であった。

*1:Pack200に関してはこちらを参照