<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8"/>
    <title>Guide to Successful Graduation</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="page-header">
    <h1>Guide :: Guide to Successful Graduation</h1>
</div>

<div class="article-body">

Estimated Reading Time: <span class="eta"></span>

<p><div id="toc" class="toc">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#what_is_graduation">What is Graduation?</a></li>
<li><a href="#whether_to_graduate_to_subproject_or_to_top_level_project">Whether to Graduate to Subproject or to Top Level Project</a></li>
<li><a href="#before_you_graduate">Before You Graduate</a>
<ul class="sectlevel2">
<li><a href="#graduation_check_list">Graduation Check List</a></li>
<li><a href="#checking_the_status_file">Checking the Status File</a></li>
</ul>
</li>
<li><a href="#ensure_suitable_project_name_and_product_names">Ensure suitable project name and product names</a></li>
<li><a href="#creating_an_apache_release">Creating an Apache Release</a></li>
<li><a href="#creating_an_open_and_diverse_community">Creating an Open and Diverse community</a>
<ul class="sectlevel2">
<li><a href="#other_issues">Other Issues</a></li>
</ul>
</li>
<li><a href="#the_graduation_process">The Graduation Process</a>
<ul class="sectlevel2">
<li><a href="#graduating_to_a_top_level_project">Graduating to a Top Level Project</a></li>
<li><a href="#community_graduation_vote">Community Graduation Vote</a></li>
<li><a href="#preparing_a_charter">Preparing a Charter</a></li>
<li><a href="#the_recommendation_vote">The Recommendation Vote</a></li>
<li><a href="#submission_of_the_resolution_to_the_board">Submission of the Resolution to the Board</a></li>
<li><a href="#press_releases_for_new_tlps">Press Releases for new TLPs</a></li>
</ul>
</li>
<li><a href="#graduating_to_a_subproject">Graduating to a Subproject</a>
<ul class="sectlevel2">
<li><a href="#community_graduation_vote_2">Community Graduation Vote</a></li>
<li><a href="#subproject_acceptance_vote">Subproject Acceptance Vote</a></li>
<li><a href="#graduation_approval_vote">Graduation Approval Vote</a></li>
<li><a href="#final_steps">Final steps</a></li>
</ul>
</li>
</ul>
</div>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>The intent of this document is to help podlings
understand the process of
graduation and to offer some views about how to approach it.
It also links to the Incubator
<a href="http://incubator.apache.org/incubation/Incubation_Policy.html#Graduating_from_the_Incubator">exit policies</a>.
It is not an inflexible standard but represents a
consensus condensed from previous discussions on the
Incubator general list. It also describes some of
the first steps that should be taken after
graduation.</p>
</div>
<div class="paragraph">
<p><strong>This is just a guide. Policy is stated <a href="/policy/incubation.html">here</a>.</strong></p>
</div>
<div class="paragraph">
<p>Help to improve the system by posting a patch for
this document to the Incubator section of JIRA or a
comment to the <a href="lists.html#general_at_incubator.apache.org">general</a> list at
Incubator.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="what_is_graduation">What is Graduation?</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Graduation is the act of a podling becoming either a
subproject under an already existing Apache project, or
becoming a top level Apache project. Graduating is a
democratic process: in the end, it comes down to a <strong><a href="http://www.apache.org/foundation/voting.html">VOTE</a></strong>. Note
that during your stay in the Incubator, you are already busy
with the process of Graduating: by adopting Apache procedures,
growing and fostering your community, having (civil) fights
concerning code style (tabs versus spaces), cutting releases
and so forth. All these acts have an influence on your
project&#8217;s graduation.</p>
</div>
<div class="paragraph">
<p>The road to graduation is pretty clear: depending on whether your
project wants to become a top level project or join as a
subproject under an already existing project, the steps are
fairly simple but do take time and effort. This document
provides guidelines for making this process run smoothly.</p>
</div>
<div class="paragraph">
<p>This document is offered for guidance and education only.
Actual policy is documented in the <a href="../incubation/Incubation_Policy.html">Incubation PolicyGuide</a> in
<a href="../incubation/Incubation_Policy.html#Graduating_from_the_Incubator">this</a>
section. Please post any questions about graduation
to the <a href="lists.html#general_at_incubator.apache.org">general Incubator list</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="whether_to_graduate_to_subproject_or_to_top_level_project">Whether to Graduate to Subproject or to Top Level Project</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Each proposal has a <a href="/incubation/Roles_and_Responsibilities.html#Sponsor">Sponsor</a>.
The identity of the Sponsor indicates the natural
destination. For proposals sponsored by the <a href="/guides/roles_and_responsibilities.html#the_board">Board</a> or by
the
<a href="/guides/roles_and_responsibilities.html#incubator_project_management_committee_ipmc">IncubatorPMC (IPMC)</a>, this is a top level project. For others,
this is as a subproject of the sponsoring project. However, the
destination is fixed only on graduation, not entry. Projects
grow and evolve during the graduation process. As
graduation approaches, this original preference should be
reviewed based on where the project is now.</p>
</div>
<div class="paragraph">
<p>Graduation as a subproject is only possible if the
subproject still falls within the scope of the sponsoring project and
requires the consent of that project <a href="http://www.apache.org/foundation/how-it-works.html#structure">PMC</a>.
Graduation as a top level project requires the formation of the new
project by the <a href="/incubation/Roles_and_Responsibilities.html#board">Board</a>.</p>
</div>
<div class="paragraph">
<p>The <a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">IPMC</a>
will also express a democratic opinion. For those seeking
to graduate to a subproject this <strong><a href="http://www.apache.org/foundation/voting.html">VOTE</a></strong>
is to approve the
transfer. For those seeking to graduation as a top level
project, this will be a recommendation to the <a href="/incubation/Roles_and_Responsibilities.html#board">Board</a>.
Expect IPMC-ers to ask questions about the project
including about the choice of destination. This is part of
the normal process.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="before_you_graduate">Before You Graduate</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Before you start thinking about graduation, you need to make
sure you are ready and meet the requirements imposed on Apache projects.
This section will provide a short list for podlings to
determine if they meet the criteria for asking graduation.</p>
</div>
<div class="sect2">
<h3 id="graduation_check_list">Graduation Check List</h3>
<div class="paragraph">
<p>The following is a short checklist giving an overview, not
a substitute for reading the content below.</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Preparations</p>
<div class="ulist">
<ul>
<li>
<p>Complete (and sign off) tasks documented in the <a href="#notes-status">status file</a></p>
</li>
<li>
<p>Ensure <a href="#notes-names">suitable names</a> for project name and product names</p>
</li>
<li>
<p>Demonstrate ability to <a href="#releases">create Apache releases</a></p>
</li>
<li>
<p>Demonstrate <a href="#community">community readiness</a></p>
</li>
<li>
<p>Ensure <a href="/incubation/Roles_and_Responsibilities.html#Mentor">Mentors</a> and <a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">IPMC</a> have no <a href="#notes-issues">remaining issues</a></p>
</li>
</ul>
</div>
</li>
<li>
<p>Decide upon <a href="#subproject-or-top-level">destination</a></p>
</li>
<li>
<p>Prepare a <a href="#tlp-resolution">resolution</a> <strong>(top level candidates only)</strong>.</p>
</li>
<li>
<p><a href="#subproject-acceptance">Subproject acceptance <strong>VOTE</strong></a> by destination Project <strong>(subproject candidates only)</strong></p>
</li>
<li>
<p><a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">Incubator PMC (IPMC)</a>:</p>
<div class="ulist">
<ul>
<li>
<p>For top level candidates, this is a <a href="#ipmc-top-level-recommendation">recommendation <strong>VOTE</strong></a></p>
</li>
<li>
<p>For subproject candidates, this is a <a href="#subproject-graduation">graduation approval <strong>VOTE</strong></a></p>
</li>
</ul>
</div>
</li>
<li>
<p>Final <a href="#notes-on-hand-over">hand-over</a></p>
</li>
<li>
<p>Consider post graduation <a href="#project-first-steps">tasks</a></p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="checking_the_status_file">Checking the Status File</h3>
<div class="paragraph">
<p>The status file records and summarizes incubation-related
information on the podling. The
<a href="ppmc.html#Incubator_ASF_Board_Reports">PPMC</a> is
responsible for keeping this file current. Before you are
able to graduate, all tasks need to be completed.</p>
</div>
<div class="paragraph">
<p>The status file is a great way of keeping tabs on how your
project is doing and what needs to be done to meet the
graduation criteria. The <a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">Incubator PMC</a>
will check this
file when they vote on the graduation of your project.
Once all tasks are done and the listed criteria met, your
project may be ready for graduation.</p>
</div>
<div class="paragraph">
<p>The status file of the JUDDI project is <a href="http://incubator.apache.org/projects/juddi.html">one example</a>.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="ensure_suitable_project_name_and_product_names">Ensure suitable project name and product names</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Please read <a href="http://www.apache.org/foundation/marks/naming.html">detailed documentation here</a>.
The "Process for ensuring suitable project and product names" is mandatory for every podling which wants to
graduate.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="creating_an_apache_release">Creating an Apache Release</h2>
<div class="sectionbody">
<div class="quoteblock">
<blockquote>
<div class="paragraph">
<p>Release Early, Release Often</p>
</div>
</blockquote>
<div class="attribution">
&#8212; Eric Steven Raymond<br>
<cite>http://catb.org/esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s04.html</cite>
</div>
</div>
<div class="paragraph">
<p>There are two distinct parts to making releases:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>"Preparing a release" is something that is done by a release manager. Some documentation
refers to this as "cutting" a release. Preparing a release means following the project-specific
instructions for creating the release artifacts and putting them in a repository that is a
staging area for voting on and subsequently publishing the release.</p>
</li>
<li>
<p>"Publishing a release" is done after the podling and then the IPMC approve the release
that has been prepared, using a formal [VOTE] process. If the vote fails, the release manager
can prepare an improved release. Publishing means that the release artifacts are moved to the
official distribution area.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>It is an important step during your stay in the incubator to demonstrate the ability
to prepare and publish an Apache Release. That means the graduating podling:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Knows the licensing requirements of what code is going into your <strong>source release</strong></p>
</li>
<li>
<p>Knows where to stage the source release</p>
</li>
<li>
<p>Knows how to conduct votes on the releases</p>
</li>
<li>
<p>Knows how to remove links to old releases from its website</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Please read the <a href="releasemanagement.html">Incubator Release Management Guide</a> for hints, tips and guidelines
for making a release that will get approved by the
<a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">IPMC</a> without problems.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="creating_an_open_and_diverse_community">Creating an Open and Diverse community</h2>
<div class="sectionbody">
<div class="paragraph">
<p>A major criterion for graduation is to have developed an
open and diverse <a href="http://www.apache.org/foundation/glossary.html#Meritocracy">meritocratic</a>
community. Time has demonstrated that these kinds of
communities are more robust and productive than more
closed ones.</p>
</div>
<div class="paragraph">
<p>Apache projects are self-sustaining and self-governing
communities. Long term success and health require that
these communities understand how to:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>recruit users, developers, committers and PMCers</p>
</li>
<li>
<p>take responsible collective action</p>
</li>
<li>
<p>disagree in public on technical matters without destroying personal relationships</p>
</li>
<li>
<p>create an open, positive and inclusive atmosphere on the mailing lists</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Graduation tests whether (in the opinion of the <a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">IPMC</a>)
a podling has learned enough and is responsible enough to
sustain itself as such a community.</p>
</div>
<div class="paragraph">
<p>Read more on how to successfully build an open and diverse
community for your podling in the <a href="community.html">community guide</a>.</p>
</div>
<div class="paragraph">
<p>As a project grows, it needs to renew itself by accepting
new committers. A project needs to learn how it can
recruit new developers and committers into the community.
Accepting new committers usually increases the diversity
of the project. So, this process is very beneficial. <a href="community.html">Community building</a> requires
energy which could have been spent on code development, but
this cost is an important investment for the future of the
project.</p>
</div>
<div class="paragraph">
<p>The openness of the community is not only measured by the
number of contributors. Open and respectful discussions on
the mailing lists are vital. Ways to resolve technical
conflict without destroying personal relationships must be
learned. Learning to use mailing lists effectively is very
important. If this can be achieved, then you have shown to
be a lively, active and successful community. The future
looks bright.</p>
</div>
<div class="paragraph">
<p>The project is considered to have a diverse community when
it is not highly dependent on any single contributor
(there are at least three legally independent committers and
there is no single company or entity that is vital to the
success of the project). Basically this means that when a
project mostly consists of contributors from one company,
this is a sign of not being diverse enough. You can
mitigate this requirement by admitting more external
contributors to your project who have no tie to the
single entity.</p>
</div>
<div class="paragraph">
<p>Growing an open and diverse meritocratic community is not
something that just happens: it takes work. Read the <a href="community.html">building a community guide</a> for
guidelines, hints and tips on how you can accomplish this
for your project.</p>
</div>
<div class="sect2">
<h3 id="other_issues">Other Issues</h3>
<div class="paragraph">
<p>The Incubator relies more on people than rules: rather
than try to create rules to cover every circumstance,
rules are developed and codified as required. People
are trusted to evolve process and policy. This guide
can only document the most common issues and it is
possible that there are other concerns that may require
resolution that are not covered.</p>
</div>
<div class="paragraph">
<p>Podlings that are unsure if they are ready to graduate may want to consider completing the <a href="http://community.apache.org/apache-way/apache-project-maturity-model.html">Apache Project Maturity Model</a>.  You may find this to be a useful guide when looking at various factors in your podling&#8217;s community.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="the_graduation_process">The Graduation Process</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="graduating_to_a_top_level_project">Graduating to a Top Level Project</h3>
<div class="paragraph">
<p>Top level projects are created by the
<a href="/incubation/Roles_and_Responsibilities.html#board">Board</a>. The
<a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">Incubator Project Management Committee (IPMC)</a> can therefore only
recommend to the Board that the project is ready to
graduate to a top level project.</p>
</div>
<div class="paragraph">
<p>Graduation to a top level project requires:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>a charter for your project</p>
</li>
<li>
<p>a positive community graduation <strong><a href="http://www.apache.org/foundation/voting.html">VOTE</a></strong></p>
</li>
<li>
<p>a positive IPMC recommendation <strong><a href="http://www.apache.org/foundation/voting.html">VOTE</a></strong></p>
</li>
<li>
<p>the acceptance of the <a href="#tlp-resolution">resolution</a> by the Board</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>This process can take a while, since it typically sparks
some discussion inside the community and possibly in the
IPMC.</p>
</div>
<div class="paragraph">
<p>Here&#8217;s an estimated timeline for the graduation process.
It should help you understand when you should start
ramping up your community to get timely graduation and
make the process smooth.</p>
</div>
<div class="paragraph">
<p><span class="image"><img src="/images/graduation-timeline.png" alt="Graduation timeline"></span></p>
</div>
<div class="paragraph">
<p>For each event we scheduled one or two weeks. Even though
a <strong><a href="http://www.apache.org/foundation/voting.html">VOTE</a></strong>
is usually limited to 72 hours, you should prepare
for discussion and possibly having to cast a revote with a
revised proposal.</p>
</div>
</div>
<div class="sect2">
<h3 id="community_graduation_vote">Community Graduation Vote</h3>
<div class="paragraph">
<p>A community needs to be willing to govern itself
before it can become a top level project. A good way
to demonstrate this is through a free <strong><a href="http://www.apache.org/foundation/voting.html">VOTE</a></strong> (by the
community) on the graduation proposal.</p>
</div>
<div class="paragraph">
<p>This <strong>VOTE</strong> is not a requirement but is recommended. It
is unlikely that <a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">IPMC</a>members
will vote to approve graduation unless the <a href="/incubation/Roles_and_Responsibilities.html#Mentor">Mentors</a>
and community positively express their readiness for
graduation. It is wise to notify the
<a href="lists.html#general_at_incubator.apache.org">incubator general list</a> that the community vote is starting. Please do not CC the
vote to the general list as that creates confusion. Instead you can either:
- FWD the [VOTE] e-mail to the general list, or
- Send a different copy to the general list indicating that a graduation community [VOTE] is in progress</p>
</div>
</div>
<div class="sect2">
<h3 id="preparing_a_charter">Preparing a Charter</h3>
<div class="paragraph">
<p>So, in this case a suitable
<a href="/incubation/Roles_and_Responsibilities.html#board">Board</a> resolution should be
drawn up by the community advised by the
<a href="/incubation/Roles_and_Responsibilities.html#Mentor">Mentors</a>.
Committers can access the podling template for
resolutions in the
<a href="https://svn.apache.org/repos/private/committers/board/templates/podling-tlp-resolution.txt">committers svn repository</a>.  Your <a href="https://whimsy.apache.org/roster/ppmc/">whimsy roster</a> also includes a feature to draft a resolution.  Also, resolutions are included in the Board minutes, which are posted publicly
<a href="http://www.apache.org/foundation/board/calendar.html">here </a> . These contain numerous examples.</p>
</div>
<div class="paragraph">
<p>The original proposal and the status document should
be consulted when creating this document. Projects
evolve over time and some deviation from the original
proposal may well prove acceptable. The
<a href="/incubation/Roles_and_Responsibilities.html#board">Board</a>
resolution is the ultimate definition of the scope of
an Apache project. So it is important that it
reflects the vision for the project as it appears on
the eve of graduation.</p>
</div>
<div class="paragraph">
<p>A good resolution is neither too narrow nor too broad.
If the project&#8217;s scope is too narrow, then its
activities will be unnecessarily constrained. If a
project&#8217;s scope is too broad then it may lack focus
and suffer from governance issues.</p>
</div>
<div class="paragraph">
<p>If you read these resolutions you also see that you
need to appoint a <a href="http://www.apache.org/foundation/glossary.html#Chair">Chair</a>
for your project. It is up to the
<a href="ppmc.html">PPMC</a> to choose one
person to act as the chair after graduation.</p>
</div>
</div>
<div class="sect2">
<h3 id="the_recommendation_vote">The Recommendation Vote</h3>
<div class="paragraph">
<p>The <a href="#tlp-resolution">resolution</a> should be proposed on the general
<a href="mailto:general@incubator.apache.org">incubator list</a> before a <strong><a href="http://www.apache.org/foundation/voting.html">VOTE</a></strong>
is started to allow feedback. Once a consensus has been reached, a <strong>VOTE</strong>
should be started on the same general Incubator list by a member of the <a href="ppmc.html">PPMC</a> proposing
that the
<a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">IPMC</a>
recommends the resolution to the <a href="/incubation/Roles_and_Responsibilities.html#board">Board</a>.</p>
</div>
</div>
<div class="sect2">
<h3 id="submission_of_the_resolution_to_the_board">Submission of the Resolution to the Board</h3>
<div class="paragraph">
<p>Top level projects are created by a <a href="#tlp-resolution">resolution</a> by the
<a href="/guides/roles_and_responsibilities.html#the_board">Board</a>.
Once the <a href="#tlp-resolution">resolution</a> has been
finalized and consensus reached, it should be
submitted to the Board. For inclusion in the agenda
for the next meeting, the resolution should be
submitted at least 72 hours before that meeting. A
calendar for meetings is <a href="http://www.apache.org/foundation/board/calendar.html">available</a>.</p>
</div>
<div class="paragraph">
<p>Business for the <a href="/guides/roles_and_responsibilities.html#the_board">Board</a> should be submitted
using the <a href="https://whimsy.apache.org/board/agenda/">Whimsy Board Agenda</a> tool.</p>
</div>
<div class="paragraph">
<p>Use the 'add item' button on bottom of the page and choose 'Establish Project'.
The template requires the project name (without the 'Apache' prefix) plus a brief description of the
project. When entering the proposed PMC members, add the proposed PMC chair first.</p>
</div>
<div class="paragraph">
<p>When you submit the resolution data, you will be presented with the text of the board resolution
which can be edited to fix any issues before you finalize the submission.</p>
</div>
<div class="paragraph">
<p>Please try to keep the <strong>board</strong> list traffic low. Do not
submit reminders or ask whether messages have been
received on the list. <a href="http://www.apache.org/foundation/members.html">Apache Members</a> have access to the <a href="/incubation/Roles_and_Responsibilities.html#board">Board</a>
archives and may
observe Board meetings. To follow the progress of a
resolution, please ask a friendly Mentor, Member or
<a href="http://www.apache.org/foundation/board/">Director</a>.</p>
</div>
</div>
<div class="sect2">
<h3 id="press_releases_for_new_tlps">Press Releases for new TLPs</h3>
<div class="paragraph">
<p>Once there is clear consensus that the recommendation will happen,
a member of the PPMC should contact ASF Marketing &amp; Publicity at
<strong>press(at)apache(dot)org</strong> if your project is interested in a
formal press release announcing your graduation.  This should be done
roughly at the same time that the board resolution is sent.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="graduating_to_a_subproject">Graduating to a Subproject</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Subprojects are accepted by a Project Management
Committee. The <a href="/incubation/Roles_and_Responsibilities.html#Incubator_Project_Management_Committee_IPMC">Incubator Project Management Committee</a>
needs to approve the graduation of the podling to a
subproject.</p>
</div>
<div class="sect2">
<h3 id="community_graduation_vote_2">Community Graduation Vote</h3>
<div class="paragraph">
<p>Becoming a subproject is a voluntary process, and should be accepted by the community becoming a sub-project.  It should be clear to the PPMC and committers for the podling what the make up of the new sub-project should be, e.g. who belongs on the receiving PMC, who will be a committer.  Due to this nature, it is important that the podling votes to become a sub-project.  This vote should happen on a public dev list.</p>
</div>
</div>
<div class="sect2">
<h3 id="subproject_acceptance_vote">Subproject Acceptance Vote</h3>
<div class="paragraph">
<p>A formal <strong><a href="http://www.apache.org/foundation/voting.html">VOTE</a></strong>
by the Project <a href="http://www.apache.org/foundation/how-it-works.html#structure">PMC</a>
to accept the podling as a subproject is a
prerequisite. Sometimes, projects may feel that the
podling has grown too big and would be better as a
top level project. The Chair of the project is the
right contact.</p>
</div>
</div>
<div class="sect2">
<h3 id="graduation_approval_vote">Graduation Approval Vote</h3>
<div class="paragraph">
<p>Once the accepting TLP has voted to accept the podling and the podling has voted to become a subproject, notice should be sent to the IPMC via <code>general AT incubator.a.o</code> email list indicating that the podling will become a subproject.  If after 72 hours no issues are raised, the podling may be considered a subproject of the accepting TLP.  Likewise, if any IPMC member raises an issue, that should be discussed.  If the issue is addressed, the member raising the issue should indicate they rescind their concerns or otherwise consider them resolved.</p>
</div>
</div>
<div class="sect2">
<h3 id="final_steps">Final steps</h3>
<div class="paragraph">
<p>Please read the <a href="/guides/transferring.html">Guide to Transferring Resources out of the Incubator</a></p>
</div>
</div>
</div>
</div></p>

</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>
