ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Springの新しいメンテナンスポリシーでJava界の勢力図が変わる

Springの新しいメインテナンスポリシーが発表されました。
http://www.springsource.com/node/558
それに対するTSSの反応はこちら。
http://www.theserverside.com/news/thread.tss?thread_id=50727


新しいメンテナンスポリシーがどういうものかというと、

  • 新しいメジャーバージョンをリリース後、3ヶ月はコミュニティー(無償)バージョンをリリースする。
  • 3ヶ月たった後のメンテナンスリリースは、エンタープライズ(有償)版のお客様だけにリリースする。
  • エンタープライズ版は、3年間保障する。
  • 3ヶ月たった後に行われた修正は、次のメジャーリリースには含まれる。

というものです。メジャーバージョンとは、二つ目の数字までのリリースのこと。例えば、2.1.xの次に2.5.0がリリースされれば、メジャーバージョンのリリース。2.5.5の次に2.5.6がリリースされれば、マイナーバージョンのリリースです。
3ヶ月たった後でも、リポジトリーからチェックアウトして、自分でビルドして使う分には自由だそうです。


さて、あなたはどう思いましたか。TSSでは、非難の嵐のようです。

As the number of versions of Spring used in production grows, it is impossible for us to provide free maintenance for multiple releases and perform backports of issues

その中で、Rodが、複数のリリースをメンテナンスしたり、バックポートするのは、freeでは、無理だといっているので、じゃSeasar2は、どうなのかということを書いておきましょう。
確かに、複数のリリースをメンテナンスしたり、バックポートするのはつらい。ただ、最新バージョン以外のメンテナンスは、バグフィックスのみに限定するなら何とかなるものです。Seasar2が何とかなっているのは、小林さんのおかげですが。
だから、「freeでは無理」だというのは、やればできるけど、VC(Venture Capital)が金を稼げっていってるから、freeでは無理ということなんだと思います。


前に、Spring Srouce Application Serverの発表のときも感じたけど、今のSpringは、VCの意向が強く反映されていて、金の色が濃く出すぎている気がします。営利企業だから、金をもうけるのは当たり前なんだけど、コミュニティーを怒らせてはいけません。


このままだと、Spring3.0は、あまり使われないでしょうね。コミュニティのほうも、3ヶ月たったらこれ以上メンテナンス版が出てこないと思うとあまり使う気にならないと思うから。
このポリシーは、Effective September 2008って書いてあるから、もう適用されるってことですね。そうだとすると、Spring 2.5.6(2.5系の次のメンテナンスバージョン)はエンタープライズ版でのみ出るってことかも。


Seasar Projectは、企業がボランティアとして、コミッタを送り込んでいる形なので、VCに振り回されることはないし、企業が中身までコントロールすることはできません。企業がやることは、コミッタを送り出すことだけ。Linuxに近いモデルだと思います。


Seasar2は、今後も2.4というバージョンのメンテナンスはずっと続くので、安心して使い続けることができます。2.3もバグがあれば直すけど、枯れてるので、そんな必要はないでしょう。2.5のリリースは今のところ予定はありません。機能追加より、安定性が重要だと思っているから。


会社の宣伝もしておくと、弊社のバージョン固定の商用サービスでは、新しいバージョンがリリースされてから、7ヵ年はサービスを続けます。7ヵ年以上だと、個別契約ですが、サポートを続けることはたぶん可能です。


Slim3は、DIContainerにSpringを使うつもりだったけど、今回の発表を受けて、もう一度よく考え直したいと思います。恐らく、以前(1年半くらい前)JavaConfigを実現するプロトタイプ(幻のSeasar3)を作ったんだけど、それをベースにして造る可能性が高いです。