| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <document> |
| |
| <properties> |
| <index value="1"/> |
| <title>Ant Libraries - Charter</title> |
| </properties> |
| |
| <body> |
| <section name="Charter"> |
| |
| <p>Below is the text of the proposal that has been accepted by |
| the Ant PMC. Further amendments are expected.</p> |
| |
| <source> |
| Proposal to Create a Ant-Libraries Sub-Project in Apache Ant |
| ============================================================ |
| |
| (0) rationale |
| |
| Ant itself has accumulated lots and lots of tasks over time. So many, |
| that Ant developers have become reluctant to adding new |
| task. Furthermore any new task in Ant would be tied to Ant's release |
| schedule which is too slow for a thriving, fresh piece of code. |
| |
| The proposal allows Ant tasks and types to be developed under the Ant |
| umbrella by Ant developers but have much shorter release cycles than |
| Ant itself. In addition it would new committers who would have commit |
| access to a single Ant library instead of the whole of Ant. |
| |
| (1) scope of the subproject |
| |
| The subproject shall create and maintain libraries of Ant tasks and |
| types. Each library will be managed in the same manner as the Ant |
| project itself, the PMC is ultimately responsible for it. |
| |
| Common Java libraries that only happen to provide Ant tasks as well |
| are out of scope of the subproject. Providing the tasks or types has |
| to be the primary goal of the library. |
| |
| To further this goal, the subproject shall also host a workplace for |
| Ant committers. |
| |
| (1.5) interaction with other subprojects |
| |
| (1.5.1) the sandbox |
| |
| The subproject will host a SVN repository available to all Ant |
| committers as a workplace for new Ant libraries. |
| |
| Before a library can have a public release it has to get promoted to |
| the "proper" Ant libraries subproject. This also means it has to match |
| the requirements of an Ant library as defined in section (4) under |
| Guidelines below. |
| |
| The status of any library developed in the sandbox shall be reviewed |
| after six months and the library gets either promoted or removed - or |
| it has to be re-evaluated after another six months. |
| |
| (2) identify the initial source from which the subproject is to be populated |
| |
| Some Ant committers have developed tasks or libraries inside of the |
| Ant CVS module under the proposal/sandbox directory. Committers are |
| free to move them over to the new sandbox subproject or remove them |
| completely. |
| |
| Libraries expected to move to the sandbox subproject initially are |
| |
| * the .NET tasks under proposal/sandbox/dotnet |
| |
| * the Subversion support tasks under proposal/sandbox/svn |
| |
| (3) identify the initial Apache resources to be created |
| |
| (3.1) mailing list(s) |
| |
| None. At least at the beginning we don't expect too much traffic and |
| the existing mailing lists of the Ant projects will be used. |
| |
| (3.2) SVN repositories |
| |
| Create <http://svn.apache.org/repos/asf/ant/> |
| |
| Expected are sub-directories |
| |
| antlibs/ |
| | |
| -----> proper/ |
| | | |
| | -----> library1 |
| | | | |
| | | -----------> trunk |
| | | -----------> tags |
| | | -----------> branches |
| | -----> library2 |
| | | |
| | -----------> trunk |
| | -----------> tags |
| | -----------> branches |
| | |
| -----> sandbox/ |
| | |
| -----> library1 |
| | | |
| | -----------> trunk |
| | -----------> tags |
| | -----------> branches |
| -----> library2 |
| | |
| -----------> trunk |
| -----------> tags |
| -----------> branches |
| |
| And potentially collections of all-trunks using svn:external as shown |
| by the current Jakarta Commons structure. |
| |
| (3.3) Bugzilla |
| |
| New components under product "Ant" for each new library. |
| |
| (4) identify the initial set of committers |
| |
| All current Ant PMC members plus the active Ant committers who are not |
| PMC members yet. |
| |
| 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 Ant library. |
| |
| (2) The library is not a framework or a general library but a |
| collection of Ant tasks and types. |
| |
| (3) Each library must have a clearly defined purpose, scope, and API. |
| |
| (4) Each library is treated as a product in its own right. |
| |
| (4.1) Each library has its own status file, release schedule, version |
| number, QA tests, documentation, bug category, and individual |
| JAR. |
| |
| (4.2) Each library must clearly specify any external dependencies, |
| including any other libraries, and the earliest JDK version |
| required. |
| |
| (4.3) Each library must maintain a list of its active committers in |
| its status file. |
| |
| (4.4) The libraries should use a standard scheme for versioning, QA |
| tests, and directory layouts, and a common format for |
| documentation and Ant build files. |
| |
| (4.4) Each library will be hosted on its own page on the subproject |
| Web site, and will also be indexed in a master directory. |
| |
| (4.5) Volunteers become committers to this subproject in the same way |
| they are entered to any Apache subproject. |
| |
| Once the required infrastructure is in place, volunteers may |
| become committers for a single Ant library only. |
| |
| (4.6) New libraries may be proposed to the Ant dev mailing list. To be |
| accepted, a library proposal must receive majority approval of |
| the Ant PMC. Proposals are to identify the rationale for the |
| library, its scope, the initial source from which the library is |
| to be created, and the initial set of committers. |
| |
| (4.7) As stated in the Ant guidelines, an action requiring majority |
| approval must receive at least 3 binding +1 votes and more +1 |
| votes than -1 votes. |
| |
| (4.8) Each Ant library needs at least three committers, at least one |
| of them has to be an Ant PMC member. |
| </source> |
| |
| </section> |
| </body> |
| </document> |