Grand Central, a home for Open Specification Components.
This proposal outlines the creation of a Top Level Project (TLP) of the Apache Software Foundation (ASF) that will house the machine readable components of open specifications implemented by other ASF projects. Examples of components to be hosted by this projects will include:
- APIs (e.g. javax.servlet.* interfaces and classes).
- Interface definitions (e.g. wsdl, idl, etc.)
- Document definitions (e.g. DTD, XSLT, etc.)
- Translation files (e.g. property bundles)
This proposal will refer to the work to build the specification components as completion and the work to implement the code behind the spec APIs as implementation. This project will not host implementations of the specifications.
In order to be included in Grand Central, a specification must satisfy the project PMC that it is an open standard by most accepted definitions of that term.
Initially Grand Central will host the specification produced by the Java Community Process that are currently implemented by apache projects such as geronimo, tomcat. It is anticipated that this project will grow to include specification components in languages and from other standards organizations.
People now come to the ASF for completed specifications and their implementations. In order to provide these, apache projects must have access to openly licensed implementations of the specification components. Unfortunately, these are not always provided by the relevant specification bodies and often clean room implementations or explicit code donations are required.
Thus ASF projects already host completed specification. As the ASF often provides multiple implementations of these specifications, this has resulted in duplicated instances and/or confusing dependencies.
There are also cases where outside project wish to use a completed ASF API, without a dependency on the specific implementations or their versions and release cycles.
This proposal claims that a TLP is the best home for all completed APIs. It removes redundant instances of completed APIs. It removes project specific names on spec jars, e.g. geronimo-servlet_2.4_spec. It makes it easier for the wider community to find and use completed APIs.
Furthermore, by providing open source implementation of the open standard components with clear copy right and license terms, this project will provide a clear and open framework for all implementations of the specification, be they apache, open source or proprietary. This is of significant value to both the apache and wider communities.
The devil is in the details.
Grand Central will get its code from Apache projects. Each donating project will be the governing body for that spec. That project's PMC will designate committers for that spec. All designated committers will have access to Grand Central's entire Subversion repository; it is assumed that designated committers can be trusted not to fiddle with specs that lie outside their jurisdiction.
Since the ASF uses a single Subversion repository it should be simple enough to move the APIs while keeping their provenance. The project and the pantheon of APIs will be built using Maven 2.
The API specs will be managed using the sponsoring project's Jira. Releases of the API spec will be governed and performed by the sponsoring project.
All new donated API code from outside sources will be incubated using the standard and accepted practices of the ASF Incubator. A donated API will always have a sponsoring project. No API will begin its life as an orphan.
Sponsoring projects may fade away and be closed. In this case, the orphaned spec will go up for adoption. If there are no adopting ASF projects, the orphaned spec will be under the care of the Incubator PMC.
ONCE A SPEC API IS IN GRAND CENTRAL, IT IS NEVER REMOVED
Initial source will be moved from contributing projects.
RESOURCES TO BE CREATED
- SVN Repository
- Mailing Lists
- Official Build Systems
AVOIDING THE WARNING SIGNS
Initial committers will be submitted by each project PMC. For the sake of simplicity, it is asked that at most 3 committers per spec be submitted; this is not a hard rule.
PROPOSED APACHE SPONSOR
Every project PMC that is contributing a spec to this project is a sponsor for that spec. The collection of contributing PMCs will be Grand Central's PMC.
Needs to be filled