半年間Slim3の開発に集中する

Slim3は、この半年間、ずっと構想を練ってきたわけですが、10月からいよいよ本開発に入ります。なぜ、半年間も構想を練っていたかというと、SAStrutsS2JDBCの開発が続いていたからというのが主な原因です。
なぜなら、Slim3は、SAStrutsS2JDBCをポーティングしようとしているので、ポーティング元が安定してないと、二重にメンテナンスをしなければいけなく、負担が大きくなってしまうためです。


半年間待っている間に、状況も大きく変わってきました。一番大きいのは、Springのメンテナンスポリシーの変更ですね。
Springの新しいメンテナンスポリシーでJava界の勢力図が変わる
もともと、Slim3は、Springコミュニティに対して、Seasar2で人気のあるHOT deployの機能とSAStrutsを提供しようというつもりで企画しました。
しかし、Springの新しいメンテナンスポリシーは、ちょっとね、コミュニティを馬鹿にしてるよ。
メジャーバージョンが出て3ヵ月は、コミュニティに無償でデバックをさせ、その後はコミュニティにメンテナンス版は提供せず、有償のエンタープライズ版のユーザにしかメンテナンス版を提供しないなんてさ。
有償なのは何の問題もないですよ。有償にするなら、最初から全部有償にするか、メンテナンス版は無償で提供し、サポートがほしければ有償のサポートを買えというなら違和感はない。
「最初の3ヵ月間コミュニティに無償でデバッグさせ、その後は次のメジャーリリースまでは、金を払わんやつには何もしない」という態度が気に入らない。もし、コミュニティに対するリスペクトがあるなら、有償の客にメンテナンス版を提供するときのバージョンにきちんとタグを打って、このタグのバージョンは、きちんとテストされてますよってのを示すべき。
Springは、タグを打たないと明言しているので、金を払っていないユーザは、きちんとテストされているかどうかわからないソースコードを自分でチェックアウトしてビルドするしかないのです。


こういう金を払わないコミュニティを馬鹿にしているところに対して、協力する気になれないというのが正直な気持ち。


というわけで、Slim3は、Springに対して、かなり距離を置くつもりです。保守的だと思われるSpringユーザに受け入れてもらえるような保守的な仕様にするのではなく、自分がベストだと信じる仕様にするつもり。
例えば、Javaのプロパティの実装は、フィールドに対するsetter,getterメソッドを持つことになっていますが、Slim3では、publicフィールドにして、うざったいsetter,getterをなくすとかね。


半年間、Slim3の開発に専念するために、イベントや執筆活動はすべて休止したいと思います。(10/16のイベントと今書いているSeasar2入門を除く)
わがままをいって申し訳ありませんが、よろしくお願いします。


半年間といっていますが、最初のリリースはもっと早く出ると思います。できれば、Spring3.0にSlim3をぶつけたいと思っています。