<!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='Impala+Project+Incubation+Status'><img src="../images/redarrow.gif" />Impala 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><span class="graduated">The Impala project graduated on 2017-11-15</span></p>
</div>
        <h2 id='Description'><img src="../images/redarrow.gif" />Description</h2>
<div class="section-content">
<p>Impala is a high-performance C++ and Java SQL query engine for data stored in Apache Hadoop-based clusters.</p>
</div>
        <h2 id='News'><img src="../images/redarrow.gif" />News</h2>
<div class="section-content">
<ul>
        <li>2017-09-29 Added two new committers.</li>
        <li>2017-09-26 Added new PPMC member.</li>
        <li>2017-09-20 Added another committer elected by the PPMC.</li>
        <li>2017-07-17 Added new PPMC member.</li>
        <li>2017-07-03 Added new PPMC member.</li>
        <li>2017-04-29 Added another committer elected by the PPMC.</li>
        <li>2017-03-24 Added another committer elected by the PPMC.</li>
        <li>2017-03-13 Completed infrastructure transfer to ASF resources.</li>
        <li>2017-03-06 Added another committer elected by the PPMC.</li>
        <li>2017-02-23 Added another committer elected by the PPMC.</li>
        <li>2017-02-16 Added another committer elected by the PPMC.</li>
        <li>2017-01-18 Added first PPMC member elected by the PPMC.</li>
        <li>2016-10-05 First Apache Impala (incubating) release, 2.7.0.</li>
        <li>2016-09-11 Changed code review emails to go to reviews@.</li>
        <li>2016-08-18 Added first committer elected by the PPMC.</li>
        <li>2016-08-15 Added final initial committer accounts.</li>
        <li>2016-07-01 Added another initial committer account.</li>
        <li>2016-02-11 Added more initial committer accounts.</li>
        <li>2015-12-17 Added some initial committer accounts.</li>
        <li>2015-12-04 Mailing lists and git repo created.</li>
        <li>2015-12-01 Project enters incubation.</li>
      </ul>
</div>
        <h2 id='Project+info'><img src="../images/redarrow.gif" />Project info</h2>
