<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
  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. 
-->
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" href="../style/bootstrap-1-3-0-min.css" type="text/css" />
  <link rel="stylesheet" href="../style/style.css" type="text/css" />
  <script src="https://www.apachecon.com/event-images/snippet.js"></script>
        <title>Incubation Status Template - Apache Incubator</title>
  
 </head>
 <body>
 <div class="container">
  <div class="row"><div class="span6"><a href="https://www.apache.org/"><img src="http://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" border="0" style="margin-top: 2px" height="88"/></a></div>
<div class="span7"><a href="/"><img src="https://incubator.apache.org/images/incubator_feather_egg_logo_sm.png" alt="The Apache Software Foundation Incubator" border="0" style="margin-top: 2px" height="88"/></a></div>
<div class="span2"><a href="https://www.apache.org/foundation/contributing.html"><img src="https://www.apache.org/images/SupportApache-small.png" height="100" width="100"/></a></div>
</div>
  <div class="row"><div class="span16"><hr noshade="noshade" size="1"/></div></div>
  <div class="row">
   <div class="span4">
    <form action="http://www.google.com/search" method="get">
     <input value="incubator.apache.org" name="sitesearch" type="hidden"/>
     <input size="20" name="q" id="query" type="text" value="search..."
      onclick="if(this.value == 'search...') {this.value = ''}"/>
     <input name="Search" value="Go" type="submit"/>
    </form>
          <div class="menuheader">General</div>
    <menu compact="compact">
          <li><a href="../index.html">Welcome</a></li> 
          <li><a href="../cookbook/">Incubator Cookbook</a></li> 
          <li><a href="../policy/incubation.html">Incubation Policy</a></li> 
          <li><a href="../guides/roles_and_responsibilities.html">Roles and Responsibilities</a></li> 
          <li><a href="../faq.html">General FAQ</a></li> 
          <li><a href="http://wiki.apache.org/incubator">Incubator Wiki</a></li> 
          <li><a href="../whoweare.html">Who We Are</a></li> 
            </menu>
      <div class="menuheader">Status</div>
    <menu compact="compact">
          <li><a href="../projects">Project List</a></li> 
          <li><a href="../clutch">Clutch Report</a></li> 
          <li><a href="../ip-clearance">IP Clearance</a></li> 
            </menu>
      <div class="menuheader">Entry Guides</div>
    <menu compact="compact">
          <li><a href="../guides/proposal.html">Proposal Guide</a></li> 
            </menu>
      <div class="menuheader">Podling Guides</div>
    <menu compact="compact">
          <li><a href="../guides/committer.html">Podling Committers</a></li> 
          <li><a href="../guides/ppmc.html">Podling PMC (PPMC)</a></li> 
          <li><a href="../guides/mentor.html">Podling Mentor</a></li> 
          <li><a href="../guides/releasemanagement.html">Podling Releases</a></li> 
          <li><a href="../guides/branding.html">Podling Branding/Publicity</a></li> 
          <li><a href="../guides/sites.html">Podling Websites</a></li> 
          <li><a href="../guides/graduation.html">Graduation</a></li> 
          <li><a href="../guides/retirement.html">Retirement</a></li> 
            </menu>
      <div class="menuheader">Other Guides</div>
    <menu compact="compact">
          <li><a href="../guides/participation.html">Participation</a></li> 
          <li><a href="../faq.html">General FAQ</a></li> 
          <li><a href="../guides/chair.html">IPMC Chair</a></li> 
          <li><a href="../guides/lists.html">Mailing Lists</a></li> 
          <li><a href="../guides/website.html">Incubator Website</a></li> 
            </menu>
      <div class="menuheader">ASF</div>
    <menu compact="compact">
          <li><a href="http://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li> 
          <li><a href="http://www.apache.org/dev/">Developer Documentation</a></li> 
          <li><a href="http://www.apache.org/foundation/">Foundation</a></li> 
          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsor Apache</a></li> 
          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> 
            </menu>
    <div id="menuheader">
      <a class="acevent" data-format="square" data-width="135" data-mode="light" data-event="random"></a>
    </div>
   </div>
   
   <div class="span12">
            <h2 id='HAWQ+Project+Incubation+Status'><img src="../images/redarrow.gif" />HAWQ Project Incubation Status</h2>
