<!--
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

     https://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>Proposal for Apache Commons Text Package</title>
</properties>
<body>

<section name="Proposal for Apache Commons Text Package">

<subsection name="(0) Rationale">

<p>Providing algorithms for processing texts like editing distance or
similarity is out of scope of the standard Java libraries. The
<em>Commons Text</em> Package provides these extra methods.</p>


</subsection>
<subsection name="(1) Scope of the Package">

<p>This proposal is to create a package of Java utility classes implementing
well known string algorithms and metrics.</p>


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

<p><em>Commons Text</em> relies only on standard JDK 7 (or later) APIs for
production deployment.  It utilizes the JUnit unit testing framework and
the hamcrest matcher library for developing and executing unit tests, but
this is of interest only to developers of the component. Commons Text may be
a dependency for several existing components in the open source world that
implement higher order text processing.</p>

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


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

<p>The initial classes came from the <em>Commons Lang</em> and <em>Commons Codec</em> subprojects.</p>

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


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

<ul>
<li>Git Repository - New repository <code>commons-text</code>.</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
    [text].</li>
<li>Jira - New component "Common Text" under the "Commons Sandbox" product.</li>
<li>Confluence FAQ - New category "commons-text" (when available).</li>
</ul>


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

<p>The initial committers on the <em>Commons Text</em> component shall be as follows:
<ul>
<li>Benedikt Ritter (britter)</li>
<li>Bruno P. Kinoshita (kinow)</li>
</ul>
</p>

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