atom feed12 messages in org.apache.jakarta.slide-devThe status of JCR-RI
FromSent OnAttachments
Stefano MazzocchiFeb 12, 2004 6:02 am 
Geir Magnusson Jr.Feb 12, 2004 6:13 am 
davi...@day.comFeb 12, 2004 7:04 am 
Boris KraftFeb 13, 2004 2:08 am 
Stefan GuggisbergFeb 13, 2004 3:34 am 
Boris KraftFeb 13, 2004 5:12 am 
Stefano MazzocchiFeb 13, 2004 6:14 am 
Stefano MazzocchiFeb 13, 2004 6:16 am 
Stefano MazzocchiFeb 13, 2004 6:25 am 
Boris KraftFeb 13, 2004 6:32 am 
Stefano MazzocchiFeb 13, 2004 11:35 am 
Oliver ZeigermannFeb 13, 2004 11:39 am 
Subject:The status of JCR-RI
From:Stefano Mazzocchi (
Date:Feb 12, 2004 6:02:36 am

As some of you have noticed, the code available in jakarta-slide/proposals/jcrri has been removed.

For those of you who are not aware of what that is, JCR (Java Content Repository API) is also known as JSR-170.

A while ago, Stefan Guggisberg was granted commit access on the Slide CVS module to work on the reference implementation of JSR-170. Stefan's main job at Day is exactly that: implement the API and give feedback to the expert group. (Day is the leading force behind JCR and David, here copied, is the spec lead)

Now, the intention to give early access to the JCR reference implementation (JCR-RI) was to share development costs across other parties.

Well, it turned out that not only it didn't get traction (which is not surprising, given the fact that the specification is not yet publicly available), but it resorted in major abuse of that code by some other software products that looked at that code as it represented the *real* JCR API and went around saying that they were compliant with the JCR API.

[no pointing fingers here, just stating the facts]

The intention of the JCRRI proposal was rather harmless: help creating a community around it, and hoping to resort slide development with it [the community was mostly dead at that time]

It is evident, today, that:

1) Slide resorted by itself

2) Until JSR170 is in public review, it would be foolish to expect any reasonable contribution from an open development community

3) The JCR specification is feature complete (just passed JCP internal community review) but it's far from being solidified on the details. This makes having the RI available during the making dangerous as other people might incorporate it in their products and ship it, without indicating that this is an implementation of a JCR "working-draft", not of the official API that JCR is going to be (and nobody knows, today, what that really is)

We could have worked around 3) by creating a customly crafted apache license that would prevent people from using it until we said "go", but messing up with licenses is a very painful process, so my personal suggestion to Stefan and David was:

- remove the current JCRRI codebase since it's based on 0.8 version of the spec (now at 0.9.5 and substantially different)

- don't commit back anything until JCR is in public review (should happen in a few months or sooner)

- at that point or even if not ready, commit the RI back into the slide repository, using the version 2.0 of the Apache license and adding the following clause (the apache 2.0 license is modular and extensible):

----------------------------[ WARNING ]----------------------------

This software is the reference implementation of the latest working draft of the Java Content Repository API.

Early adopters must be aware of the fact that the API has NOT been finalized by the JSR-170 expert group and, for that reason, that NO EFFORT will be made to ensure back compatibility until the API is finalized by the Java Community Process.

It is considered abusive to promote or otherwise mention this software or software derived from it without indicating the non-final nature of the API it implements.


This is a legal trick: instead of crafting an entirely different license, we apply a "moral" label to it and since early adopters are required to include the license with the software, users of that software have the chance of being warned about it.

So, at the end, Day and the rest of the JSR170 expert group is still strongly committed in having the reference implementation of the JCR API open source and donated to the slide project (that will decide what to do with it) licensed under the apache license.

At the same time, we are seriously concerned about brand abuse and, for this reason, action was needed.