<div class="section-content">
<p>This page tracks the project status, incubator-wise. For more general
         project status, look on the project website.</p>
<p><strong>THIS WEBSITE IS NO LONGER MAINTAINED!</strong></p>
<p><span class="graduated">The HAWQ project graduated on 2018-08-15</span></p>
</div>
        <h2 id='Description'><img src="../images/redarrow.gif" />Description</h2>
<div class="section-content">
<p>HAWQ is an advanced, enterprise-grade, Hadoop-native SQL analytic engine built around a robust and high-performance massively-parallel processing (MPP) SQL framework that evolved from the Pivotal Greenplum Database.</p>
</div>
        <h2 id='News'><img src="../images/redarrow.gif" />News</h2>
<div class="section-content">
<ul>
        <li>2015-09-04 Project enters incubation.</li>
        <li>2015-12-15 Project fully transitions to ASF infrastructure.</li>
        <li>2016-01-15 ApacheHAWQ twitter account created and social media guidelines discussed.</li>
        <li>2016-03-21 GSOC application submitted.</li>
        <li>2016-06-30 ASF branding issue with an external vendor resolved.</li>
        <li>2016-09-09 Kavinder Dhaliwal voted in as a new committer.</li>
        <li>2016-10-11 Our first 2.0.0.0-incubating release created.</li>
        <li>2016-10-18 Hong Wu voted in as a new committer.</li>
        <li>2016-10-24 Paul Guo voted in as a new committer.</li>
        <li>2016-11-04 Bob Glithero joins the community contributing to developer documentation and content.</li>
        <li>2017-01-31 Lisa Owen voted in as a new committer.</li>
        <li>2017-02-01 Jane Beckman voted in as a new committer.</li>
        <li>2017-02-27 Our second 2.1.0.0-incubating release created.</li>
        <li>2017-02-28 Kyle Dunn voted in as a new committer.</li>
        <li>2017-07-12 Our third source release which is also the first binary release 2.2.0.0-incubating created.</li>
        <li>2018-03-18 Our forth source release also the second binary relese 2.3.0.0-incubating created.</li>
        <li>2018-08-15 HAWQ graduated and is now a top level Apache project.</li>
      </ul>
</div>
        <h2 id='Project+info'><img src="../images/redarrow.gif" />Project info</h2>
<div class="section-content">
<ul>
        <li><a href="http://hawq.incubator.apache.org">Apache HAWQ (incubating) website</a></li>
      </ul>
<ul>
        <li><a href="https://cwiki.apache.org/confluence/display/HAWQ/Contributing+to+HAWQ">How to contribute to Apache HAWQ (incubating)</a></li>
      </ul>
