ModeShape and JCR 2.0
rhauch May 21, 2010 3:39 PMModeShape has been working a long time on implementing the JCR 1.0 specification. In fact, when we started (as JBoss DNA), JCR 1.0 was really the only option, since the JCR 2.0 specification was still just an early draft. With the release of ModeShape 1.2 this week, we've implemented all of the high-value required and optional features of JCR 1.0. Sure, we still have on our roadmap a number of big features (like full clustering support and more management facilities), and these are still high priorities for us. But we also know that at some point we're going to switch to JCR 2.0: it's not a question of "if", but "when".
I now believe that the time has come to make this switch, and that we should make it now. First, we've recently had an upswing in queries asking when ModeShape will support JCR 2.0, so obviously there is interest there. Second, any applications written to JCR 1.0 have a very good chance of migrating to use the JCR 2.0 API (especially if the repository continues support for the deprecated XPath and JCR-SQL query languages), whereas applications written against JCR 2.0 cannot go back to JCR 1.0 implementation. Third, JCR 2.0 has some very nice improvements that we'd like to expose and take advantage of. Fourth, any new applications are going to be written against JCR 2.0, and we want to be considered. Finally, given the state of ModeShape 1.2 and that we designed most of the ModeShape features to be ready for JCR 2.0, we're actually now in a great position to make the switch to the JCR 2.0 API. In fact, we've already done some prototyping, and we're very happy with what we've seen so far.
Therefore, I would like us to change our current plans and roadmap so that our next release focuses on moving to the JCR 2.0 API. Obviously this entails a major API change, so we would re-christen the next release as "2.0". If we focus the release solely on this change, we (conservatively) estimate that we can release 2.0 in less than a month, and hopefully a lot sooner. Other features, such as clustering, management facilities, JDBC driver, and other features would get pushed into ModeShape 2.1 that would be released in mid- to late July.
Let us know what you think!