Abdera, an Atom Implementation Proposal

0. Rationale

The fundamental goal of the project is to provide a high-quality and functionally-complete implementation of the Atom Syndication Format (RFC4287) and the Atom Publishing Protocol specifications published by the IETF Atompub working group.

(the ancient city of Abdera, Thrace was the birthplace of the Greek Philosopher Democritus, one of the co-originators of "atomism")

0.1 Criteria

Meritocracy:

Apache was chosen for an incubator for the guidance the community can provide.

Community:

The contributed work was inspired by open source development and by the need to have functionally complete implementations of the Atom specifications available for developers to use. To be successful, the project needs to build a strong and diverse community to validate its mission and carry it forward. Further, the project needs to be guided by the same general principles of open and transparent development that has helped to shape the standards upon which the project is based.

Core Developers:

The initial committers for the project are employees of the donating company. Two of the developers have worked on open source projects before and have experience with and a deep understanding of open source principles.

Alignment:

The initial code has been implemented in Java and is based primarily on the same Apache Axiom / StAX XML parsing API that underpins the Apache Axis2 project. As such, the implementations draws heavily on the work of other existing Apache projects and will continue to do so.

0.2 Warning signs

Orphaned products:

The initial committers are users of this toolkit and have a long-term interest in use and maintenance of the code.

Inexperience with open source:

Several of the commiters are very experienced in Open Source environment. All efforts have and will be made to ensure that the work done and momentum will be in strict adherence to open source guidelines.

Homogenous developers:

As noted above, the initial list of developers consists of paid employees of the donating company. However, efforts will be made to actively expand the team of developers committing to the project.

The current list of committers bring with them a broad range of experiences with open source, standards, emerging technologies, and product development.

Reliance on salaried developers:

The initial set of committers are salaried developers. Through the incubation process, more diversity will hopefully be achieved in many aspects, including reliance on salaried developers.

No ties to other Apache products:

The initial codebase relies heavily on existing Apache technologies and will continue to do so.

A fascination with the Apache brand:

The committers are intent on developing a strong open source community. We believe that the Apache Software Foundation's emphasis on community development makes it the most suitable choice.

1. Scope of the subprojects

The initial scope of the project will be the development of a functionally-complete Java-language implementation of the Atom Syndication Format and Atom Publishing Protocol specifications, along with a selection of extensions and utility functions. It is expected, however, that C/C++ and possibly other language implementations will be explored in the future.

The Atom Syndication Format implementation will include a high-performance parser and serializer for Atom documents, a set of API's for working with the Atom data model, support for a variety of extensions to the Atom format, and support for various advanced features such as XPath, XML Digital Signatures, Feed paging, etc.

The Atom Publishing Protocol implementation will include both client and server implementations designed with the dual purpose of demonstrating the proper function of the protocol and providing the tools necessary to build and deploy Atom Publishing-based applications.

2. Initial source

The initial source for the project was originally written to address the needs of the donating company's own internal Atom development activities. A snapshot of the initial source is available at http://www.snellspace.com/public/abdera.tar.gz.

2.1 External Dependencies of the project

The current implemenation depends on the following components:

3. Identify the ASF resources to be created

3.1 mailing list(s)

3.2 Subversion repository

3.3 Bugzilla

4. Identify the initial set of committers:

5. Identify Apache sponsoring individual

We request that the Apache Incubator PMC sponsor the Abdera Atom implementation as an incubating project.

Champion: Sam Ruby

Mentors:

AbderaProposal (last edited 2009-09-20 23:05:50 by localhost)