Date: 2004-08-02T22:03:06
   Editor: RoyFielding <[EMAIL PROTECTED]>
   Wiki: Incubator Wiki
   Page: JcrProposal
   URL: http://wiki.apache.org/incubator/JcrProposal

   no comment

New Page:

= Proposal for new project JCR =

== Rationale ==

The Content Repository API for Java Technology (JCR) is being developed within 
the
Java Community Process as JSR-170 [http://www.jcp.org/en/jsr/detail?id=170], 
with
Day Software [http://www.day.com/] as specification lead.  It recently passed
public review and is incorporating the public comments.  The
reference implementation has been developed by Day under the proposals 
subdirectory
of the Jakarta Slide [http://jakarta.apache.org/slide/index.html] project's
CVS [http://cvs.apache.org/viewcvs.cgi/jakarta-slide/proposals/jcrri/].
JCR currently uses several utilities within Java commons and is expected to be 
used
(eventually) by Jakarta Slide, Cocoon, Lenya, and possibly as an interface to
various DB projects.

The purpose of this proposal is to move the JCR code out of the Slide proposals
area and into a neutral podling where it can attract additional committers from
other Apache projects and from the various JSR-170 expert group companies, learn
the Apache way of doing things, and allow the mailing list subscribers to focus
on this interface/implementation rather than all of the existing projects that
might want to use it.  We hope to improve collaboration on the code base by 
moving
all of the active developers and authors to Apache, bring in as many of the 
Apache
veterans as wish to get involved, and open it up to all of the 22 expert group
companies.  Development of the RI and TCK will occur in this project -- Day 
Software
will export the official (binary) RI and TCK releases from public tag names
within apache.org CVS, in accordance with JSPA 2.6 restrictions, allowing 
developers
to test against the open source versions as well as the official versions.

In the process, the reference implementation will become a useful package for
other Apache projects wishing to incorporate the JCR interface.  The code was
originally proposed as the back-end for some future version of Slide, which
may still happen at some point, and we anticipate future integrations
with Lenya, Cocoon, XML Indexing, Axion, and Derby.
We are also looking at integration with projects such as Beehive, Maven,
and Portals.

We are not certain of the destination PMC at the current time, though Slide (if 
it becomes
a TLP), Lenya, Cocoon, DB, or some future framework/CMS TLP are all candidates. 
 Since we
believe this should be based on the people who show up to do the work, we would 
prefer to
"re-start" within incubator and let the nascent Apache community decide once 
the choices
become more clear.  As such, we are requesting that the incubator PMC accept 
the podling
with a vote, even though it was earlier accepted as a proposal by Slide 
committers.


=== Criteria ===

==== Meritocracy ====

We plan to do everything possible to encourage an environment that supports a 
meritocracy.  The committer list for this proposal includes people who will 
specifically be responsible for doing the work necessary to foster a 
meritocracy.

==== Community ====

JSR-170's expert group consists of all of the big companies that have 
traditionally supported
Apache project work, and quite a few small ones as well.  Our focus will be to 
get the individuals
comfortable with the Apache development process and seek out new contributors.

==== Core Developers ====

Currently Day employees, though this will change as soon as we get a chance to 
invite more
people to join this effort.  Stefano Mazzocchi and Pier Fumagalli have been 
representing
Apache within the JSR-170 expert group.

==== Alignment ====

The initial code base is targeted to run on any compliant Servlet or J2EE 
container.
Ant is currently used as the build method.  Some of the Jakarta Commons 
utilities are
used internally.

=== Warning Signs ===

==== Orphaned products ====

This is an active project within Day Software and will be the basis of ongoing 
standards
work, the RI and TCK, and the core of our own content management products.

==== Inexperience with open source ====

Many of the committers have experience working on open source projects.  One of 
them co-founded Apache.

==== Homogenous developers ====

The current list of committers includes developers from different continents... 
more to come.They are experienced with working in a distributed environment.

==== Reliance on salaried developers ====

TBD

==== No ties to other Apache products ====

This work was envisioned from its very beginning to become an Apache project, 
within the constraints
imposed by the Java Community Process (argh!).  We have kept the RI development 
visible through
parallel commits to the Slide CVS.  As described above, we expect this 
implementatin to be used
by several existing Apache projects.  A software grant will be signed to allow 
Apache to distribute
the entire codebase under the Apache License 2.0.

==== A fascination with the Apache brand ====

The committers are intent on developing a strong open source community around 
JCR.
Apache was chosen because of the people involved and the emphasis on 
collaboration.
Day Software is committed to supporting the future open source development of 
JCR and to
distributing the result of that development as the official RI and TCK for 
JSR-170.

== Scope of the subprojects ==

RI, TCK, and website.

== Identify the initial source from which the subproject is to be populated ==
 
All code is currently licensed under the Day RI License 2.0, the same addendums 
to the
Apache License 2.0 that have been discussed on Apache licensing lists.  The 
code base will
be licensed to the ASF using a software grant from Day, allowing Apache to 
relicense
as pure Apache License 2.0 code.  A factual notice should be added to the 
distribution
to indicate that only the official version of the TCK can be used to "pass the 
TCK", but
that will not be a condition on the software grant.

== Identify the ASF resources to be created ==

=== mailing list(s) ===

 * jcr-ppmc via incubator.apache.org (with moderated subscriptions)
 * jcr-dev  via incubator.apache.org
 * jcr-commits via incubator.apache.org

=== CVS repositories ===

 * incubator-jcr

=== Jira ===

 * JCR

== Identify the initial set of committers ==

 * Stefan Guggisberg, Day (Slide committer)
 * Tobias Strasser, Day
 * Marcel Reutegger, Day
 * Peeter Piegaze, Day
 * Roy T. Fielding, Day (httpd, APR, incubator)
 * David Nuescheler, Day

 * others will be listed when they accept/volunteer

== Identify Apache sponsoring individual ==

 * Roy T. Fielding, Champion and Mentor for the project,
 (as defined in 
http://incubator.apache.org/incubation/Roles_and_Responsibilities.html)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to