<table class="colortable" width="100%">
        <tr>
          <th>item</th>
          <th>type</th>
          <th>reference</th>
        </tr>
        <tr>
          <td>Website</td>
          <td>www</td>
          <td id="www">
            <a href="http://hawq.incubator.apache.org/">http://hawq.incubator.apache.org/</a>
          </td>
        </tr>
        <tr>
          <td>Dashboard</td>
          <td>dash</td>
          <td id="dash">
            <a href="http://projects.bitergia.com/apache-hawq/browser/">http://projects.bitergia.com/apache-hawq/browser/</a>
          </td>
        </tr>
        <tr>
          <td>.</td>
          <td>wiki</td>
          <td id="www">
            <a href="https://cwiki.apache.org/confluence/display/HAWQ">https://cwiki.apache.org/confluence/display/HAWQ</a>
          </td>
        </tr>
        <tr>
          <td>Mailing list</td>
          <td>dev</td>
          <td id="mail-dev"><code>dev</code><code>@</code><code>hawq.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>.</td>
          <td>commits</td>
          <td id="mail-commits"><code>commits</code><code>@</code><code>hawq.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>.</td>
          <td>user</td>
          <td id="mail-user"><code>user</code><code>@</code><code>hawq.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>.</td>
          <td>issues</td>
          <td id="mail-issues"><code>issues</code><code>@</code><code>hawq.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>.</td>
          <td>private</td>
          <td id="mail-private"><code>private</code><code>@</code><code>hawq.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>Bug tracking</td>
          <td>.</td>
          <td id="tracker">
           <a href="https://issues.apache.org/jira/browse/HAWQ">https://issues.apache.org/jira/browse/HAWQ</a>
          </td>
        </tr>
        <tr>
          <td>Source code</td>
          <td>GIT</td>
          <td id="git">
            <a href="https://gitbox.apache.org/repos/asf/incubator-hawq.git">https://gitbox.apache.org/repos/asf/incubator-hawq.git</a>
          </td>
        </tr>
        <tr>
          <td>.</td>
          <td>GitHub mirror</td>
          <td id="github">
            <a href="http://github.com/apache/incubator-hawq">http://github.com/apache/incubator-hawq</a>
          </td>
        </tr>
        <tr>
          <td>.</td>
          <td>Website content and docs</td>
          <td id="github_site">
            <a href="https://gitbox.apache.org/repos/asf?p=incubator-hawq-site.git;a=tree;h=refs/heads/asf-site;hb=refs/heads/asf-site">https://gitbox.apache.org/repos/asf?p=incubator-hawq-site.git</a>
          </td>
        </tr>
        <tr>
          <td>.</td>
          <td>GitHub mirror</td>
          <td id="github_site_mirror">
            <a href="http://github.com/apache/incubator-hawq-site">http://github.com/apache/incubator-hawq-site</a>
          </td>
        </tr>
        <tr>
          <td>Mentors</td>
          <td>cos</td>
          <td>Konstantin Boudnik</td>
        </tr>
        <tr>
          <td>.</td>
          <td>gates</td>
          <td>Alan Gates</td>
        </tr>
        <tr>
          <td>.</td>
          <td>jerenkrantz</td>
          <td>Justin Erenkrantz</td>
        </tr>
        <tr>
          <td>.</td>
          <td>thejas</td>
          <td>Thejas Nair</td>
        </tr>
        <tr>
          <td>.</td>
          <td>rvs</td>
          <td>Roman Shaposhnik</td>
        </tr>
        <tr>
          <td>Committers</td>
          <td>lei_chang</td>
          <td>Lei Chang</td>
        </tr>
        <tr>
          <td>.</td>
          <td>lisao</td>
          <td>Lisa Owen</td>
        </tr>
        <tr>
          <td>.</td>
          <td>jbeckman</td>
          <td>Jane Beckman</td>
        </tr>
        <tr>
          <td>.</td>
          <td>kdunn</td>
          <td>Kyle Dunn</td>
        </tr>
        <tr>
          <td>.</td>
          <td>kavinder</td>
          <td>Kavinder Dhaliwal</td>
        </tr>
        <tr>
          <td>.</td>
          <td>xunzhang</td>
          <td>Hong Wu</td>
        </tr>
        <tr>
          <td>.</td>
          <td>paulguo</td>
          <td>Paul Guo</td>
        </tr>
        <tr>
          <td>.</td>
          <td>cos</td>
          <td>Konstantin Boudnik</td>
        </tr>
        <tr>
          <td>.</td>
          <td>bosco</td>
          <td>Don Bosco Durai</td>
        </tr>
        <tr>
          <td>.</td>
          <td>hubertzhang</td>
          <td>Hubert Zhang</td>
        </tr>
        <tr>
          <td>.</td>
          <td>iweng</td>
          <td>Ivan Weng</td>
        </tr>
        <tr>
          <td>.</td>
          <td>adenissov</td>
          <td>Alexander Denissov</td>
        </tr>
        <tr>
          <td>.</td>
          <td>jda</td>
          <td>Jimmy Da</td>
        </tr>
        <tr>
          <td>.</td>
          <td>mnxn</td>
          <td>Michael Nixon</td>
        </tr>
        <tr>
          <td>.</td>
          <td>dbbaskette</td>
          <td>Dan Baskette</td>
        </tr>
        <tr>
          <td>.</td>
          <td>mkiyama</td>
          <td>Mel Kiyama</td>
        </tr>
        <tr>
          <td>.</td>
          <td>godenyao</td>
          <td>Goden Yao</td>
        </tr>
        <tr>
          <td>.</td>
          <td>foyzur</td>
          <td>Foyzur Rahman</td>
        </tr>
        <tr>
          <td>.</td>
          <td>gcaragea</td>
          <td>George Caragea</td>
        </tr>
        <tr>
          <td>.</td>
          <td>msoliman</td>
          <td>Mohamed Soliman</td>
        </tr>
        <tr>
          <td>.</td>
          <td>vraghavan78</td>
          <td>Venkatesh Raghavan</td>
        </tr>
        <tr>
          <td>.</td>
          <td>jz</td>
          <td>Jesse Zhang</td>
        </tr>
        <tr>
          <td>.</td>
          <td>schubert</td>
          <td>Michael Schubert</td>
        </tr>
        <tr>
          <td>.</td>
          <td>jakob</td>
          <td>Jake Frank</td>
        </tr>
        <tr>
          <td>.</td>
          <td>litzell</td>
          <td>Chuck Litzell</td>
        </tr>
        <tr>
          <td>.</td>
          <td>gregchase</td>
          <td>Gregory Chase</td>
        </tr>
        <tr>
           <td>.</td>
           <td>jian</td>
           <td>Lirong Jian</td>
         </tr>
         <tr>
           <td>.</td>
           <td>rlei</td>
           <td>Radar Da Lei</td>
         </tr>
         <tr>
           <td>.</td>
           <td>wangzw</td>
           <td>Zhanwei Wang</td>
         </tr>
         <tr>
           <td>.</td>
           <td>yjin</td>
           <td>Yi Jin</td>
         </tr>
         <tr>
           <td>.</td>
           <td>lilima</td>
           <td>Lili Ma</td>
         </tr>
         <tr>
           <td>.</td>
           <td>jyao</td>
           <td>Jiali Yao</td>
         </tr>
         <tr>
           <td>.</td>
           <td>ztao1987</td>
           <td>Zhenglin Tao</td>
         </tr>
         <tr>
           <td>.</td>
           <td>huor</td>
           <td>Ruilong Huo</td>
         </tr>
         <tr>
           <td>.</td>
           <td>mli</td>
           <td>Ming Li</td>
         </tr>
         <tr>
           <td>.</td>
           <td>wlin</td>
           <td>Wen Lin</td>
         </tr>
         <tr>
           <td>.</td>
           <td>wcl14</td>
           <td>Chunling Wang</td>
         </tr>
         <tr>
           <td>.</td>
           <td>stanlyxiang</td>
           <td>Xiang Sheng</td>
         </tr>
         <tr>
           <td>.</td>
           <td>nalex</td>
           <td>Newton Alex</td>
         </tr>
         <tr>
           <td>.</td>
           <td>odiachenko</td>
           <td>Oleksandr Diachenko</td>
         </tr>
         <tr>
           <td>.</td>
           <td>jaoki</td>
           <td>Jun Aoki</td>
         </tr>
         <tr>
           <td>.</td>
           <td>bhuvnesh2703</td>
           <td>Bhuvnesh Chaudhary</td>
         </tr>
         <tr>
           <td>.</td>
           <td>vvineet</td>
           <td>Vineet Goel</td>
         </tr>
         <tr>
           <td>.</td>
           <td>shivram</td>
           <td>Shivram Mani</td>
         </tr>
         <tr>
           <td>.</td>
           <td>nhorn</td>
           <td>Noa Horn</td>
         </tr>
         <tr>
           <td>.</td>
           <td>entong</td>
           <td>Entong Shen</td>
         </tr>
         <tr>
           <td>.</td>
           <td>aelhelw</td>
           <td>Amr El-Helw</td>
         </tr>
         <tr>
           <td>.</td>
           <td>cjcjameson</td>
           <td>C.J. Jameson</td>
         </tr>
         <tr>
           <td>.</td>
           <td>bc</td>
           <td>Ben Calegari</td>
         </tr>
         <tr>
           <td>.</td>
           <td>yozie</td>
           <td>David Yozie</td>
         </tr>
         <tr>
           <td>.</td>
           <td>cwelton</td>
           <td>Caleb Welton</td>
         </tr>
         <tr>
           <td>.</td>
           <td>tzolov</td>
           <td>Christian Tzolov</td>
         </tr>
         <tr>
           <td>.</td>
           <td>tushar_pednekar</td>
           <td>Tushar Pednekar</td>
         </tr>
         <tr>
           <td>.</td>
           <td>jacksoncvm</td>
           <td>Chloe Jackson</td>
         </tr>
         <tr>
           <td>.</td>
           <td>rvs</td>
           <td>Roman Shaposhnik</td>
         </tr>
         <tr>
           <td>.</td>
           <td>gates</td>
           <td>Alan Gates</td>
         </tr>
         <tr>
           <td>.</td>
           <td>omalley</td>
           <td>Owen O'Malley</td>
         </tr>
         <tr>
           <td>.</td>
           <td>thejas</td>
           <td>Thejas Nair</td>
         </tr>
         <tr>
           <td>.</td>
           <td>ssa</td>
           <td>Sergey Soldatov</td>
         </tr>
         <tr>
           <td>.</td>
           <td>atri</td>
           <td>Atri Sharma</td>
         </tr>
      </table>
