<?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>
  <title>Apache Commons-Codec: Proposal</title>
 </properties>

 <body>

   <section name="Proposal for Codec Package"><br/>
   <h4>January 24, 2002</h4>



<subsection name="(0) Rationale">
  <p>
   Many software projects have a need to use various formats of data,
   and to be able to switch between various formats.  The codec package
   seeks to encapsulate some of the most popular encode/decode
   algorithms in one easy to use, well tested package.  A base64 codec
   is the first candidate, with others to follow soon.
  </p>

  </subsection>
<subsection name="(1) Scope of the Package">
  <p>
   This proposal is to create a package of Java utility classes for the
   encoding/decoding of various types of data. A base64 codec will be the
   first implementation.
  </p>

  </subsection>
<subsection name="(1.5) Interaction With Other Packages">

  <p>
   <em>Codec</em> relies only on standard JDK 1.2 (or later) APIs for
   production deployment.  It utilizes the JUnit unit testing framework for
   developing and executing unit tests, but this is of interest only to
   developers of the component.  Codec will be a dependency for
   several existing components in the open source world.
  </p>

  <p>No external configuration files are utilized.</p>

  </subsection>
<subsection name="(2) Initial Source of the Package">

  <p>
   The original Java classes (<code>Base64</code>, etc.) are splashed around
   various Apache subprojects.  We intend to seek them out and integrate them.
  </p>

  <p>
   The proposed package name for the new component is
   <code>org.apache.commons.codec</code>.
  </p>

  </subsection>
<subsection name="(3)  Required Jakarta-Commons Resources">

  <ul>
   <li>
    CVS Repository - New directory <code>codec</code> in the
    <code>jakarta-commons</code> CVS repository.
   </li>
   <li>
    Mailing List - Discussions will take place on the general
    <em>dev@commons.apache.org</em> mailing list.  To help
    list subscribers identify messages of interest, it is suggested that
    the message subject of messages about this component be prefixed with
    [Codec].
   </li>
   <li>
    Bugzilla - New component "Codec" under the "Commons" product
    category, with appropriate version identifiers as needed.
   </li>
  </ul>

  </subsection>
<subsection name="(4) Initial Committers">

  <p>
   The initial committers on the Codec component shall be as follows:
   <ul>
    <li><a href="mailto:sanders@apache.org">Scott Sanders</a></li>
    <li><a href="mailto:bayard@apache.org">Henri Yandell</a></li>
    <li><a href="mailto:rwaldhoff@apache.org">Rodney Waldhoff</a></li>
    <li><a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a></li>
    <li><a href="mailto:jon@collab.net">Jon S. Stevens</a></li>
    <li><a href="mailto:tobrien@apache.org">Tim O'Brien</a></li>
   </ul>
  </p>

 </subsection>
</section>
</body>
</document>
