Seasar3の未来

Java Cloud Meeting Tokyo 2010 x Seasar Conference 2010に行ってきた。
Java Cloud Meeting Tokyo 2010
自分は午前中のひがさんの講演「Seasar3がやってきた」を見てきた。

今回はディスカッション形式と言うことで、会場にきている人にその場でアンケートをとって(2、3個質問を投げかけて自分の考えに近いものに挙手をするみたいない)、いろいろ感想をききながら今後のSeasarのあり方を考えていきましょうというスタイルで行われた。

まず、Seasar2の現状として、2年ほど前に新たな機能追加は行わない様にして、枯れたフレームワークとしていく方針をとったということ。その背景にはSeasar2は企業で多く使われていることもあり、どんどん機能追加していってそれに追随して行かなきゃ行けないっていうのはあんまり嬉しくない話。会社で使うシステムは一度作ったらおいそれとバージョンアップしていけるものでもないしね。この点については、会場のほぼ100%の人が賛成(ひがさん目視調べw)しているようだった。それに新規機能追加を行わない理由のひとつに、Seasar2の機能が生産性を上げるのに十分な機能が出揃った感があったからだということ。(ニュアンスは違うかもしれないけど、確かこんな理由)

そして、Seasar3がやってくるきっかけにもなったのが、(ひがさんがこの前日記で書いていたんだけどSeasar3がやってくる - yvsu pron. yas)、2年前と違いクラウドというものが出てきたこと。そして、エンタープライズクラウドとよばれる企業向けのクラウドサービスにSpring Frameworkが入り込んできたこと。それも、現在エンタープライズクラウドで重要な位置を占めるSalesforceが提供するVMforceというサービスと、Googleがこの前発表したGoogle App Engine for Businessの両方で。ただ、単にSpringをサポートするっていうのじゃなくて、業務提携して話を進めているらしい。(下に関連する記事を集めてみた)

そして、ひがさんは会場にいる人に、今後Seasarがとるべきアクションを3つの選択肢から選んでといったのが、以下の3つの選択肢。

  1. 現状のままなにもしない(この質問これであってるか微妙。忘れた)
  2. Seasar2.4をベースに新しい機能をつけてSeasar2.5とかに育てていく
  3. Seasar2との互換性を捨ててまったく新しいSeasarを作り上げる

そして、会場にいる人は大体2、3に意見がわかれた。
しかし、ひがさんが考えているのはこの3つのどれでもないらしい。ひがさん的にはSeasar3はSpringベースで行こうと考えているらしい。たしかに、今のSlim3になる前、Slim3はSpringベースのフレームワークになる(Slim3 Spring完成 - yvsu pron. yasという話だったので(今Slim3Google App Engineをターゲットにしたまったく別物だけど)そういう方向に行く可能性はあった訳だけど。

そして、Springベースでいく理由には以下の2点をあげた。

  • 世の中の流れ的にSpringが主流になっている
  • ユーザを説得しやすい

まず、一つめの世の中の流れ的にSpringが主流になっているってのは、先に書いたように、VMforceやGoogle App Engine for Businessなど主要なクラウドサービスでもSpringが正式にサポートされたという点で、すでにSpringにアドバンテージがある。サポートというより各社が提携してサポートしていくっていうのが大きいのかもしれない。

そして、ユーザを説得しやすいというのは正式サポートされているSpringではなくSeasarを使うとなったときにどうユーザに説明するのか。あえてSeasarを使うと説得させるのは難しいのではないか、と言うことらしい。たしかにユーザ(エンドユーザのことだよね?)からするとなんでって話になるのかもしれない。

そして、最近のSpringってのは結構よく出来ているらしいく、SeasarとSpringを比較して違うのはSeasarのHOT reloadingくらいのものらしい。なので、SpringベースでSeasarをつくるとしたらコンテナ的にはHOT reloadingの機能がつくくらいのモノになるようだ。ただ、それだけでなく、これまでのSAStrutsS2JDBCの機能は使えるようにするらしい。なので、開発者にとってもこれまでのSeasarと同じように使えるものになるとのこと。


こんな感じでひがさんは新しいSeasarを考えてきたみたい。そして、ここで会場にいる人にもう一度質問。

  1. 新しいSeasarを一から作っていくべきか
  2. SpringをベースとしたSeasarを作っていくべきか

会場の答えの大半は2のSpringベースに。


これは意外だった。


自分はSeasarを使ってまだ日が浅いし(ちゃんと使い出したのは1年くらい前)、ユーザに提案して来たこともなかったからあんまりユーザを説得させるって件については強く言えない部分があるんだけど。。。
SeasarのよさってSeasarの開発者と自分たちの距離が近いところにあるんじゃないかと思ってる。このブログでも日記を書いたりすると開発者の方がコメントくれたり。メーリングリストは使ったことなかったけど、普通に日本語で質問を投げられるという安心感は海外の有名なプロダクトにはない強みだなーと思うんだよね。

つまり、ベースがSpringになることでコアな部分が全部向こう側にいってしまって簡単に質問も投げられないんじゃないかという不安もある。また、Springそのものに対する不安も。以前Springはライセンスに関する問題であやしいなーと思ってたんだけど(いまその記事を探そうとしたら見つからなかったからもう、なんの不安もないのかなー。)まぁ、よくわからない不安があるわけ。
SpringもOracleみたいになってきたなーと(勝手に)思ってきたときから、日本にはSeasarあるから関係ないやーと思ってたところもある。Springが本当にOracleみたいなのかは知らないけどなにか、そう感じさせる嫌な部分はある。


ひがさんの記事(Seasar3がやってくる - yvsu pron. yas)にもあるように、Seasarの開発者を確保するためSeasarが衰退しないようにということもあってそう考えたのだろうけど、、Springベースにはなって欲しくないなー。世界に目を向けるならもしかしたら、今のままだとダメでSpringベースってのもアリなのかもしれないけど。世界でなくても日本国内でもう衰退していく可能性があるってことなのかな。。
うーん。そうだとしても、Springベースになるより、純粋なSeasarで頑張ってもらいたいなー。ひがさん自信も開発者としては、新しいことにチャレンジしたいって気持ちもあるから、どっちに転ぶか分からないとは言ってたし。なんか、、ひがさんのやりたいようにやってもらいたい。
しかし、会場の意見はだいぶSpringベースのSeasarに傾いていたからなー。


みんなどうなの?本当にそれでいいの?