<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8"/>
    <title>Committers</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 :: Committers</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="#mailing_lists">Mailing Lists</a>
<ul class="sectlevel2">
<li><a href="#action_items_for_committers_include">Action items for committers include:</a></li>
</ul>
</li>
<li><a href="#project_web_site">Project Web Site</a></li>
<li><a href="#committer_resources">Committer Resources</a></li>
<li><a href="#podling_pmc_ppmc">Podling PMC (PPMC)</a></li>
<li><a href="#orienting_new_committers_understanding_apache">Orienting New Committers: Understanding Apache</a></li>
<li><a href="#questions">Questions?</a></li>
</ul>
</div>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>The <a href="/policy/incubation.html#Committers">Roles and Responsibilities</a> document describes the general role of a committer on an incubating project. This page provides links to more information to help new committers get started.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="mailing_lists">Mailing Lists</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Everything inside the Apache world needs to occur asynchronously and be archived. Email is currently the best platform for this. As some people say, 'If it isn&#8217;t on the mailing list, it didn&#8217;t happen.' Decisions only get made on public Apache email lists, not anywhere offlist such as IRC, IM, a Slack channel or private emails. If a PMC or Apache committee makes decisions elsewhere, they need to bring the decision back to the appropriate email list.</p>
</div>
<div class="paragraph">
<p>Each project has a set of public lists, which are typically called dev@<strong>project</strong>, user@<strong>project</strong> (or users@<strong>project</strong>), issues@<strong>project</strong> and commits@<strong>project</strong>. A few <a href="http://www.apache.org/foundation/mailinglists.html">Apache-wide lists</a> cross all boundaries, including:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>community</strong>: where all Apache committers can discuss things that are about Apache</p>
</li>
<li>
<p><strong>infrastructure</strong>: where the Infrastructure team (Infra) discuss and work on the Apache infrastructure needs</p>
</li>
<li>
<p><strong>legal-discuss</strong>: where Apache committers can ask questions that have a legal aspect</p>
</li>
<li>
<p><strong>builds</strong>: discussions about the Apache continuous integration infrastructure</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Email lists are archived and searchable at server places, including <a href="https://lists.apache.org">Apache Pony Mail</a>.</p>
</div>
<div class="sect2">
<h3 id="action_items_for_committers_include">Action items for committers include:</h3>
<div class="ulist">
<ul>
<li>
<p>Become familiar with Apache developer <a href="http://www.apache.org/dev/contrib-email-tips.html">tips for email contributors</a>.</p>
</li>
<li>
<p>Subscribe to the user, dev, issues and commits lists for your project.</p>
</li>
<li>
<p>Become aware of what else is going on in the Incubator by subscribing to the Incubator&#8217;s general list.</p>
</li>
<li>
<p>Become aware of what else is going on at the ASF by subscribing to the <a href="http://www.apache.org/foundation/mailinglists.html#foundation-community">community</a>, <a href="http://www.apache.org/foundation/mailinglists.html#foundation-infrastructure">infrastructure</a>, and <a href="http://www.apache.org/foundation/mailinglists.html#foundation-legal">legal-discuss</a> Apache-wide lists.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Apache also has private lists. For example, your project will probably have a private email list named private@<strong>project</strong>.apache.org, which your Podling PMC will use for sensitive discussions. Never
mix public and private email lists in the same post&#8201;&#8212;&#8201;see the section entitled <a href="http://www.apache.org/foundation/how-it-works.html#management">Balancing confidentiality and public discussion</a> in <a href="http://www.apache.org/foundation/how-it-works.html">How it Works</a>. For example, never include both your dev and private lists in the same post. Posting to the dev list is sufficient because each member of your Podling PMC will also be on that list.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="project_web_site">Project Web Site</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Incubator <a href="sites.html">Podling Websites</a> documents how to get your project web site going.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="committer_resources">Committer Resources</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>The <a href="https://infra.apache.org/new-committers-guide.html">Guide for New Committers</a> is a great place to start and points to additional committer-only resources.</p>
</li>
<li>
<p>Browse the pages at <a href="http://www.apache.org/dev">http://www.apache.org/dev/</a> often.</p>
</li>
<li>
<p>Subscribe to the <a href="http://www.apache.org/foundation/mailinglists.html#foundation-infrastructure">infrastructure</a> list, then raise awareness on your project about what goes on behind the scenes.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Be proactive about responding to infrastructure issues on your project email lists. Does the webserver seem to be down? Is Jira or Git down? Check the <a href="http://status.apache.org/">ASF status page</a> and explain the reason to your project list (as you can see, no need to alert the ASF infrastructure people).</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="podling_pmc_ppmc">Podling PMC (PPMC)</h2>
<div class="sectionbody">
<div class="paragraph">
<p>If you are a member of your PPMC, become familiar with the <a href="/policy/incubation.html">Incubation Policy</a> and see the <a href="ppmc.html">Podling PMC Guide</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="orienting_new_committers_understanding_apache">Orienting New Committers: Understanding Apache</h2>
<div class="sectionbody">
<div class="paragraph">
<p>When a committer is elected by a Top Level Project (TLP), the nominator and other PMC members educate the new committer about Apache. In the Incubator, Mentors provide this education. This process is one of the most important for the long-term health of a project.</p>
</div>
<div class="paragraph">
<p>Apache works on the principle that discussions should happen on the most open forum available. Unless the matter is sensitive (such as security or personal issues), it should be raised on an open email list. Typically this will be the podling dev list or the incubator general list. Reserve the private incubator list for sensitive topics only.</p>
</div>
<div class="paragraph">
<p>Mentors need to take care. During the initial bootstrapping a habit may develop of emailing the private@ list. It is important to break this habit as soon as the public email lists are available.</p>
</div>
<div class="paragraph">
<p>Netiquette about the correct use of sending copies of emails may also be difficult to impart effectively. During the bootstrap process, there are a number of occasions when *cc*s are required. The typical usage is to copy in a private listing to indicate that the action has the lazy permission of the committee. The commercial world often use *cc*s to create inefficient ad-hoc email lists. Except for a small number of defined processes, we frown on *cc*s at Apache. Mentors need to encourage people to ask questions first  on the public lists of the project, then raise them (if necessary) to the general incubator list.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="questions">Questions?</h2>
<div class="sectionbody">
<div class="paragraph">
<p>If you have any questions, ask on the Incubator&#8217;s general email list. Don&#8217;t forget to check the information at:
- <a href="http://www.apache.org/dev">http://www.apache.org/dev/</a></p>
</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>
