Welcome to xml-commons!

The xml-commons is a new xml.apache.org subproject focused on common code and guidelines for xml projects. It's first focus will be to organize and have common packaging for the various externally-defined standards code relating to XML - things like the DOM, SAX, and JAXP interfaces.

As the xml-commons community forms, we also hope to serve as a holding area for other common xml-related utilities and code, and to help promulgate common packaging, testing, documentation, and other guidelines across all xml.apache.org subprojects

Commons Guidelines

As the community forms, we need to formalize these guidelines, especially to differentiate 'requirements' from suggested 'guidelines'.

Shane's starting proposals:

Directory tree (preliminary)

xml-commons/
    README.html - this file
    build.xml - overall build file for top-level items
    xdocs/ - top-level xml format docs about this project itself and our guidelines 
        (in stylebook format like xml-xalan uses, unless someone wants to volunteer to start 
        out with another format and maintain it)

    docs/ - (not checked in) html format docs created by 'build docs' from xdocs

    java/ - root of all java-related files
        build.xml - Ant build file for all java files (might call subsidiary build files)

        external/ - src root of all source files in java that come from external sources
            for example: the DOM, SAX, and JAXP files
            org/xml/sax/*
            org/w3c/dom/*
            javax/xml/*

        apache/ - src root of all source files in java that are apache-owned
            tbd/ - java packages added as needed

        xdocs/ - xml format docs describing any java files, as needed

    c/ - root of all C/C++ related files
        external/ - root of all externally-owned C/C++ sources
        apache/ - root of all apache-owned C/C++ sources

    perl/ - root of all Perl related files
        etc.
Where can I download releases?

Since the community is still forming over May-June 2001, we don't have any releases yet. We'll certainly announce our first releases over general@xml.apache.org as well as our project mailing list.

How can I find out more?

We should have a project mailing list setup soon. Ask your questions or bring your suggestions to xml-commons-dev@xml.apache.org. Subscription info coming soon...

Where can I get the code/CVS?

The xml-commons repository is available thru normal and anonymous CVS, or through this nifty web interface.

See xml.apache.org CVS overview.

xml-subproject-proposal-commons-v1.1
List:     xml-apache-general
Subject:  [VOTE] Proposal: new xml-commons subproject for standards-based files
From:     Shane_Curcuru@lotus.com
Date:     2001-04-17 16:08:07

I propose a new xml.apache.org/xml-commons subproject to fulfill the need
for a central repository for various XML standards-based files and common
tools.

COMMITTERS-PLEASE-VOTE! Although I'm not sure of the exact voting procedure
for creating whole new subprojects, I'm hoping to see a bunch of +1's to
start with; feel free to either reply-to or use the handy mini-xml ballot
below.

NON-COMMITTERS-PLEASE-DISCUSS! While votes from non-committers are not
binding your discussion and insights are very valuable!

Key: committer="your_apache_login" email="your@preferred.email.address"
  Leave committer blank if you aren't; vote must be +1 | 0 | -1
  Add comment(s) if you like on specific issues

ballot committer="" email=""
  vote issue="xml-subproject-proposal-commons-v1.1" vote
=""comment/comment/vote
  vote issue="xml-subproject-proposal-commons-v1.1-committers" vote
=""comment/comment/vote
/ballot

xml-subproject-proposal-commons-v1.1
Proposal: form a new xml.apache.org subproject called xml-commons to
fulfill the below needs.

(0) Rationale:
Many xml.apache.org projects use and ship with sets of similar
externally-defined standards-based code; differences in versioning and
configuration of this code often make developing and using our projects
more difficult.  A common place for all xml.apache.org projects to get DOM,
SAX, JAXP, and other externally-defined code would be a fairly low-cost and
low-maintenance way to alleviate these difficulties.  Having a subproject
and a community focused on cross-xml-subproject issues will also help drive
better cross-project coordination and tooling.

(0.1) Programming Languages: While the coding details of Java/C/Perl/etc
are obviously different, the core concept is the same: a central repository
for all xml.apache.org projects to share common interfaces and utilities.
We should start with xml-commons/java, xml-commons/c, and xml-commons/perl
since these languages are in current use in various xml.apache.org
subprojects today.


(1) Scope of this subproject:

(1.1) Common externally-defined standards:
This includes the packages: org.w3c.dom.**, org.xml.sax.**, and javax.xml.
**  This is designed to essentially be an xml.apache.org-specific holding
place for commonly-used interfaces/headers that are created outside of
Apache.  This subproject should provide guidelines and build scripts to aid
xml.apache.org groups to easily use these common files in a common manner
across all subprojects.  This subproject should provide some basic
versioning abilities so that xml.apache.org projects temporarily using
new/beta/updated/proposed versions of these specs can continue to get their
code from this area.

(1.2) Common xml-oriented utilities:
We should also include additional utilities/common code in this subproject,
like current copies of bsf.jar, stylebook, servlet API classes, etc.  This
could also include code that did originate in an Apache project, that we
wanted to centralize the use of: SystemIDResolver, XML Serializers, etc.

(1.3) General project starting guidelines for future directions/scope:
While the details of guidelines for this work should be finalized by the
community that forms it (along with input from the other xml.apache.org
projects who will be using this code), there are some basics to start with:
- Communicate status regularly with general@xml.apache.org and with other
subprojects
- Clearly document and checkin 'best practices' for usage of xml-commons
code in other subprojects
- Proactively work with other subprojects to implement and improve our
'best practices'
- Provide upgrade paths and help; deprecate (or equivalent) old API's
before removing, so other subprojects have ample time to upgrade.
- Test and document all non-standards-based code; provide tests/additional
documentation for standards-based code

(1.4) General guidelines for future directions/scope:
Note this is firstly a subproject to make life inside of xml.apache.org
easier, to enable us to more efficiently develop nifty XML projects.  As we
gain experience in developing this subproject, an obvious future direction
for this community will be to work on a potential AXDK (Apache XML
Development Kit) that would be a meta-packaging-project composed out of
several xml projects together.  The AXDK would be a way to make life for
end-users easier: a single package of various Apache XML tools that works
'out of the box'. (AXDK naming credit to kellyc I think?)

(1.5) Interaction with other subprojects
Additional guidelines can be drawn up on general@xml.apache.org for this
subproject, and then documented and checked in.  These should include both
how other xml subprojects should use these resources in their development
cycles, as well as how all xml subprojects should package these resources
when creating public, shipped distributions (to avoid version conflicts,
etc.)  This subproject's community, along with general@xml.apache.org, will
need to draw up guidelines for code within this subproject as well.


(2) Identify the initial source from which the subproject is to be
populated:
Standards-based sources would be obtained from the relevant owners/creators
and checked into the project repository. A basic build.xml file and apache
project usage guidelines would need to be created.  Possible legal review
would be needed for licensed files (one solution might be to waive the
Apache license on these files).  For common xml-oriented utilities, the
initial sources can be moved in from other xml.apache.org subprojects (cf.
potential org.apache.xml.utils.SystemIdResolver from xml-xalan).


(3) Identify the xml.apache.org resources to be created

(3.1) mailing list(s)
xml-commons-dev
(ed note: added xml-commons-cvs as well -Shane)

(3.2) CVS repositories
xml-commons

(3.3) Bugzilla
program: Commons
components: External Standards, Common XML Utils


xml-subproject-proposal-commons-v1.1-committers
A sub-issue that I'd like people to vote on separately for whichever of the
below option(s) they like best.
(4) Identify the initial set of committers

(4.a) [vote-multiple] kellyc, curcuru, rubys
(4.b) [vote-multiple] one committer from each xml.apache.org subproject
that wants to volunteer, plus at least one PMC member (for projects that
don't get someone volunteered)
(4.c) [vote-multiple] all current xml.apache.org committers

/xml-subproject-proposal-commons-v1.1-committers

/xml-subproject-proposal-commons-v1.1


(*) Important cross-reference:
http://jakarta.apache.org/commons/index.html
Jakarta is currently working on a similar, yet different, tool/util/common
code area.  While we can steal a lot of their ideas, I think the needs of
xml.apache.org will be different than Jakarta, so we should make our own
community decision on how to do this.  Many thanks to the nice format for a
proposal that I plagarized.  8-)

- Shane shane_curcuru@lotus.com curcuru@apache.org
xml-subproject-proposal-commons-v1.1-vote-count-26-Apr-01

Below follows the votes cast to create this subproject

---- From open general@xml.apache.org mailing list through 3pm 26-Apr-01 ----
Original proposal at: http://marc.theaimsgroup.com/?l=xml-apache-general&m=98752444702386&w=2
---- 17 Total committer +1 votes, plus 13 +1's for 4.c (allow all xml committers) ----

/xml-subproject-proposal-commons-v1.1-vote-count-26-Apr-01

Info About This Document