</div>
        <h2 id='Incubation+status+reports'><img src="../images/redarrow.gif" />Incubation status reports</h2>
<div class="section-content">
<ul>
        <li><a href="http://wiki.apache.org/incubator/October2015">October 2015</a></li>
        <li><a href="http://wiki.apache.org/incubator/November2015">November 2015</a></li>
        <li><a href="http://wiki.apache.org/incubator/December2015">December 2015</a></li>
        <li><a href="http://wiki.apache.org/incubator/January2016">January 2016</a></li>
        <li><a href="http://wiki.apache.org/incubator/April2016">April 2016</a></li>
        <li><a href="http://wiki.apache.org/incubator/July2016">July 2016</a></li>
        <li><a href="http://wiki.apache.org/incubator/October2016">October 2016</a></li>
      </ul>
</div>
        <h2 id='Incubation+work+items'><img src="../images/redarrow.gif" />Incubation work items</h2>
<div class="section-content">
<h3 id='Project+Setup'>Project Setup</h3>
<div class="section-content">
<p>This is the first phase on incubation, needed to start the project at Apache.</p>
<p>
          <em>Item assignment is shown by the Apache id.</em>
          <em>Completed tasks are shown by the completion date (YYYY-MM-dd).</em>
        </p>
<h4 id='Identify+the+project+to+be+incubated'>Identify the project to be incubated</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2015-09-04</td>
              <td>Make sure that the requested project name does not already exist. <a href="http://www.apache.org/foundation/marks/naming.html">Please follow
                the guide to ensure a suitable project/product name.</a></td>
            </tr>
          </table>
