Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jakarta Wiki" for 
change notification.

The following page has been changed by RobertBurrellDonkin:
http://wiki.apache.org/jakarta/DraftCharterForWebComponentCommons

The comment on the change is:
Initial draft based on Jakarta Commons charter

New page:
= Draft Charter For Web Component Commons =

== About This Page ==

This is a space for easy development of the charter. Since the web components 
commons is intended to function in the same way that Jakarta Commons does, the 
initial version will be the current Jakarta Commons charter.

Please do not edit comments into this text: please use the 
CharterForWebCommonsRequestForComments or post to  
[http://jakarta.apache.org/site/mail.html General At Jakarta].

== Draft Charter ==

(0) rationale

Apache-Java and Jakarta originally hosted product-based subprojects, consisting 
of one major deliverable. The Java language however is package-based, and most 
of these products have many useful utilities. Some products are beginning to 
break these out so that they can be used independently. A Jakarta subproject to 
solely create and maintain independent packages is proposed to accelerate and 
guide this process.

(1) scope of the subproject

The subproject shall create and maintain packages written in the Java language, 
intended for use in server-related development, and designed to be used 
independently of any larger product or framework. Each package will be managed 
in the same manner as a larger Jakarta product. To further this goal, the 
subproject shall also host a workplace for Jakarta committers.

(1.1) the sandbox

The subproject will host a CVS repository available to all Apache committers as 
a workplace for new packages or other projects.

(2) identify the initial set of committers

'''PLEASE LEAVE EMPTY'''

== Draft Guidelines ==

 Note :

    * is, has, will, shall, must - required.
    * may, should, are encouraged - optional but recommended.

   1. The primary unit of reuse and release is the package.
   1. The package library is not a framework but a collection of components 
designed to be used independently.
   1. Each package must have a clearly defined purpose, scope, and API -- Do 
one thing well, and keep your contracts.
   1. Each package is treated as a product in its own right.
         1. Each package has its own status file, release schedule, version 
number, QA tests, documentation, mailing list, bug category, and individual JAR.
         2. Each package must clearly specify any external dependencies, 
including any other Commons packages, and the earliest JDK version required.
               1. External dependencies on optional and third-party codebases 
should be minimized.
               2. All necessary dependencies must be recorded in the 
MANIFEST.MF file of the package JAR, in the manner recommended in the JDK 1.3 
documentation describing 'system extensions'
         3. Each package must maintain a list of its active committers in its 
status file.
   1. The packages should use a standard scheme for versioning, QA tests, and 
directory layouts, and a common format for documentation and Ant build files.
   1. The packages should fit within a unified package hierarchy.
   1. In general, packages should provide an interface and one or more 
implementations of that interface, or implement another interface already in 
use.
          * The packages should have boring functional names. Implementations 
may choose more 'exciting' designations.
   1. Packages are encouraged to either use JavaBeans as core objects, a 
JavaBean-style API, or to provide an optional JavaBean wrapper.
   1. External configuration files are discouraged, but if required, XML format 
files are preferred for configuration options.
   1. Each package will be hosted on its own page on the subproject Web site, 
and will also be indexed in a master directory.
   1. The subproject will also host a top-level 'general' mailing list in 
addition to any lists for specific packages.
   1. The subproject will also provide a single JAR of all stable package 
releases. It may also provide a second JAR with a subset of only JDK 1.1 
compatible releases. A gump of nightly builds will also be provided.
   1. Volunteers become committers to this subproject in the same way they are 
entered to any Jakarta subproject. Being a committer in another Jakarta 
subproject is not a prerequisite.
   1. Each committer has karma to all the packages, but committers are required 
to add their name to a package's status file before their first commit to that 
package.
   1. New packages may be proposed to the Jakarta Commons mailing list. To be 
accepted, a package proposal must receive majority approval of the subproject 
committers. Proposals are to identify the rationale for the package, its scope, 
its interaction with other packages and products, the Commons resources, if 
any, to be created, the initial source from which the package is to be created, 
the coding conventions used for the package (if different from the Sun coding 
conventions), and the initial set of committers.
          * As stated in the Jakarta guidelines, an action requiring majority 
approval must receive at least 3 binding +1 votes and more +1 votes than -1 
votes.
   1. It is expected that the scope of packages may sometimes overlap.
   1. Anyone may propose a new package to the Commons, and list themselves as 
the initial committers for the package. The vote on the proposal is then also a 
vote to enter new committers to the subproject as needed.
   1. A CVS repository will be available to all Apache committers as a 
workplace for new packages or other projects. Before release to the public, 
code or documentation developed here must be sponsored by Jakarta subproject. 
The sponsoring subproject(s) will distribute the code or documentation along 
with the rest of their codebase.
   1. Each Commons component should use an internally consistent and documented 
coding style. When the source code for a component originates in a pre-existing 
code base outside of Commons, the coding style of that code base may be 
retained at the discretion of the initial committers. If a component does not 
specify its coding style, the Sun Coding Convention guidelines are assumed.
   1. The subproject catalog will also list packages and resources available to 
the public related to other Jakarta subprojects and ASF projects.
   1. As a Jakarta subproject, the Commons adopts all other guidelines and 
procedures of Jakarta and the Apache Software Foundation, as they may be 
amended from time to time.

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

Reply via email to