incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Goetz, Paul" <>
Subject [PROPOSAL] OpenCMIS incubator for Content Mangement Interoperability Services (CMIS)
Date Wed, 09 Dec 2009 17:21:21 GMT

we would like to propose a new incubator podling called OpenCMIS.
Please find below the plain-text version of the proposal.
Any feedback would be greatly appreciated.

Best regards,

Apache OpenCMIS Proposal

OpenCMIS will deliver a Java implementation of the OASIS CMIS specification.

OpenCMIS provides a Java implementation of the OASIS CMIS specification. This includes a library
to connect as a consumer to a CMIS repository, and a library to provide the CMIS protocol
handlers on top of an existing repository. All the protocol bindings defined by the CMIS specification
will be supported.

The OASIS CMIS (Content Management Interoperability Services) specification is a standardization
effort to enable interoperability of Enterprise Content Management (ECM) Systems. Like SQL
became the standard for accessing database systems, CMIS aims to become a similar standard
for accessing document management systems. CMIS was started by IBM, EMC and Microsoft. Most
of the ECM vendors joined the OASIS Technical Committee (TC) for CMIS in the meanwhile as
The need for a common, open source CMIS library came up during the standardization work. David
Caruana, David Ward, Florian Müller, Jens Hübel, Paul Goetz, Martin Hermes, and Stephan
Klevenz from Alfresco, Open Text and SAP started an initiative and design outline to found
this project. Code and some design ideas from an existing open source project owned by Florian
Müller was an initial contribution to the project.
The aim is to build an object oriented Java implementation of CMIS that encapsulates the CMIS
protocol bindings, mainly to support clients using CMIS. Focus of this project it to support
the needs of an enterprise environment, that is reliability, performance, and monitoring.

With CMIS being adopted by various ECM vendors, there is a strong need for repositories and
applications dealing with content to support CMIS. As CMIS defines a domain model and protocol
bindings, Java developers would have to implement the protocol bindings from scratch.
The CMIS specification focuses on the protocols, and is therefore service oriented. An object
oriented API which encapsulates this services makes it easier for Java developers to use CMIS.
In turn, easy adoption of CMIS by Java applications should help the standard becoming widely

Initial Goals
* Implement the CMIS 1.0 protocol binding for SOAP
* Implement the CMIS 1.0 protocol binding for AtomPub
* Implement a library with an object oriented API to encapsulate the CMIS protocol bindings
for consumers

Current Status

The OpenCMIS contributors recognize the desirability of running the project as a meritocracy.
We are eager to engage other members of the community and operate to the standard of meritocracy
that Apache emphasizes; we believe this is the most effective method of growing our community
and enabling widespread adoption.

The OASIS Technical Committee (TC) is the community for the CMIS standard definition. Most
of the TC members provide Java based ECM implementations, and are also interested to help
building a CMIS library for Java.

Core Developers
The project was started by Florian Müller (Open Text) and Jens Hübel (Open Text). David
Caruana (Alfresco) contributed, as well as Martin Hermes (SAP), Stephan Klevenz (SAP) and
Paul Goetz (SAP).

Apache Chemistry aims to build a CMIS implementation, too. The focus for OpenCMIS is to provide
a self-contained client library for CMIS for Java only - while Chemistry is aiming at a broader
scope, as it started from a JCR/Jackrabbit based approach and is planning to support Javascript
as well.
As the APIs are pretty different right now, contributing the OpenCMIS code to Chemistry will
be very hard to do - but on a mid-term perspective, we will review our options to merge OpenCMIS
with Chemistry.

Known Risks

Orphaned Products
The contributors are working for companies relying on this library. There is minimal risk
of this work becoming non-strategic. The contributors are confident, that a larger community
will form within the project.

Inexperience with Open Source
The initial committers have varying degrees of experience with open source projects. There
is limited access experience developing code with an open source development process. We do
not, however, expect any difficulty in executing under normal meritocracy rules.

Homogenous Developers
The initial committers work for different companies (Open Text, Alfresco, and SAP). They work
for different projects and knew each other only to their participation in the OASIS TC.

Reliance on Salaried Developers
Although the initial committers are salaried developers, OpenCMIS development was done both
on work time and spare time. As the OpenCMIS library will be used in commercial products,
some of the companies will dedicate work time to the project.

Relationships with Other Apache Products
OpenCMIS uses other Apache Products (Commons Codec, Commons Logging, CXF is planned). Maven
is used as build infrastructure.

A Excessive Fascination with the Apache Brand
The developers of OpenCMIS could use other channels to generate publicity. We hope that the
Apache brand helps to build a vendor independent, truly interoperable CMIS library. We would
feel honored at getting the opportunity to join.

[1] Information about the OASIS CMIS Technical Committee can be found at: [].
[2] The announcement of the public review for the CMIS 1.0 specification (containing the links
to the specification) can be found at: []

Initial Source
The current implementation can be found on []

Source and Intellectual Property Submission Plan
* The initial source (see above)
* Additional source from Open Text developers (CLA in progress)
* Additional source from SAP developers (CCLA filed, CLA in progress)
* Additional source from Alfresco developers (CLA filed)
* The domain from Alfresco

External Dependencies
All the external dependencies of the initial codebase comply with Apache licensing policies:
* Apache Commons (Apache v2.0)
* Apache Maven (Apache v2.0)
* Sun JAXB and JAX-WS (CDDL v1.0, GPL v2)
* JUnit (CPL v1.0)

OpenCMIS does not implement or use cryptographic code.

Required Resources

Mailing lists
* opencmis-private (with moderated subscriptions)
* opencmis-dev
* opencmis-commits
* opencmis-user

Subversion Directory

Issue Tracing

Other Resources
* Web Site: Confluence (OpenCMIS)

Initial Committers
* Florian Müller (Open Text)
* Jens Hübel (Open Text)
* David Caruana (Alfresco)
* David Ward (Alfresco)
* Martin Hermes (SAP)
* Stephan Klevenz (SAP)
* Paul Goetz (SAP)

The initial committers listed are employed by Open Text, Alfresco, and SAP. One objective
of the incubator is to extend the community of contributors, we assume that future contributors
will have other affiliations.


? tbd

? Looking for mentors

Sponsoring Entity
The Incubator

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message