<?xml version="1.0" encoding="UTF-8"?>
<document>
  <properties>
    <title>maven-patch-plugin Codebase Intellectual Property (IP) Clearance Status</title>
  </properties>
  <body>
    <section id="Codebase+IP+Clearance+TEMPLATE">
      <title>Codebase IP Clearance TEMPLATE</title>
      <pre>-----8-&lt;---- cut here -------8-&lt;---- cut here -------8-&lt;---- cut here-------8-&lt;----</pre>
      <section id='premable'>
        <title>Preamble</title>
      <p>This document is the template for recording IP clearance on new
codebases. Please store the completed document in this Incubator
repository using a filename that reflects your project.</p>
      <p>One of the Incubator's roles is to ensure that proper attention is
paid to intellectual property. From time to time, an external
codebase is brought into the ASF that is not a separate project, but
still represents a substantial contribution that was not developed
within the ASF's source control system. This is a short form of the
Incubation checklist, designed to allow code to be imported with
alacrity while still providing for oversight.</p>
      <p>This form is not for new projects. The intent is to simply help to
ensure, and record, that due diligence (Software Grant, CLA, Corp
CLA, license and dependencies) has been paid to the incoming code, so
that it can be merged into an existing project/module.</p>
      <p>The receiving PMC is responsible for doing the work. The Incubator is
simply the repository of the needed information. Once a PMC directly
checks-in a filled-out short form, everything is done.</p>
      <p>All PMCs must handle incoming code in this way. Any code that was
developed outside of the ASF SVN repository must be processed like
this, even if the external developer is an ASF committer.</p>
      </section>
      <section id='process'>
        <title>Process</title>
          <ol>
            <li>
IP Clearance processing must be executed either by an Officer 
or a Member of the ASF. <em>If you are not an Officer or a Member,
please contact your project chair who will find an appropriate 
volunteer.</em> Incubator karma is also required. Please request
karma from the incubator pmc if you do not have it.
            </li>
            <li>
(Optional) <em>Commit an outline <a href='#form-filling'>form</a>, 
filling those parts which can be (at this stage)</em>.
            </li>
            <li>
A software grant must be provided to the ASF. This grant can either be
done by the ASF Corporate CLA (via Schedule B) or the traditional
License Agreement. Acceptable methods of sending the grant to the
ASF includes:
<ul>
<li>snail-mail to the ASF office and/or ASF officer</li>
<li>FAXing to the ASF office and/or an ASF officer</li>
<li>Emailing the scanned document to secretary@apache.org
   <em>and</em> legal-archive@apache.org.</li>
 </ul>
            </li>
            <li>
Receipt of the software grant form <strong>must</strong> be acknowledged
by an Officer of the ASF by recording in the correct file (<em>grants.txt</em> for a License Grant
or <em>cclas.txt</em> for a Corporate CLA). In most normal circumstances,
the officer should be the ASF Secretary, who must be provided a copy of
the grant or CCLA in any case (if not originally sent or Emailed
to him).
            </li>
            <li>
<strong>Note:</strong> the grant form <strong>must</strong> be acknowledged
before continuing. If the source is referenced by checksum in the grant, 
commit the canonical tarball for the donated code into the incubator
drop area together with a checksum and a detached signature. This will
ensure that apache has a legal record of the grant.
            </li>
            <li>
Complete and commit the <a href='#form-filling'>completed form</a>.
            </li>
            <li>
Post a message to general@incubator prefixed [IP CLEARANCE] asking for
clearance to be checked. Sign off is by lazy consensus so wait at least
72 hours for a -1. 
            </li>
            <li>
Post a [RESULT] to close the thread and let the project know that the 
code has been cleared for import.
            </li>
          </ol>
      </section>
      <section id='form-filling'>
        <title>Filling The Form</title>
      <p>What to do to set it up:</p>
      <ul>
        <li>copy this file and re-name it according to
incubator/site-author/ip-clearance/${project-codebase}.html</li>
        <li>add a row to the table at
incubator/site-author/ip-clearance/index.html</li>
        <li>make a snapshot of the source code available for review</li>
      </ul>
      <p>This file should not last long in place before it is moved to the
