<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8"/>
    <title>The Apache Incubator Cookbook</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">
    <meta name="keywords" content="">
    <meta name="generator" content="JBake">

    <!-- Le styles -->
    <link href="../css/incubator.css" rel="stylesheet">
    <link href="../css/bootstrap.css" rel="stylesheet">
    <link href="../css/asciidoctor.css" rel="stylesheet">
    <link href="../css/base.css" rel="stylesheet">
    <link href="../css/prettify.css" rel="stylesheet">

    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="../js/html5shiv.min.js"></script>
    <![endif]-->

    <!-- Fav and touch icons -->
    <!--<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
    <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">-->
    <link rel="shortcut icon" href="https://www.apache.org/favicon.ico">
    <script src="https://www.apachecon.com/event-images/snippet.js"></script>
  </head>
  <body onload="prettyPrint()">
    <div id="wrap">
   


	<!-- Fixed navbar -->
    <div class="navbar navbar-default navbar-fixed-top" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="/"><i class="icon-home"></i>Apache Incubator</a>
        </div>
        <div class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Policies <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="/policy/incubation.html">Incubation Policy</a></li>
                <li><a href="/ip-clearance/">Intellectual Property Clearance</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Proposals <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="/guides/proposal.html">A Guide To Proposal Creation</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Podling Guides <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="/cookbook">Cookbook</a></li>
              
                <li><hr><a href="/guides/roles_and_responsibilities.html">Roles and Responsibilities</a></li>
                <li><a href="/guides/committer.html">Committers</a></li>
                <li><a href="/guides/ppmc.html">Podling Project Management Committee</a></li>
                <li><a href="/guides/community.html">Guide to Successful Community Building</a></li>

                <li><hr><a href="/guides/branding.html">Incubator Branding Guide</a></li>
                <li><a href="/guides/publicity.html">Podling Publicity/Media Guidelines</a></li>
                <li><a href="/guides/press-kit.html">Podling Press Kit</a></li>
              
                <li><hr><a href="/guides/transitioning_asf.html">Initial Code Import</a></li>
                <li><a href="/guides/names.html">Podling Name Search Guide</a></li>
                <li><a href="/guides/ip_clearance.html">Podling IP Clearance</a></li>

                <li><hr><a href="/guides/sites.html">Podling Websites</a></li>
                <li><a href="/guides/podling_sourcecontrol.html">Podling Source Control</a></li>

                <li><hr><a href="/guides/releasemanagement.html">Release Management</a></li>
                <li><a href="/guides/distribution.html">Release Distribution</a></li>
              
                <li><hr><a href="/guides/graduation.html">Guide to Successful Graduation</a></li>
                <li><a href="/guides/retirement.html">Guide to Retirement</a></li>
                <li><a href="/guides/transferring.html">Transferring Resources out of the Incubator</a></li>

                <li><hr><a href="/projects/#current">Current Podlings</a></li>
                <li><a href="/clutch/">Clutch Report</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">PMC Guides <b class="caret"></b></a>
              <ul class="dropdown-menu">     
                <li><a href="/guides/participation.html">Guide to Participation</a></li>
                <li><a href="/guides/lists.html">Incubator Mailing Lists Guide</a></li>

                <li><a href="/guides/chair.html">Incubator Chair Guide</a></li>  
                <li><a href="/guides/mentor.html">Mentors' Guide</a></li>

                <li><hr><a href="/guides/website.html">Updating the top-level Incubator website</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                <li><a href="https://www.apache.org/dev/">Developer Documentation</a></li>
                <li><a href="https://www.apache.org/foundation/">Foundation</a></li>
                <li><a href="https://www.apache.org/legal/">Legal</a></li>
		<hr/>
                <li><a href="https://www.apache.org/licenses/">License</a></li>
		<li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li>
		<li><a href="https://www.apache.org/security/">Security</a></li>
                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
		<li><a href="https://www.apache.org/events/current-event">Current Events</a></li>
              </ul>
            </li>
            <li><a href="/faq.html">FAQs</a></li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
    </div>
    <div class="container">
      <div class="row">
        <div class="col-md-4 vcenter"><a href="https://www.apache.org/"><img src="https://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" border="0" style="margin-top: 2px" width="200"></a></div>
        <div class="col-md-4 vcenter"><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" width="256"></a></div>
        <div class="col-md-4 vcenter">
	    <a href="https://www.apache.org/foundation/contributing.html"><img src="https://www.apache.org/images/SupportApache-small.png" height="64" width="64"></a>
	    &nbsp;&nbsp;&nbsp;&nbsp;
	    <a class="acevent" data-format="square" data-width="100" data-mode="light" data-event="random"></a>
	</div>
      </div>
    </div>
    <div class="top-container container">


