<!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 - MXNet - 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='MXNet+Project+Incubation+Status'><img src="../images/redarrow.gif" />MXNet 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 MXNet project has graduated from the Apache Incubator on 2022-09-21.</span></p>
</div>
        <h2 id='Description'><img src="../images/redarrow.gif" />Description</h2>
<div class="section-content">
<p>MXNet is an open-source deep learning framework that allows you to define, train, and deploy deep neural networks on a wide array of devices, from cloud infrastructure to mobile devices. It is highly scalable, allowing for fast model training, and supports a flexible programming model and multiple languages. </p>
</div>
        <h2 id='News'><img src="../images/redarrow.gif" />News</h2>
<div class="section-content">
<ul>
        <li>2017-01-23 Project enters incubation.</li>
        <li>2022-04-05 Update mentors, PPMC and committers.</li>
        <li>2022-04-06 Fix format of mailing lists. Update wiki link.</li>
        <li>2022-08-20 Update PPMC and committers, added incubator report links.</li>
        <li>2022-09-21 Board approves resolution to establish Apache MXNet project.</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://mxnet.incubator.apache.org/">http://mxnet.incubator.apache.org/</a>
          </td>
        </tr>
        <tr>
          <td> </td>
          <td>wiki</td>
          <td id="wiki"><a href="https://cwiki.apache.org/confluence/display/MXNET">https://cwiki.apache.org/confluence/display/MXNET</a></td>
        </tr>
        <tr>
          <td>Social Media</td>
          <td>Blog</td>
          <td id="blog"><a href="https://medium.com/apache-mxnet">MXNet Blog</a></td>
        </tr>
        <tr>
          <td> </td>
          <td>YouTube</td>
          <td id="blog"><a href="https://www.youtube.com/channel/UCQua2ZAkbr_Shsgfk1LCy6A">MXNet YouTube channel</a></td>
        </tr>
        <tr>
            <td> </td>
            <td>Reddit</td>
            <td id="blog"><a href="https://www.reddit.com/r/mxnet">MXNet Reddit</a></td>
        </tr>
        <tr>
          <td> </td>
          <td>Twitter</td>
          <td id="blog"><a href="https://twitter.com/ApacheMXNet">Twitter @ApacheMXNet</a></td>
        </tr>
        <tr>
          <td>Mailing list</td>
          <td>dev</td>
          <td id="mail-dev"><code>dev@mxnet.apache.org</code> (<a href="https://lists.apache.org/list.html?dev@mxnet.apache.org">archive</a>)</td>
        </tr>
        <tr>
          <td>.</td>
          <td>user</td>
          <td id="mail-user"><code>user@mxnet.apache.org</code> (<a href="https://lists.apache.org/list.html?user@mxnet.apache.org">archive</a>)</td>
        </tr>
        <tr>
          <td>.</td>
          <td>commits</td>
          <td id="mail-commits"><code>commits@mxnet.apache.org</code> (<a href="https://lists.apache.org/list.html?commits@mxnet.apache.org">archive</a>)</td>
        </tr>
        <tr>
          <td>.</td>
          <td>issues</td>
          <td id="mail-issues"><code>issues@mxnet.apache.org</code> (<a href="https://lists.apache.org/list.html?issues@mxnet.apache.org">archive</a>)</td>
        </tr>
        <tr>
          <td>Bug tracking</td>
          <td>Github</td>
          <td id="tracker">
            <a href="https://github.com/apache/incubator-mxnet/issues">https://github.com/apache/incubator-mxnet/issues</a>
          </td>
        </tr>
        <tr>
          <td />
          <td>Jira</td>
          <td id="tracker">
            <a href="https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=237%26projectKey=MXNET">https://issues.apache.org/jira</a>
          </td>
        </tr>
        <tr>
          <td>Source code</td>
          <td>Git</td>
          <td id="git">
            <a href="https://github.com/apache/incubator-mxnet">https://github.com/apache/incubator-mxnet</a>
          </td>
        </tr>
	<tr>
	  <td>
	    Mentors
	  </td>
	  <td>
	    bob
	  </td>
	  <td>
	    Bob Paulin
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    kamaci
	  </td>
	  <td>
	    Furkan KAMACI
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    jasondai
	  </td>
	  <td>
	    Jason Dai
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    weimer
	  </td>
	  <td>
	    Markus Weimer
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    kezhenxu94
	  </td>
	  <td>
	    Zhenxu Ke
	  </td>
	</tr>
	<tr>
	  <td>
	    PPMC
	  </td>
	  <td>
	    anirudh2290
	  </td>
	  <td>
	    Anirudh Subramanian
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    bingxu
	  </td>
	  <td>
	    Bing Xu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    cmeier
	  </td>
	  <td>
	    Carin Meier
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    pluskid
	  </td>
	  <td>
	    Chiyuan Zhang
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    cjolivier01
	  </td>
	  <td>
	    Chris Olivier
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    dickjc123
	  </td>
	  <td>
	    Dick Carter
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    jxie
	  </td>
	  <td>
	    Eric Xie
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    haibin
	  </td>
	  <td>
	    Haibin Lin
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    bayard
	  </td>
	  <td>
	    Henri Yandell
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    hliu
	  </td>
	  <td>
	    Hongliang Liu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    indhub
	  </td>
	  <td>
	    Indhu Bharathi
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    wkcn
	  </td>
	  <td>
	    Jackie Wu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    jianzhangzju
	  </td>
	  <td>
	    Jian Zhang
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    jevans
	  </td>
	  <td>
	    Joe Evans
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    jspisak
	  </td>
	  <td>
	    Joe Spisak
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    reminisce
	  </td>
	  <td>
	    Jun Wu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    lausen
	  </td>
	  <td>
	    Leonard Lausen
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    ldpe2g
	  </td>
	  <td>
	    Liang Depeng
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    lxn2
	  </td>
	  <td>
	    Ly Nguyen
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    madjam
	  </td>
	  <td>
	    Madan Jampani
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    marcoabreu
	  </td>
	  <td>
	    Marco de Abreu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    muli
	  </td>
	  <td>
	    Mu Li
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    codingcat
	  </td>
	  <td>
	    Nan Zhu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    nswamy
	  </td>
	  <td>
	    Naveen Swamy
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    ptrendx
	  </td>
	  <td>
	    Przemysław Trędak
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    qkou
	  </td>
	  <td>
	    Qiang Kou
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    lanking
	  </td>
	  <td>
	    Qing Lan
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    skm
	  </td>
	  <td>
	    Sandeep Krishnamurthy
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    sergeykolychev
	  </td>
	  <td>
	    Sergey Kolychev
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    zhasheng
	  </td>
	  <td>
	    Sheng Zha
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    yajiedesign
	  </td>
	  <td>
	    Shiwen Hu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    taolv
	  </td>
	  <td>
	    Tao Lv
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    terrychen
	  </td>
	  <td>
	    Terry Chen
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    thomasdelteil
	  </td>
	  <td>
	    Thomas Delteil
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    tqchen
	  </td>
	  <td>
	      Tianqi Chen
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    the
	  </td>
	  <td>
	    Tong He
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    ozawa
	  </td>
	  <td>
	    Tsuyoshi Ozawa
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    sxjscience
	  </td>
	  <td>
	    Xingjian Shi
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    liuyizhi
	  </td>
	  <td>
	    YiZhi Liu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    gengyifeng
	  </td>
	  <td>
	    Yifeng Geng
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    yzhang87
	  </td>
	  <td>
	    Yu Zhang
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    terrytangyuan
	  </td>
	  <td>
	    Yuan Tang
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    hotpxl
	  </td>
	  <td>
	    Yutian Li
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    zhreshold
	  </td>
	  <td>
	    Zhi Zhang
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    zihaolucky
	  </td>
	  <td>
	    Zihao Zheng
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    ziheng
	  </td>
	  <td>
	    Ziheng Jiang
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    ziyue
	  </td>
	  <td>
	    Ziyue Huang
	  </td>
	</tr>
	<tr>
	  <td>
	    Committers
	  </td>
	  <td>
	    aaronmarkham
	  </td>
	  <td>
	    Aaron Markham
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    alexzai
	  </td>
	  <td>
	    Alex Zai
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    anirudhacharya
	  </td>
	  <td>
	    Anirudh Acharya
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    akarbown
	  </td>
	  <td>
	    Anna Karbownik
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    astonz
	  </td>
	  <td>
	    Aston Zhang
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    bgawrych
	  </td>
	  <td>
	    Bartłomiej Gawrych
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    chaibapat25
	  </td>
	  <td>
	    Chaitanya Bapat
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    ciyongch
	  </td>
	  <td>
	    Ciyong Chen
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    zhengda
	  </td>
	  <td>
	    Da Zheng
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    kuoding
	  </td>
	  <td>
	    Ding Kuo
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    haoj
	  </td>
	  <td>
	    Hao Jin
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    hzfan
	  </td>
	  <td>
	    Haozheng Fan
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    iblis
	  </td>
	  <td>
	    Iblis Lin
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    jeremiedb
	  </td>
	  <td>
	    Jeremie Desgagne-Bouchard
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    arcadiaphy
	  </td>
	  <td>
	    Jiajun Wang
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    junrushao
	  </td>
	  <td>
	    Junru Shao
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    kedarb
	  </td>
	  <td>
	    Kedar Bellare
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    kellen
	  </td>
	  <td>
	      Kellen Sunderland
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    zhennan
	  </td>
	  <td>
	    Kevin Qin
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    roywei
	  </td>
	  <td>
	    Lai Wei
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    apeforest
	  </td>
	  <td>
	    Lin Yuan
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    manuseth
	  </td>
	  <td>
	    Manu Seth
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    moisesher
	  </td>
	  <td>
	    Moises Hernandez
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    hellonico
	  </td>
	  <td>
	    Nicolas Modrzyk
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    patriczhao
	  </td>
	  <td>
	    Patric Zhao
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    rahul003
	  </td>
	  <td>
	    Rahul Huilgol
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    roshrini
	  </td>
	  <td>
	    Roshani Nagmote
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    samskalicky
	  </td>
	  <td>
	    Sam Skalicky
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    srochel
	  </td>
	  <td>
	    Steffen Rochel
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    weichu
	  </td>
	  <td>
	    Wei Chu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    xidulu
	  </td>
	  <td>
	    Xi Wang
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    yangshi
	  </td>
	  <td>
	    Yang Shi
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    yuxihu
	  </td>
	  <td>
	    Yuxi Hu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    zachgk
	  </td>
	  <td>
	    Zach Kimberg
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    zha0q1
	  </td>
	  <td>
	    Zhaoqi Zhu
	  </td>
	</tr>
	<tr>
	  <td>
	    .
	  </td>
	  <td>
	    zhenghuijin
	  </td>
	  <td>
	    Zhenghui Jin
	  </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="https://wiki.apache.org/incubator/July2022">July 2022</a></li>
        <li><a href="https://wiki.apache.org/incubator/May2022">May 2022</a></li>
        <li><a href="https://wiki.apache.org/incubator/April2022">April 2022</a></li>
        <li><a href="https://wiki.apache.org/incubator/November2021">November 2021</a></li>
        <li><a href="https://wiki.apache.org/incubator/August2021">August 2021</a></li>
        <li><a href="https://wiki.apache.org/incubator/April2021">April 2021</a></li>
        <li><a href="https://wiki.apache.org/incubator/January2021">January 2021</a></li>
        <li><a href="https://wiki.apache.org/incubator/October2020">October 2020</a></li>
        <li><a href="https://wiki.apache.org/incubator/July2020">July 2020</a></li>
        <li><a href="https://wiki.apache.org/incubator/April2020">April 2020</a></li>
        <li><a href="https://wiki.apache.org/incubator/January2020">January 2020</a></li>
        <li><a href="https://wiki.apache.org/incubator/October2019">October 2019</a></li>
        <li><a href="https://wiki.apache.org/incubator/July2019">July 2019</a></li>
        <li><a href="https://wiki.apache.org/incubator/May2019">May 2019</a></li>
        <li><a href="https://wiki.apache.org/incubator/January2019">January 2019</a></li>
        <li><a href="https://wiki.apache.org/incubator/October2018">October 2018</a></li>
        <li><a href="https://wiki.apache.org/incubator/July2018">July 2018</a></li>
        <li><a href="https://wiki.apache.org/incubator/April2018">April 2018</a></li>
        <li><a href="https://wiki.apache.org/incubator/January2018">January 2018</a></li>
        <li><a href="https://wiki.apache.org/incubator/October2017">October 2017</a></li>
        <li><a href="https://wiki.apache.org/incubator/July2017">July 2017</a></li>
        <li><a href="https://wiki.apache.org/incubator/May2017">May 2017</a></li>
        <li><a href="https://wiki.apache.org/incubator/April017">April 2017</a></li>
        <li><a href="https://wiki.apache.org/incubator/March2017">March 2017</a></li>
        <li><a href="https://wiki.apache.org/incubator/February2017">February 2017</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>2017-02-02</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>n/a</td>
              <td>If request from an existing Apache project to adopt an external
                  package, then ask the Apache project for the SVN module and mail
                  address names.</td>
            </tr>
            <tr>
              <td>n/a</td>
              <td>If request from outside Apache to enter an existing Apache project,
                  then post a message to that project for them to decide on acceptance.</td>
            </tr>
            <tr>
              <td>2017-01-23</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>2017-01-24</td>
              <td>Ask infrastructure to set up and archive mailing lists.</td>
            </tr>
            <tr>
              <td>2017-07-28</td>
              <td>Transfer source code to Apache GitHub repository. </td>
            </tr>
            <tr>
              <td>2017-06-23</td>
              <td>Ask infrastructure to set up wiki (Confluence).</td>
            </tr>
            <tr>
              <td>2017-07-28</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>2017-01-24</td>
              <td>Subscribe all Mentors on the pmc and general lists.</td>
            </tr>
            <tr>
              <td>2017-01-24</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>2017-01-23</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>n/a</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>2017-05-21</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>
</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>....-..-..</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>....-..-..</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>2017-02-15</td>
              <td>Check that all active committers have submitted a contributors
                  agreement.</td>
               <!-- check http://people.apache.org/committer-index.html -->
            </tr>
            <tr>
              <td>2017-02-15</td>
              <td>Add all active committers in the relevant section above.</td>
            </tr>
            <tr>
              <td>2017-02-15</td>
              <td>Ask root for the creation of committers' accounts in
                  LDAP.</td>
              <!-- this may happen automatically as their ICLAs are filed.
                   If you are using git source control, ensure that all
                   committers are members of the 'incubator' group. -->
            </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>