</div>
<h4 id='Infrastructure'>Infrastructure</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2015-09-04</td>
              <td>Ask infrastructure to create source repository modules
                  and grant the committers karma. Tracking via <a href="https://issues.apache.org/jira/browse/INFRA-10259">INFRA-10259</a></td>
            </tr>
            <tr>
              <td>2015-09-04</td>
              <td>Ask infrastructure to set up and archive mailing lists.</td>
            </tr>
            <tr>
              <td>2015-09-04</td>
              <td>Ask infrastructure to set up issue tracker (JIRA).</td>
            </tr>
            <tr>
              <td>2015-09-04</td>
              <td>Ask infrastructure to set up wiki (Confluence).</td>
            </tr>
            <tr>
              <td>2015-09-04</td>
              <td>Ask infrastructure to set up svn pubsub website.</td>
            </tr>
            <tr>
              <td>2015-12-15</td>
              <td>Migrate the project to our infrastructure.</td>
            </tr>
          </table>
</div>
<h4 id='Interim+responsibility'>Mentor-related responsibility/oversight</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2015-12-15</td>
              <td>Subscribe all Mentors on the pmc and general lists.</td>
            </tr>
            <tr>
              <td>2015-12-15</td>
              <td>Give all Mentors access to the incubator Git repository. 
                (to be done by the Incubator PMC chair or an Incubator PMC
                Member wih karma for the authorizations file)</td>
            </tr>
            <tr>
              <td>2015-12-15</td>
              <td>Tell Mentors to track progress in the file
                  'incubator/projects/{project.name}.html'</td>
            </tr>
          </table>