successful incubation area. The sole purpose is to ensure that IP is
cleared so that the codebase can be merged into the ASF SVN.</p>
      <p>For this file:</p>
      <ul>
        <li>substitute the XYZ name with the real one</li>
        <li>fill in the description</li>
        <li>fill in the work items</li>
        <li>remove this notice</li>
        <li>set a proper "title" element for the html page</li>
      </ul>
      <p>When a work item is done, place the date in the supplied space.</p>
      <p><em>On the first edit of this file, please delete this notice.</em></p>
      </section>
      <pre>-----8-&lt;---- cut here -------8-&lt;---- cut here -------8-&lt;---- cut here-------8-&lt;----</pre>
    </section>
    <section id="maven-patch-plugin+Codebase+Intellectual+Property+%28IP%29+Clearance+Status">
      <title>maven-patch-plugin Codebase Intellectual Property (IP) Clearance Status</title>
    </section>
    <section id="Description">
      <title>Description</title>
      <p>This is a plugin for Maven 2.x that applies patch files to an existing project's source. It currently does
      this by delegation to the GNU patch utility.</p>
    </section>
    <section id="Project+info">
      <title>Project info</title>
      <ul>
        <li>Which PMC will be responsible for the code</li>
        <li>Apache Maven</li>
      </ul>
      <ul>
        <li>Into which existing project/module</li>
        <li>Maven (Plugins)</li>
      </ul>
      <ul>
        <li>Officer or member managing donation:</li>
        <li>Brett Porter</li>
      </ul>
      <p>
        <em>Completed tasks are shown by the completion date (YYYY-MM-dd).</em>
      </p>
      <section id="Identify+the+codebase">
        <title>Identify the codebase</title>
        <table>
          <tr>
            <th>date</th>
            <th>item</th>
          </tr>
          <tr>
            <td>2007-06-08</td>
            <td>If applicable, make sure that any associated name does not
                already exist and is not already trademarked for an existing software
                product.</td>
          </tr>
        </table>
        <p>
MD5 or SHA1 sum for donated software:  (<em>Note versioned software used to calculate sum in parentheses</em>).
        </p>
        <p>
        72a2359b104c37e364ac5c0b573c1999  maven-patch-plugin.zip (md5sum; OS X 10.4.10, build 8R2232)
        </p>
        <section id="Copyright">
          <title>Copyright</title>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>....-..-..</td>
              <td>Check and make sure that the papers that transfer rights to
                  the ASF been received. It is only necessary to transfer
                  rights for the package, the core code, and any new code
                  produced by the project.</td>
            </tr>
            <tr>
              <td>2007-07-05</td>
              <td>Check and make sure that the files that have been donated
                  have been updated to reflect the new ASF copyright.</td>
            </tr>
          </table>
          <p>
Identify name recorded for software grant: <em>the name of the grant as record 
in the grants.txt document so that the grant can be easily identified</em> 
          </p>
        </section>
        <section id="Verify+distribution+rights">
          <title>Verify distribution rights</title>
            <p>
Corporations and individuals holding existing distribution rights:
            </p>
            <ul>
<li>
<em>For individuals, use the name as recorded on the committers page</em>
</li>
            </ul>
          <table>
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>....-..-..</td>
              <td>Check that all active committers have a signed CLA on
                  record.</td>
            </tr>
            <tr>
              <td>....-..-..</td>
              <td>Remind active committers that they are responsible for
                  ensuring that a Corporate CLA is recorded if such is
                  required to authorize their contributions under their
                  individual CLA.</td>
            </tr>
            <tr>
              <td>....-..-..</td>
              <td>Check and make sure that for all items included with the
                  distribution that is not under the Apache license, we have
                  the right to combine with Apache-licensed code and
                  redistribute.</td>
            </tr>
            <tr>
              <td>....-..-..</td>
              <td>Check and make sure that all items depended upon by the
                  project is covered by one or more of the following approved
                  licenses: Apache, BSD, Artistic, MIT/X, MIT/W3C, MPL 1.1, or
                  something with essentially the same terms.</td>
            </tr>
          </table>
          <p>Generally, the result of checking off these items will be a
             Software Grant, CLA, and Corporate CLA for ASF licensed code,
             which must have no dependencies upon items whose licenses that
             are incompatible with the Apache License.</p>
        </section>
      </section>
      <section id="Organizational+acceptance+of+responsibility+for+the+project">
        <title>Organizational acceptance of responsibility for the project
</title>
        <p>
Related VOTEs: 
        </p>
        <ul>
          <li><em>The VOTE thread accepting the donation may happen either 
before or after IP clearance. Adoption by lazy concensus is acceptable but 
not recommended.</em></li>
        </ul>
      </section>
    </section>
  </body>
</document>