<div class="section-content">
<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://impala.incubator.apache.org/">http://impala.incubator.apache.org/</a>
          </td>
        </tr>
        <tr>
          <td>.</td>
          <td>wiki</td>
          <td id="wiki"><a href="https://cwiki.apache.org/confluence/display/IMPALA/Impala+Home">cwiki.apache.org</a></td>
        </tr>
        <tr>
          <td>Mailing list</td>
          <td>dev</td>
          <td id="mail-dev"><code>dev</code><code>@</code><code>impala.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>.</td>
          <td>user</td>
          <td id="mail-user"><code>user</code><code>@</code><code>impala.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>.</td>
          <td>issues</td>
          <td id="mail-issues"><code>issues</code><code>@</code><code>impala.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>.</td>
          <td>commits</td>
          <td id="mail-commits"><code>commits</code><code>@</code><code>impala.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>.</td>
          <td>code reviews</td>
          <td id="mail-reviews"><code>reviews</code><code>@</code><code>impala.incubator.apache.org</code></td>
        </tr>
        <tr>
          <td>Bug tracking</td>
          <td>.</td>
          <td id="tracker">
            <a href="https://issues.apache.org/jira/browse/IMPALA">https://issues.apache.org/jira/browse/IMPALA</a>
          </td>
        </tr>
        <tr>
          <td>Source code</td>
          <td>git</td>
          <td id="git">
            <a href="https://gitbox.apache.org/repos/asf?p=incubator-impala.git;a=summary">incubator-impala.git</a>
          </td>
        </tr>
        <tr>
          <td>Mentors</td>
          <td>tomwhite</td>
          <td>Tom White</td>
        </tr>
        <tr>
          <td>.</td>
          <td>todd</td>
          <td>Todd Lipcon</td>
        </tr>
        <tr>
          <td>.</td>
          <td>cws</td>
          <td>Carl Steinbach</td>
        </tr>
        <tr>
          <td>.</td>
          <td>brock</td>
          <td>Brock Noland</td>
        </tr>
        <tr>
          <td>PPMC Members</td>
          <td>jbapple</td>
          <td>Jim Apple</td>
        </tr>
        <tr>
          <td>.</td>
          <td>tarmstrong</td>
          <td>Tim Armstrong</td>
        </tr>
        <tr>
          <td>.</td>
          <td>abehm</td>
          <td>Alex Behm</td>
        </tr>
        <tr>
          <td>.</td>
          <td>tarasbob</td>
          <td>Taras Bobrovytsky</td>
        </tr>
        <tr>
          <td>.</td>
          <td>mikeb</td>
          <td>Michael Brown</td>
        </tr>
        <tr>
          <td>.</td>
          <td>casey</td>
          <td>Casey Ching</td>
        </tr>
        <tr>
          <td>.</td>
          <td>mgrund</td>
          <td>Martin Grund</td>
        </tr>
        <tr>
          <td>.</td>
          <td>dhecht</td>
          <td>Daniel Hecht</td>
        </tr>
        <tr>
          <td>.</td>
          <td>kwho</td>
          <td>Michael Ho</td>
        </tr>
        <tr>
          <td>.</td>
          <td>mjacobs</td>
          <td>Matthew Jacobs</td>
        </tr>
        <tr>
          <td>.</td>
          <td>ishaan</td>
          <td>Ishaan Joshi</td>
        </tr>
        <tr>
          <td>.</td>
          <td>lskuff</td>
          <td>Lenni Kuff</td>
        </tr>
        <tr>
          <td>.</td>
          <td>marcel</td>
          <td>Marcel Kornacker</td>
        </tr>
        <tr>
          <td>.</td>
          <td>sailesh</td>
          <td>Sailesh Mukil</td>
        </tr>
        <tr>
          <td>.</td>
          <td>henry</td>
          <td>Henry Robinson</td>
        </tr>
        <tr>
          <td>.</td>
          <td>jrussell</td>
          <td>John Russell</td>
        </tr>
        <tr>
          <td>.</td>
          <td>dtsirogiannis</td>
          <td>Dimitris Tsirogiannis</td>
        </tr>
        <tr>
          <td>.</td>
          <td>bharathv</td>
          <td>Bharath Vissapragada</td>
        </tr>
        <tr>
          <td>.</td>
          <td>lv</td>
          <td>Lars Volker</td>
        </tr>
        <tr>
          <td>.</td>
          <td>skye</td>
          <td>Skye Wanderman-Milne</td>
        </tr>
        <tr>
          <td>.</td>
          <td>jyu</td>
          <td>Juan Yu</td>
        </tr>
        <tr>
          <td>Committers</td>
          <td>tmarshall</td>
          <td>Thomas Tauber-Marshall</td>
        </tr>
        <tr>
          <td>.</td>
          <td>dknupp</td>
          <td>David Knupp</td>
        </tr>
        <tr>
          <td>.</td>
          <td>mmokhtar</td>
          <td>Mostafa Mokhtar</td>
        </tr>
        <tr>
          <td>.</td>
          <td>joemcdonnell</td>
          <td>Joe McDonnell</td>
        </tr>
        <tr>
          <td>.</td>
          <td>zamsden</td>
          <td>Zach Amsden</td>
        </tr>
        <tr>
          <td>.</td>
          <td>bikram</td>
          <td>Bikramjeet Vig</td>
        </tr>
        <tr>
          <td>Extra</td>
          <td>.</td>
          <td>.</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/February2017">February 2017</a></li>
        <li><a href="http://wiki.apache.org/incubator/November2016">November 2016</a></li>
        <li><a href="http://wiki.apache.org/incubator/August2016">August 2016</a></li>
        <li><a href="http://wiki.apache.org/incubator/April2016">April 2016</a></li>
        <li><a href="http://wiki.apache.org/incubator/March2016">March 2016</a></li>
        <li><a href="http://wiki.apache.org/incubator/January2016">January 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>2016-06-09 (<a href="https://issues.apache.org/jira/browse/PODLINGNAMESEARCH-96">PODLINGNAMESEARCH-96</a>)</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>
            <tr>
              <td>2015-12-04</td>
              <td>If request from anywhere to become a stand-alone PMC, then assess the
                  fit with the ASF, and create the lists and modules under the
                  incubator address/module names if accepted.</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-12-04</td>
              <td>Ask infrastructure to create source repository modules
                  and grant the committers karma.</td>
            </tr>
            <tr>
              <td>2015-12-04</td>
              <td>Ask infrastructure to set up and archive mailing lists.</td>
            </tr>
            <tr>
              <td>2015-12-04</td>
              <td>Ask infrastructure to set up issue tracker (JIRA, Bugzilla).</td>
            </tr>
            <tr>
              <td>2015-12-04</td>
              <td>Ask infrastructure to set up wiki (Confluence, Moin).</td>
            </tr>
            <tr>
              <td>2017-03-13</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>2016-07-12</td>
              <td>Subscribe all Mentors on the pmc and general lists.</td>
            </tr>
            <tr>
              <td>2016-07-13</td>
              <td>Give all Mentors access to the incubator SVN 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-04</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>2016-06-23 (private e-mail from Cloudera legal)</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>2016-08-09</td>
              <td>Check and make sure that the files that have been donated have been
              updated to reflect the new ASF copyright.
              (<a href="https://git1-us-west.apache.org/repos/asf/incubator-impala/repo?p=incubator-impala.git;a=commit;h=ffa7829b70933932d1ba5dfad9b6dc18d04e10e0">in this commit</a>)</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>2016-09-14</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>2016-09-14</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>2016-08-18</td>
              <td>Check that all active committers have submitted a contributors
                  agreement.</td>
            </tr>
            <tr>
              <td>2016-08-18</td>
              <td>Add all active committers in the STATUS file.</td>
            </tr>
            <tr>
              <td>2016-08-18</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">
<p>
            <em>Add project specific tasks here.</em>
          </p>
</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">
<p>
            <em>Add project specific tasks here.</em>
          </p>
</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>