<div class="incubator-page-header">
    <h1>The Apache Incubator Cookbook</h1>
</div>

<div id="toc" class="toc">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#does_our_project_fit_the_apache_incubator">Does our project fit the Apache Incubator?</a></li>
<li><a href="#what_are_the_steps_to_becoming_an_apache_software_foundation_top_level_project">What are the steps to becoming an Apache Software Foundation Top-Level Project?</a></li>
<li><a href="#communicating_with_the_incubator">Communicating with the Incubator</a></li>
<li><a href="#finding_a_champion_and_mentors">Finding a champion and mentors</a></li>
<li><a href="#creating_an_incubation_proposal">Creating an incubation proposal</a></li>
<li><a href="#discussing_the_incubation_proposal">Discussing the incubation proposal</a></li>
<li><a href="#voting_on_the_incubation_proposal">Voting on the Incubation Proposal</a></li>
<li><a href="#podling_infrastructure_setup">Podling Infrastructure Setup</a></li>
<li><a href="#publicity_and_announcements">Publicity and Announcements</a></li>
<li><a href="#importing_the_initial_code">Importing the Initial Code</a></li>
<li><a href="#community_building">Community building</a></li>
<li><a href="#podling_releases">Podling Releases</a></li>
<li><a href="#two_phase_vote_on_podling_releases">Two-phase vote on Podling Releases</a></li>
<li><a href="#podling_top_level_project_what_are_the_differences">Podling, Top-level Project: what are the differences?</a></li>
<li><a href="#graduation_readiness_assessment">Graduation Readiness Assessment</a></li>
<li><a href="#graduation_discussion">Graduation discussion</a></li>
<li><a href="#transfering_trademarks_to_the_asf">Transfering Trademarks to the ASF</a></li>
<li><a href="#graduation_vote">Graduation vote</a></li>
<li><a href="#asf_board_resolution">ASF Board Resolution</a></li>
<li><a href="#post_graduation_tasks">Post-graduation tasks</a></li>
</ul>
</div>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>This cookbook, combined with our <a href="http://incubator.apache.org">homepage</a>, provides the information that you need to incubate a project at the ASF.</p>
</div>
<div class="paragraph">
<p>It is <strong>the</strong> central point for answers to all questions related to incubation. It provides an overview of the incubation goals and process, and links to more detailed information.</p>
</div>
<div class="paragraph">
<p>It is organized in chronological order of the steps that lead from incubating project acceptance to graduation as a Top-Level Project (TLP).</p>
</div>
<div class="paragraph">
<p>We welcome feedback about the cookbook, either through the <a href="https://lists.apache.org/list.html?<a href="mailto:general@incubator.apache.org">general@incubator.apache.org</a>">general@incubator.a.o</a> email list
or in the <a href="https://issues.apache.org/jira/browse/INCUBATOR-234">INCUBATOR-234</a> ticket. You can also submit patches to <a href="https://github.com/apache/incubator/tree/master/pages/cookbook">this repository</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="does_our_project_fit_the_apache_incubator">Does our project fit the Apache Incubator?</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Apache Software Foundation (ASF) <em>provides software for the public good</em>, as explained in our <a href="https://blogs.apache.org/foundation/entry/the-apache-software-foundation-2018">vision statement</a> from 2018.</p>
</div>
<div class="paragraph">
<p>Our projects operate according to <a href="http://www.apache.org/theapacheway/index.html">The Apache Way</a>, a set of principles and best practices.</p>
</div>
<div class="paragraph">
<p>We put a strong emphasis on <em>Community Over Code</em>, <em>fierce independence</em> from companies and organizations, and <em>openness</em> in all aspects of our work.</p>
</div>
<div class="paragraph">
<p>Donating your project to the ASF means giving up control of it, and its trademarks, if any. You&#8217;ll be very welcome to participate in the project, but without a special status beyond being part of its Project Management Committee (PMC). The good news is that your project can then take a life of its own, with potentially a much broader reach, due to the ASF&#8217;s independence and emphasis on project sustainability.</p>
</div>
<div class="paragraph">
<p>Assuming your project fits this mindset, we do not link acceptance of your project to what it does, as the ASF on purpose does not have a technical strategy. If it&#8217;s very similar to <a href="https://projects.apache.org/">one of our existing projects</a>, we will probably ask you to consider joining that project. Still, some of our projects exist for similar purposes, and that&#8217;s not necessarily a problem.</p>
</div>
<div class="paragraph">
<p>To give our "podlings" (incubating projects) the best chances of success, we usually ask them to enter the Incubator with at least the start of a community built around an existing codebase.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="what_are_the_steps_to_becoming_an_apache_software_foundation_top_level_project">What are the steps to becoming an Apache Software Foundation Top-Level Project?</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The goal of incubation is to become an Apache Software Foundation (ASF) Top-Level Project (TLP).</p>
</div>
<div class="paragraph">
<p>See the <a href="https://www.apache.org/foundation/how-it-works.html">How the ASF works</a> page for what this means and what the various roles (committers, PMC members etc.) mean.</p>
</div>
<div class="paragraph">
<p>To achieve this, an incoming project ("podling") goes through the following steps:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Find a champion and incubation mentors and discuss and prepare an incubation proposal</p>
</li>
<li>
<p>Decide to incubate at the ASF</p>
</li>
<li>
<p>Discuss the proposal with the Incubator PMC</p>
</li>
<li>
<p>If needed, refine the list of initial committers and mentors in the proposal</p>
</li>
<li>
<p>if needed, refine the proposal based on Incubator PMC feedback</p>
</li>
<li>
<p>Let the Incubator PMC vote on the proposal</p>
</li>
<li>
<p>If the vote is to accept the project, set up the podling&#8217;s infrastructure</p>
</li>
<li>
<p>Start building a community around the podling&#8217;s code</p>
</li>
<li>
<p>Invite new committers and PPMC members</p>
</li>
<li>
<p>Make podling releases, and document and refine both the code and the release process</p>
</li>
<li>
<p>When you feel ready to graduate, assess the podling&#8217;s readiness with the incubation mentors</p>
</li>
<li>
<p>If applicable, prepare the transfer of existing trademarks to the ASF</p>
</li>
<li>
<p>Discuss graduation with the Incubator PMC</p>
</li>
<li>
<p>Start the graduation vote with the Incubator PMC, leading to an ASF Board resolution to establish the TLP</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Described above is the "happy case". Things might happen in a slightly different order, but it gives an overview of the typical incubation process.</p>
</div>
<div class="paragraph">
<p>Here are more details about these steps:</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="communicating_with_the_incubator">Communicating with the Incubator</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Incubator PMC manages the Incubator and helps incoming projects in their journey through incubation.</p>
</div>
<div class="paragraph">
<p>To communicate with the Incubator PMC, use the public link:+https://lists.apache.org/list.html?general@incubator.apache.org [general@incubator.a.o] mailing list. That page has links to subscribe to the list.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="finding_a_champion_and_mentors">Finding a champion and mentors</h2>
<div class="sectionbody">
<div class="paragraph">
<p>To enter the Incubator, your project needs a <em>champion</em> and at least two or three <em>mentors</em>. These people MUST be Incubator PMC members, which ASF Members can join just by asking.</p>
</div>
<div class="paragraph">
<p>The Champion helps the incoming podling in the process of creating their proposal and acts as a liaison between the podling and the Incubator PMC for the initial steps, at least until the podling&#8217;s proposal is accepted. They may stay on to act as a mentor after that.</p>
</div>
<div class="paragraph">
<p>The Mentors accompany the podling through all phases that lead to graduation as a top-level project.</p>
</div>
<div class="paragraph">
<p>The starting point is usually to find a Champion. For that you might write to the general@incubator.a.o list
with a brief description of your project, with relevant links, mentioning that you are looking for a Champion and
trying to get people interested. Or, if you know any ASF Members or Incubation Mentors, ask them directly if they
would be willing to help.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="creating_an_incubation_proposal">Creating an incubation proposal</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Champion helps the podling prepare an incubation proposal that describes the incoming project for the initial discussions with the Incubator PMC.</p>
</div>
<div class="paragraph">
<p>The proposal needs to include several standard sections: see the <a href="https://cwiki.apache.org/confluence/display/INCUBATOR/New+Podling+Proposal">podling proposal template</a>.</p>
</div>
<div class="paragraph">
<p>Prior proposals are kept on the <a href="https://cwiki.apache.org/confluence/display/INCUBATOR/Proposals">Incubator wiki</a>. They can be consulted as examples, keeping in mind that the proposal template mentioned above is the current reference for new proposals.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="discussing_the_incubation_proposal">Discussing the incubation proposal</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once the proposal is ready, the podling representatives send it to the general@incubator.a.o list for discussion, with a subject line like</p>
</div>
<div class="literalblock">
<div class="content">
<pre>[DISCUSS] Foo Proposal</pre>
</div>
</div>
<div class="paragraph">
<p>to raise the Incubator PMC&#8217;s attention.</p>
</div>
<div class="paragraph">
<p>The discussion often leads to small or large changes to the proposal.</p>
</div>
<div class="paragraph">
<p>There&#8217;s no set duration for this discussion phase. It usually lasts for a few days until the discussion dies down and all discussion points have been addressed.</p>
</div>
<div class="paragraph">
<p>For recent discussions threads see:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://lists.apache.org/thread.html/7ed194c45460a3941ae6713b20e742ec7af398c5414de7b17d188c3b@%3Cgeneral.incubator.apache.org%3E">Nuttx proposal</a> (in progress)</p>
</li>
<li>
<p><a href="https://lists.apache.org/thread.html/1cf79ef65888f695b4b925fd67ef8a2b845f6b0931c251a0ff1115e1@%3Cgeneral.incubator.apache.org%3E">StreamPipes proposal</a> (accepted)</p>
</li>
<li>
<p><a href="https://lists.apache.org/thread.html/ff9874f5353d319152f09aa9c1aa1a673b84acdaeb9932432d58d5ab@%3Cgeneral.incubator.apache.org%3E">Sparkr proposal</a> (withdrawn)</p>
</li>
<li>
<p><a href="https://lists.apache.org/thread.html/21c5453b40765cf1d5a06540fcf6d76c0d5b6b7df7ade5c29d31aa3e@%3Cgeneral.incubator.apache.org%3E">TubeMQ proposal</a> (accpeted)</p>
</li>
<li>
<p><a href="https://lists.apache.org/thread.html/dbdbc6bd8e238d9dbf16604d5fa13500523d6e812fcd863444f99842@%3Cgeneral.incubator.apache.org%3E">MetaObjects proposal</a> (on hold)</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="voting_on_the_incubation_proposal">Voting on the Incubation Proposal</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once the discussion phase is finished, the Champion or a podling representative starts a [VOTE] thread on the general@incubator.a.o list.</p>
</div>
<div class="paragraph">
<p>The vote happens according to the <a href="https://www.apache.org/foundation/voting">ASF voting rules</a>. In short, it takes place on the Incubator email list, lasts at least 72 hours, and is a majority vote by the Incubator PMC members, with others being welcome to cast votes.</p>
</div>
<div class="paragraph">
<p>TODO link to recent votes as examples</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="podling_infrastructure_setup">Podling Infrastructure Setup</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once the Incubator PMC votes to establish the podling, its infrastructure can be set up.</p>
</div>
<div class="paragraph">
<p>Usually, the Champion or incubation mentors drive this process. However, it can also be driven by podling community members if they know how to proceed.</p>
</div>
<div class="paragraph">
<p>See <a href="https://infra.apache.org/infra-incubator.html">Infra and the Incubator</a> for detailed instructions.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="publicity_and_announcements">Publicity and Announcements</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The project can <em>not</em> issue press releases or other public statements about joining the ASF before the Incubator PMC accepts the podling.</p>
</div>
<div class="paragraph">
<p>There are also some restrictions about how podlings can advertise themselves and  especially around press releases related to podlings. The <a href="http://incubator.apache.org/guides/branding.html">Incubator Branding Guide</a> and <a href="https://incubator.apache.org/guides/publicity.html">Apache Podling Publicity/Media Guidelines</a> have more details.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="importing_the_initial_code">Importing the Initial Code</h2>
<div class="sectionbody">
<div class="paragraph">
<p>A specific process exists to donate code to the ASF, which podlings also
need to follow, based on <a href="https://www.apache.org/licenses/software-grant.txt">Software Grants</a> and/or <a href="https://www.apache.org/licenses/cla-corporate.txt">CCLAs</a>.</p>
</div>
<div class="paragraph">
<p>The <a href="http://incubator.apache.org/guides/transitioning_asf.html">Initial Code Import</a> guide has more details about this.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="community_building">Community building</h2>
<div class="sectionbody">
<div class="paragraph">
<p>During incubation, the podling is expected to build and expand its community, which includes voting in new committers and PPMC members.</p>
</div>
<div class="paragraph">
<p>Discussions of candidates and votes happen on the podling&#8217;s private PPMC mailing list. That&#8217;s one of the few uses of that list as, generally, all discussions happen in the open.</p>
</div>
<div class="paragraph">
<p>Expanding and especially renewing project communities are essential parts of the ASF&#8217;s governance, as they foster project durability.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="podling_releases">Podling Releases</h2>
<div class="sectionbody">
<div class="paragraph">
<p>During incubation, we expect a podling to make <strong>several software releases</strong> that gradually progress towards being fully conformant to the <a href="http://www.apache.org/legal/release-policy.html">ASF Release Policy</a>. Producing fully-conformant releases is a condition for graduation.</p>
</div>
<div class="paragraph">
<p>Podling releases must also include the word "incubating" in any release file names and include a DISCLAIMER or DISCLAIMER-WIP as per the
<a href="https://incubator.apache.org/guides/releasemanagement.html#choice_of_disclaimers">Incubator Releases Guide</a>,
to prevent any confusion as to the project’s status. As podlings are not yet "real" ASF projects, it is important to set expectations appropriately.</p>
</div>
<div class="paragraph">
<p>Note that Apache Releases consist of source code only. However, it is common for our projects to also distribute
<a href="http://www.apache.org/legal/release-policy.html#compiled-packages">compiled packages</a> along with their releases, as a convenience to users of the application. The focus is on the actual
source code releases, and all distributed compiled packages are based on those "official" releases.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="two_phase_vote_on_podling_releases">Two-phase vote on Podling Releases</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Voting on podling releases happens in two phases:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>First, the podling votes on the release on their dev mailing list. The main goal of this vote is for the podling community
to practice and learn voting on releases. The vote is successful if there are at least three +1 votes from PPMC members,
and more +1 than -1 votes from PPMC members.</p>
</li>
<li>
<p>Then, if that first vote is successful, the Incubator PMC holds a vote on the Incubator general mailing list. This is required
to make the vote an Act of the Foundation, as for all ASF releases.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Report votes from the podling dev list to the Incubator PMC vote in the Incubator PMC [VOTE] message, by explicitly mentioning the podling vote result
and including a <a href="http://lists.apache.org">lists.apache.org</a> link to the podling vote tally. This
allows votes from mentors and other Incubator PMC members to be binding in the Incubator PMC vote, without people having to vote twice.</p>
</div>
<div class="paragraph">
<p>Both the podling and Incubator votes follow the standard <a href="https://www.apache.org/foundation/voting">ASF voting principles</a>: they
are majority votes that last at least 72 hours, and if people vote several times only their last vote counts.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="podling_top_level_project_what_are_the_differences">Podling, Top-level Project: what are the differences?</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Top-level projects (TLPs) are full-blown ASF projects, each governed by their own <a href="http://www.apache.org/foundation/governance/pmcs">PMC</a> and reporting to the ASF&#8217;s <a href="https://www.apache.org/foundation/board/">Board of Directors</a>.</p>
</div>
<div class="paragraph">
<p>Podlings are "TLPs in training". Most of what they do is the same as TLPs, especially as they progress in their incubation journey.</p>
</div>
<div class="paragraph">
<p>The main differences are:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>As opposed to PMCs, podlings cannot make formal decisions on the ASF&#8217;s behalf as they are not formally part of the ASF&#8217;s structure. They are not mentioned in <a href="https://www.apache.org/foundation/bylaws">the ASF&#8217;s bylaws</a> for example. This means that the Incubator PMC needs to act as a proxy for the podlings to formalize things like ASF releases and make them <a href="https://blogs.apache.org/foundation/entry/success-at-apache-the-apache1">Acts of the Foundation</a>.</p>
</li>
<li>
<p>As a consequence, a podling has a PPMC (Podling Project Management Committee) which operates like the PMC of a top-level project but needs to delegate a few things, like final votes on ASF Releases, to the Incubator PMC.</p>
</li>
<li>
<p>The decision to elect people as committers or PPMC members, or both, is similar to what TLPs do. A podling can decide that candidates are elected to the PPMC directly, or make them committers first and wait a bit to "promote" them as PPMC members. Committers have no formal decision power, so a two-stage process is often preferred, but it&#8217;s not a requirement. Read <a href="https://www.apache.org/foundation/how-it-works.html">How the ASF works</a> for more information about this.</p>
</li>
<li>
<p>TLPs report to the <a href="https://www.apache.org/foundation/board/reporting">ASF Board of Directors</a>, whereas podlings report to the  <a href="https://cwiki.apache.org/confluence/display/INCUBATOR/Reports">Incubator PMC</a>. Both report monthly initially, then quarterly.</p>
</li>
<li>
<p>Each TLP has a <a href="https://apache.org/dev/pmc.html">PMC Chair</a> who acts as a liaison between the TLP and the Board. PMC Chairs are <em>not</em> project leaders. It&#8217;s an administrative role even though they get a VP title due to the ASF&#8217;s organizational structure. Podlings do not have this role: incubation mentors are volunteer community members  who act as the liaison between the podling and the Incubator PMC.</p>
</li>
<li>
<p>Podling releases require a two-phase vote as described elsewhere in this cookbook.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>The ASF strongly encourages projects to grow and renew their roster regularly, to foster project sustainability. Both podlings and TLPs should be actively looking to elect new committers and PMC members by keeping an eye on who&#8217;s active in their communities.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="graduation_readiness_assessment">Graduation Readiness Assessment</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once the podling community starts feeling ready to graduate, they should make a self-assessment of that readiness.</p>
</div>
<div class="paragraph">
<p>The <a href="https://community.apache.org/apache-way/apache-project-maturity-model.html">Maturity Model</a> maintained by the ASF&#8217;s Community Development PMC is a good canvas for that and can help the podling community discover things that might have been overlooked during incubation. The Maturity Model page includes links to examples from graduate podlings.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="graduation_discussion">Graduation discussion</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once the community and its incubation mentors feel that the podling is ready to graduate, based on their readiness self-assessment, a mentor or a member of the PPMC starts a [DISCUSS] thread on the Incubator general email list, proposing graduation and asking the Incubator PMC to review the podling.</p>
</div>
<div class="paragraph">
<p>It&#8217;s best to include the graduation resolution in this discussion, to be ready for the vote that follows.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="transfering_trademarks_to_the_asf">Transfering Trademarks to the ASF</h2>
<div class="sectionbody">
<div class="paragraph">
<p>If the people or organizations that donated the podling code to the ASF own trademarks that the podling needs, they must transfer the trademarks to the ASF before the podling can graduate.</p>
</div>
<div class="paragraph">
<p>TODO link to details</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="graduation_vote">Graduation vote</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once the discussion dies down on the graduation proposal, a mentor or a member of the PPMC starts a [VOTE] thread on the Incubator general mailing list, in which Incubator PMC Members cast their votes whether to recommend graduation to the ASF&#8217;s Board of Directors.</p>
</div>
<div class="paragraph">
<p>This vote follows the standard <a href="https://www.apache.org/foundation/voting">ASF voting principles</a>. It&#8217;s a majority vote that lasts at least 72 hours, and if people
vote several times only their last vote counts.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="asf_board_resolution">ASF Board Resolution</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once the Incubator PMC votes to graduate a podling, the IPMC sends the Board Resolution that was created for the vote to the ASF&#8217;s Board of Directors.</p>
</div>
<div class="paragraph">
<p>The Board currently meets on the third Wednesday of every month and votes on such resolutions during a regular meeting.</p>
</div>
<div class="paragraph">
<p>The Board vote is effective immediately, although the <a href="https://www.apache.org/foundation/board/calendar.html">public minutes</a> of the Board meeting appear later, usually within a month.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="post_graduation_tasks">Post-graduation tasks</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Once graduated, the podling needs to reflect its new status on the Incubator status pages and make a few changes to its resources and processes.</p>
</div>
<div class="paragraph">
<p>The <a href="http://incubator.apache.org/guides/transferring.html">Life after Graduation</a> guide lists the corresponding tasks.</p>
</div>
</div>
</div>

		</div>
		<div id="push"></div>
    </div>

    <div id="footer">
      <div class="container">
          <p class="muted credit">&copy; 2024 The Apache Software Foundation | Licensed under the Apache License, Version 2.0.<br/>
          Apache Incubator, Apache, the Apache feather logo, and the Apache Incubator project logo are trademarks or registered trademarks of The Apache Software Foundation.</p>
      </div>
    </div>
    <script src="../js/jquery-1.11.1.min.js"></script>
    <script src="../js/bootstrap.min.js"></script>
    <script src="../js/prettify.js"></script>
    <script src="../js/readingTime.js"></script>
    <script src="../js/incubator.js"></script>
  </body>
</html>