</div>
<h4 id='Copyright'>Copyright</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2015-12-15</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>2015-12-15</td>
              <td>Check and make sure that the files that have been donated have been
                  updated to reflect the new ASF copyright.</td>
            </tr>
            <tr>
              <td>2015-12-15</td>
              <td>The Apache RAT check was added to check and make sure that the files that have been donated have been
                  updated to reflect the new ASF copyright.</td>
            </tr>
          </table>
</div>
<h4 id='Verify+distribution+rights'>Verify distribution rights</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2015-12-15</td>
              <td>Check and make sure that for all code 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>2015-12-15</td>
              <td>Check and make sure that all source code distributed 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>
</div>
<h4 id='Establish+a+list+of+active+committers'>Establish a list of active committers</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2015-12-15</td>
              <td>Check that all active committers have submitted a contributors
                  agreement.</td>
            </tr>
            <tr>
              <td>2015-12-15</td>
              <td>Add all active committers in the podling description file.</td>
            </tr>
            <tr>
              <td>2015-12-15</td>
              <td>Ask root for the creation of committers' accounts on
                  people.apache.org.</td>
            </tr>
          </table>
</div>
<h4 id='Project+specific'>Project specific</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2016-10-11</td>
              <td>Produce first Apache Incubating release.</td>
            </tr>
          </table>
</div>
</div>
<h3 id='Incubation'>Incubation</h3>
<div class="section-content">
<p>These action items have to be checked for during the whole incubation process.</p>
<p>
          <em>These items are not to be signed as done during incubation, as they
              may change during incubation.</em>
          <em>They are to be looked into and described in the status reports and
              completed in the request for incubation signoff.</em>
        </p>
<h4 id='Collaborative+Development'>Collaborative Development</h4>
<div class="section-content">
<ul>
            <li>Have all of the active long-term volunteers been identified and
                acknowledged as committers on the project?
            </li>
            <li>Are there three or more independent committers? (The legal definition
                of independent is long and boring, but basically it means that there
                is no binding relationship between the individuals, such as a shared
                employer, that is capable of overriding their free will as
                individuals, directly or indirectly.)</li>
            <li>Are project decisions being made in public by the committers?</li>
            <li>Are the decision-making guidelines published and agreed to by all of
                the committers?</li>
          </ul>
</div>
<h4 id='Licensing+awareness'>Licensing awareness</h4>
<div class="section-content">
<ul>
            <li>Are all licensing, trademark, credit issues being taken care of and
                acknowleged by all committers?</li>
          </ul>
</div>
<h4 id='Project+Specific'>Project Specific</h4>
<div class="section-content">
<table class="colortable" width="100%">
            <tr>
              <th>date</th>
              <th>item</th>
            </tr>
            <tr>
              <td>2016-10-11</td>
              <td>Figure out how to publish project documentation.</td>
            </tr>
          </table>
</div>
</div>
<h3 id='Exit'>Exit</h3>
<div class="section-content">
<p>
          <em>Things to check for before voting the project out.</em>
        </p>
<h4 id='Organizational+acceptance+of+responsibility+for+the+project'>Organizational acceptance of responsibility for the project</h4>
<div class="section-content">
<ul>
            <li>If graduating to an existing PMC, has the PMC voted to accept it?</li>
            <li>If graduating to a new PMC, has the board voted to accept it?</li>
          </ul>
</div>
<h4 id='Incubator+sign-off'>Incubator sign-off</h4>
<div class="section-content">
<ul>
            <li>Has the Incubator decided that the project has accomplished all of
                the above tasks?</li>
          </ul>
</div>
</div>
</div>
       </div>
   </div>
  
   <div class="row"><div class="span16"><hr noshade="noshade" size="1"/></div></div>
  <div class="row">
   <div class="span16 footer">
     Copyright &#169; 2009-2024 The Apache Software Foundation<br />
     Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
     Apache Incubator, Apache, the Apache feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.
     
     
    </div>
  </div>
 </div> 
 </body>
</html>
