<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Home page of The Apache Software Foundation">
  <link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-touch-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-touch-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-touch-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-touch-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-touch-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-touch-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-touch-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-touch-icon-152x152.png">
  <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon-180x180.png">
  <link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
  <link rel="icon" type="image/png" href="/favicons/favicon-194x194.png" sizes="194x194">
  <link rel="icon" type="image/png" href="/favicons/favicon-96x96.png" sizes="96x96">
  <link rel="icon" type="image/png" href="/favicons/android-chrome-192x192.png" sizes="192x192">
  <link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
  <link rel="manifest" href="/favicons/manifest.json">
  <link rel="shortcut icon" href="/favicons/favicon.ico">
  <meta name="msapplication-TileColor" content="#603cba">
  <meta name="msapplication-TileImage" content="/favicons/mstile-144x144.png">
  <meta name="msapplication-config" content="/favicons/browserconfig.xml">
  <meta name="theme-color" content="#282661">

  <title>Mailing Lists</title>
  <link href="/css/Montserrat-300-600.css" rel="stylesheet">
  <link href="/css/min.bootstrap.css" rel="stylesheet">
  <link href="/css/styles.css" rel="stylesheet">
  <style>
.headerlink {
  visibility: hidden;
}
dt:hover > .headerlink, p:hover > .headerlink, td:hover > .headerlink, h1:hover > .headerlink, h2:hover > .headerlink, h3:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, h6:hover > .headerlink {
  visibility: visible
}  </style>

  <!-- pagefind search -->
  <link href="/_pagefind/pagefind-ui.css" rel="stylesheet">
  <script src="/_pagefind/pagefind-ui.js" type="text/javascript"></script>
  <script>
    window.addEventListener('DOMContentLoaded', (event) => {
        new PagefindUI({ element: "#pagefind-search" });
    });
  </script>

<!-- https://www.apache.org/licenses/LICENSE-2.0 -->
</head>

<body >
  <!-- Navigation -->
  <header>
	<div id="skiptocontent">
		<a href="#maincontent">Skip to Main Content</a>
	</div>
    <nav class="navbar navbar-inverse navbar-fixed-top mainmenu">
      <div class="container">
        <div class="navbar-header">
          <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#mainnav-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
        </div>
        <div class="collapse navbar-collapse" id="mainnav-collapse">
          <ul class="nav navbar-nav navbar-justified">
            <li><a href="/index.html#news">News</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">About&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/foundation">Overview</a></li>
                <li><a href="/foundation/how-it-works.html">Process</a></li>
                <li><a href="/foundation/governance/">Governance</a></li>
                <li><a href="/theapacheway/index.html">The Apache Way</a></li>
                <li><a href="/foundation/governance/members.html">Membership</a></li>
                <li><a href="https://community.apache.org/">Community</a></li>
                <li><a href="https://diversity.apache.org/">Diversity & Inclusion</a></li>
                <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                <li><a href="/foundation/glossary.html">Glossary</a></li>
				  <li><a href="/apache-name">About Our Name</a></li>
                <li><a href="/foundation/preFAQ.html">FAQ</a></li>
                <li><a href="/foundation/contributing.html">Support Apache</a></li>
                <li><a href="/press/">Media/Analysts</a></li>
                <li><a href="/foundation/contact.html">Contact</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Make a Donation&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/foundation/contributing.html">Donate Now</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via Credit Card</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via ACH</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via PayPal</a></li>
                <li><a href="https://www.redbubble.com/people/comdev">Buy Swag</a></li>
                <li><a href="/foundation/sponsorship.html">ASF Sponsorship</a></li>
                <li><a href="/foundation/thanks#targeted-sponsors">Targeted Sponsorship</a></li>
                <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdopwn-toggle" data-toggle="dropdown">The Apache Way&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/theapacheway/index.html">The Apache Way</a></li>
                <li><a href="https://s.apache.org/GhnI">Sustainable Open Source</a></li>
                <li><a href="/foundation/how-it-works.html">How it Works</a></li>
                <li><a href="/foundation/how-it-works.html#meritocracy">Merit</a></li>
                <li><a href="https://blogs.apache.org/foundation/category/SuccessAtApache">Success at Apache</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdopwn-toggle" data-toggle="dropdown">Join Us&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="https://community.apache.org/gettingStarted/101.html">Getting Started</a></li>
                <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                <li><a href="https://www.apachecon.com/">ApacheCon</a></li>
                <li><a href="http://community.apache.org/calendars/">Community Events</a></li>
                <li><a href="https://tac.apache.org">Travel Assistance</a></li>
                <li><a href="https://community.apache.org/gsoc.html">Summer of Code</a></li>
                <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                <li><a href="https://community.apache.org/contributors/etiquette">Etiquette</a></li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Projects&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/index.html#projects-list">Project List</a></li>
                    <li><a href="/foundation/how-it-works.html#management">How they work</a></li>
                    <li><a href="https://community.apache.org/projectIndependence.html">Independence</a></li>
                    <li><a href="https://projects.apache.org/committees.html?date">Date Founded</a></li>
                    <li><a href="https://projects.apache.org/projects.html?name">Names</a></li>
                    <li><a href="https://projects.apache.org/projects.html?category">Categories</a></li>
                    <li><a href="https://projects.apache.org/projects.html?language">Languages</a></li>
                    <li><a href="https://projects.apache.org/statistics.html">Statistics</a></li>
                    <li><a href="https://incubator.apache.org/">Apache Incubator</a></li>
                    <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                    <li><a href="/foundation/marks/">Brand Management</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">People&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/foundation/how-it-works.html#roles">Roles</a></li>
                    <li><a href="/foundation/members.html">Members</a></li>
                    <li><a href="https://community.apache.org/contributors/">Committers</a></li>
                    <li><a href="/foundation/#who-runs-the-asf">Board of Directors</a></li>
                    <li><a href="/foundation/#who-runs-the-asf">Officers  &amp; Project VPs</a></li>
                    <li><a href="https://community.zones.apache.org/map.html">Location Map</a></li>
                    <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                    <li><a href="https://people.apache.org/">Committer Directory</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Community&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="https://community.apache.org/about/">Community Development</a></li>
                    <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                    <li><a href="https://community.apache.org/">Get Involved</a></li>
                    <li><a href="https://community.apache.org/mentoringprogramme.html">Mentoring</a></li>
                    <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                    <li><a href="https://community.apache.org/calendars/">Community Events</a></li>
                    <li><a href="https://community.apache.org/newbiefaq.html">FAQ</a></li>
                    <li><a href="https://community.apache.org/lists.html">Mailing Lists</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Infrastructure&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/dev/infrastructure.html">Infra overview</a></li>
                    <li><a href="https://infra.apache.org/" target="_blank">Policies and Tools</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/INFRA/Index" target="_blank">CWiki</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">License&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/licenses/LICENSE-2.0">Apache License 2.0</a></li>
                    <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
                    <li><a href="/licenses/contributor-agreements.html">Contributor License Agreements</a></li>
                    <li><a href="/licenses/contributor-agreements.html#grants">Software Grants</a></li>
                    <li><a href="/foundation/marks/list/">Trademarks</a></li>
					<li><a href="/licenses/exports/">Exports</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Sponsors&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/foundation/sponsorship.html">Sponsor the ASF</a></li>
                    <li><a href="/foundation/thanks">Sponsor Thanks</a></li>
                    <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
                    <li><a href="/foundation/contributing.html">Individual Donations</a></li>
                    <li><a href="https://www.redbubble.com/people/comdev/">Buy Stuff</a></li>
                  </ul>
                </li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Downloads&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="https://downloads.apache.org/">Distribution</a></li>
                <li><a href="https://projects.apache.org/releases.html">Releases</a></li>
                <li><a href="https://status.apache.org/">Infrastructure Status</a></li>
                <li><a href="/uptime/">Infrastructure Statistics</a></li>
              </ul>
            </li>
            <li class="dropdown hidden-xs">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"><span class="glyphicon glyphicon-search"
                  aria-hidden="true"></span><span class="sr-only">Search</span></a>
              <ul class="dropdown-menu search-form" role="search">
                <li>
                  <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </nav>
  </header>
  <!-- / Navigation -->
  <header id="main-header" class="container">
    <div class="sideImg">
          <a class="visible-home" href="https://events.apache.org/x/current-event.html">
            <img class="img-responsive" style="width: 125px;" src="/events/current-event-125x125.png" alt="Apache Events"/>
<!-- STALE: <img class="img-responsive" style="width: 125px;" src="https://www.apachecon.com/event-images/default-square-light.png" alt="ApacheCon 2021 Coming Soon!" /> -->
          </a>
      <a class="hidden-home" href="/"><img class="img-responsive" src="/img/asf-estd-1999-logo.jpg" alt="The Apache Software Foundation"></a>
    </div>
    <div class="main">
      <img class="img-responsive center-block visible-home" src="/img/asf-estd-1999-logo.jpg" alt="Apache 20th Anniversary Logo">

      <ul class="nav navbar-nav navbar-justified">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Projects&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/index.html#projects-list">Project List</a></li>
            <li><a href="/foundation/how-it-works.html#management">How they work</a></li>
            <li><a href="https://community.apache.org/projectIndependence.html">Independence</a></li>
            <li><a href="https://projects.apache.org/committees.html?date">Date Founded</a></li>
            <li><a href="https://projects.apache.org/projects.html?name">Names</a></li>
            <li><a href="https://projects.apache.org/projects.html?category">Categories</a></li>
            <li><a href="https://projects.apache.org/projects.html?language">Languages</a></li>
            <li><a href="https://projects.apache.org/statistics.html">Statistics</a></li>
            <li><a href="https://incubator.apache.org/">Apache Incubator</a></li>
            <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
            <li><a href="/foundation/marks/">Brand Management</a></li>
            <li><a href="/foundation/glossary.html">Glossary of Terms</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">People&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/foundation/how-it-works.html#roles">Roles</a></li>
            <li><a href="/foundation/members.html">Members</a></li>
            <li><a href="https://community.apache.org/contributors/">Committers</a></li>
            <li><a href="/foundation/#who-runs-the-asf">Board of Directors</a></li>
            <li><a href="/foundation/#who-runs-the-asf">Officers &amp; Project VPs</a></li>
            <li><a href="https://diversity.apache.org/">Diversity & Inclusion</a></li>
            <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
            <li><a href="https://people.apache.org/">Committer Directory</a></li>
            <li><a href="https://community.zones.apache.org/map.html">Heat Map</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Community&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="https://community.apache.org/about/">Community Development</a></li>
            <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
            <li><a href="https://community.apache.org/">Get Involved</a></li>
            <li><a href="https://community.apache.org/mentoringprogramme.html">Mentoring</a></li>
            <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
            <li><a href="https://community.apache.org/calendars/">Community Events</a></li>
            <li><a href="https://community.apache.org/newbiefaq.html">FAQ</a></li>
            <li><a href="https://community.apache.org/lists.html">Mailing Lists</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Infrastructure&nbsp;<span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
              <li><a href="/dev/infrastructure.html">Infra overview</a></li>
              <li><a href="https://infra.apache.org/" target="_blank">Policies and Tools</a></li>
              <li><a href="https://cwiki.apache.org/confluence/display/INFRA/Index" target="_blank">CWiki</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">License&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/licenses/LICENSE-2.0">Apache License 2.0</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/licenses/contributor-agreements.html">Contributor License Agreements</a></li>
            <li><a href="/licenses/contributor-agreements.html#grants">Software Grants</a></li>
            <li><a href="/foundation/marks/list/">Trademarks</a></li>
			<li><a href="/licenses/exports/">Exports</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Sponsors&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/foundation/sponsorship.html">Sponsor the ASF</a></li>
            <li><a href="/foundation/thanks">Sponsor Thanks</a></li>
            <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
            <li><a href="/foundation/contributing.html">Individual Donations</a></li>
            <li><a href="https://www.redbubble.com/people/comdev/">Buy Stuff</a></li>
          </ul>
        </li>
      </ul>
    </div>
 
  </header>
  <main id="maincontent">
<div class="container">    <h1 id="mailing-lists">Mailing Lists<a class="headerlink" href="#mailing-lists" title="Permalink">&para;</a></h1>
<p>Publicly archived mailing lists are critical to the operation of the Apache Software
Foundation (ASF) and to our many <a href="http://projects.apache.org/">Apache
Projects</a>.  Apache projects use mailing lists to coordinate
development of their software and administer their organization. Mailing
lists also serve as a primary support channel where users can help each
other learn to use the software.</p>
<p>Mailing list participants are expected to abide by the well-established rules of
"netiquette", as well as the ASF's published <a href="/foundation/policies/conduct.html">Code of Conduct</a>.
We also have <a href="../dev/contrib-email-tips.html">Tips for email
contributors</a>.</p>
<p>Please be aware that email sent to Apache developer or user mailing lists is subject to our
<a href="public-archives.html">Public Forum Archive Policy</a>.</p>
<p>Note that some Apache mailing lists are not public; they are often but not always named
<strong>private@</strong>. Be sure not to take emails from private discussions or mailing lists
into a public forum or list unless there is agreement by all parties to the conversation.</p>
<h2 id="moderation-of-posts">Moderation of posts<a class="headerlink" href="#moderation-of-posts" title="Permalink">&para;</a></h2>
<p>Most lists require a poster to be subscribed.
If you are not subscribed, your post requires moderation.
This may take hours or days, so it's best to subscribe (as described below) before posting.</p>
<h2 id="subscribing">Subscribing and Unsubscribing<a class="headerlink" href="#subscribing" title="Permalink">&para;</a></h2>
<p>Unless otherwise noted, ASF lists are managed by
<a href="http://untroubled.org/ezmlm/">ezmlm</a>, which lets users subscribe or unsubscribe by sending an email to a special address.
This works as follows:</p>
<ul>
<li>Send the request to the appropriate address (see below)</li>
<li>ezmlm sends a reply; either a confirmation request or an error message (e.g. if you are not subscribed)</li>
<li>Reply to the confirmation message</li>
</ul>
<p>ASF committers can also use the Whimsy <a href="https://whimsy.apache.org/committers/subscribe">Mailing List Self-subscription</a> service.</p>
<h2 id="request-addresses-for-unsubscribing">Request addresses for [un]subscribing<a class="headerlink" href="#request-addresses-for-unsubscribing" title="Permalink">&para;</a></h2>
<p>If you want to subscribe
to <code><em>list</em>@apache.org</code>, you need to send a message to</p>
<pre>
<em>list</em>-subscribe@apache.org
</pre>
<p>To get off a list, send a message to</p>
<pre>
<em>list</em>-<b>un</b>subscribe@apache.org
</pre>
<p>To unsubscribe a different e-mail - e.g.
you used to be subscribed as <strong><code>user@oldname.example</code></strong> - send a message
to</p>
<pre>
<em>list</em>-unsubscribe-<b>user=oldname.example</b>@apache.org
</pre>
<p><em>The list moderators can also do this.</em></p>
<p>If you do not recall the address you used when you subscribed, view the full headers
of any email you received from the list and examine the <code>Return-Path</code>,
<code>Received</code>, and <code>List-ID</code> headers; these should embed both the address you are
subscribed as and the address of the mailing list.</p>
<p>Note: Spam filters don't like messages with empty Subjects; just put
"subscribe" or "unsubscribe" in the header field. Spam filters are also more likely to reject
HTML-formatted messages; please use plain text.</p>
<h2 id="request-confirmation">Request confirmation<a class="headerlink" href="#request-confirmation" title="Permalink">&para;</a></h2>
<p>After you send the subscribe or unsubscribe request, the list manager
sends you a confirmation e-mail in reply. <strong>You must reply to this e-mail to
complete the process.</strong> If you have not received the confirmation request,
check that it has not been marked as spam.</p>
<p><strong>Note: private lists generally require a moderator to confirm the subscription</strong>.
This may take a day or two. If necessary, try again after a few days.
For this reason we recommend that ASF and PMC members use
<a href="https://whimsy.apache.org/committers/subscribe">the self-subscribe app</a> to avoid having to wait for the human moderators to check and green-light your subscription request.</p>
<h2 id="other-list-commands">Other list commands<a class="headerlink" href="#other-list-commands" title="Permalink">&para;</a></h2>
<p>To find out more about a list's features, including how to contact the list owner (moderator),
send a message to</p>
<pre>
<em>list</em>-help@apache.org
</pre>
<p>Ezmlm lists also generally provide subscribers with a way to request
specific past messages or ranges of messages: send mail to the list's help
address to find out more. This can act as a sort of 'poor man's archive' if
the normal archives are inaccessible or don't exist.</p>
<p>All ASF committers can get a list of (a) what email addresses are known to the
ASF as belonging to them (b) what mailing lists they are moderating, and (c)
what mailing lists they are subscribed to by going to the following page:</p>
<p><a href="https://whimsy.apache.org/roster/committer/__self__">https://whimsy.apache.org/roster/committer/__self__</a></p>
<h2 id="digest-subscriptions">Digest Subscriptions<a class="headerlink" href="#digest-subscriptions" title="Permalink">&para;</a></h2>
<p>You can also subscribe to most mailing lists in digest form. To do this for <tt><em>list</em>@apache.org</tt>, send a message to</p>
<pre>
<em>list</em>-digest-subscribe@apache.org
</pre>
<p>To get off a digest list, send a message to</p>
<pre>
<em>list</em>-digest-<b>un</b>subscribe@apache.org
</pre>
<p>If you need to unsubscribe a different email or get help with a digest list the same instructions as for subscribing/unsubscribing
above apply. Just remember to add <em>-digest</em> after the list name and before the <em>-subscribe</em> or <em>-unsubscribe</em>.</p>
<h2 id="moderators">Moderators<a class="headerlink" href="#moderators" title="Permalink">&para;</a></h2>
<p>Each mailing list generally has several moderators who look after the list.
For further information, see the
<a href="/dev/committers.html#mail">Committers FAQ - Mail Questions</a></p>
<h2 id="archives">Mailing List Archives<a class="headerlink" href="#archives" title="Permalink">&para;</a></h2>
<p>Archives for public mailing lists are available at a number of locations,
including:</p>
<ul>
<li>
<p><a href="https://lists.apache.org/">Apache mail archives</a></p>
</li>
<li>
<p><a href="http://apache.markmail.org/">MarkMail</a></p>
</li>
<li>
<p><a href="http://marc.info/">MARC</a></p>
</li>
<li>
<p><a href="http://mail-archive.com/">mail-archive.com</a></p>
</li>
</ul>
<h2 id="project-mailing-lists">Project Mailing Lists<a class="headerlink" href="#project-mailing-lists" title="Permalink">&para;</a></h2>
<p>Links to project-specific mailing list info can be found on the <a href="http://projects.apache.org/projects.html">project
resources page</a>.</p>
<p>Tip: if you have a technical question of any kind, the best place to ask is the
user@ or dev@ list for the relevant project - Foundation level mailing lists
or other Apache contact emails (including individuals' emails) will not be able to help you</p>
<h2 id="foundation-wide-mailing-lists">Foundation-wide Mailing Lists<a class="headerlink" href="#foundation-wide-mailing-lists" title="Permalink">&para;</a></h2>
<ul>
<li>
<p><a href="#foundation-announce">Apache News and Announcements</a></p>
</li>
<li>
<p><a href="#foundation-apachecon">Conference Announcements list</a></p>
</li>
<li>
<p><a href="#foundation-community">Community discussions</a></p>
</li>
<li>
<p><a href="#foundation-infrastructure">Infrastructure assistance</a></p>
</li>
<li>
<p><a href="#foundation-legal">Legal discussions</a></p>
</li>
</ul>
<h2 id="foundation-announce">Apache News and Announcements<a class="headerlink" href="#foundation-announce" title="Permalink">&para;</a></h2>
<p>The Apache Announcements list contains news and announcements about the
foundation and its projects. It includes announcements of major software releases, new
projects, and other important news. This list only includes Messages posted by the Foundation; there is no discussion.</p>
<p>You may also be interested in
our official <a href="https://twitter.com/TheASF">@TheASF Twitter</a> account, or the
<a href="https://blogs.apache.org/foundation/">official ASF Blog</a>.</p>
<table class="table">
<thead>
<tr>
<th>Volume:</th>
<th>Low</th>
</tr>
</thead>
<tbody>
<tr>
<td>Subscription address:</td>
<td><a href="mailto:announce-subscribe@apache.org">announce-subscribe@apache.org</a></td>
</tr>
<tr>
<td>Unsubscription address:</td>
<td><a href="mailto:announce-unsubscribe@apache.org">announce-unsubscribe@apache.org</a></td>
</tr>
<tr>
<td>Archives:</td>
<td><a href="http://lists.apache.org/list.html?announce@apache.org">Web archives</a><br/><a href="http://www.mail-archive.com/announce@apache.org/">archives</a></td>
</tr>
<tr>
<td>Getting help with the list:</td>
<td><a href="mailto:announce-help@apache.org">announce-help@apache.org</a></td>
</tr></tbody></table>
<h2 id="foundation-apachecon">Apache Conference Announcements<a class="headerlink" href="#foundation-apachecon" title="Permalink">&para;</a></h2>
<p>The Apache Conference planning committee uses the <code>announce@ApacheCon.Com</code> mailing list to make announcements about conferences, conventions,
and trade shows in which the Foundation is participating. Only the Foundation posts Messages on this list; there is no discussion.</p>
<p>You may also be interested in our official <a href="https://twitter.com/ApacheCon">@ApacheCon Twitter</a> account, or the
<a href="https://blogs.apache.org/conferences/">official ApacheCon Conferences blog</a>.</p>
<table class="table">
<thead>
<tr>
<th>Volume:</th>
<th>Very low</th>
</tr>
</thead>
<tbody>
<tr>
<td>Subscription address:</td>
<td><a href="mailto:announce-subscribe@ApacheCon.Com">announce-subscribe@ApacheCon.Com</a></td>
</tr>
<tr>
<td>Unsubscription address:</td>
<td><a href="mailto:announce-unsubscribe@ApacheCon.Com">announce-unsubscribe@ApacheCon.Com</a></td>
</tr>
<tr>
<td>Archives:</td>
<td>Available back to 13 October 1999. Send a message to <a href="mailto:announce-help@ApacheCon.Com">announce-help@ApacheCon.Com</a> for information about accessing the archives.</td>
</tr>
<tr>
<td>Getting help with the list:</td>
<td><a href="mailto:announce-help@ApacheCon.Com">announce-help@ApacheCon.Com</a></td>
</tr></tbody></table>
<h2 id="foundation-apachecon-discuss">Apache Conference Planning and Discussions<a class="headerlink" href="#foundation-apachecon-discuss" title="Permalink">&para;</a></h2>
<p>The <code>apachecon-discuss@apache.org</code> mailing list is for discussions of the future of ApacheCon, and future
ApacheCons. (Discussions of current and upcoming ApacheCons which have been approved occur on other lists.)</p>
<table class="table">
<thead>
<tr>
<th>Volume:</th>
<th>Moderate</th>
</tr>
</thead>
<tbody>
<tr>
<td>Subscription address:</td>
<td><a href="mailto:apachecon-discuss-subscribe@apache.org">apachecon-discuss-subscribe@apache.org</a></td>
</tr>
<tr>
<td>Unsubscription address:</td>
<td><a href="mailto:apachecon-discuss-unsubscribe@apache.org">apachecon-discuss-unsubscribe@apache.org</a></td>
</tr>
<tr>
<td>Archives:</td>
<td><a href="http://lists.apache.org/list.html?apachecon-discuss@apache.org">Web archives</a></td>
</tr>
<tr>
<td>Getting help with the list:</td>
<td><a href="mailto:apachecon-discuss-help@apache.org">apachecon-discuss-help@apache.org</a></td>
</tr></tbody></table>
<p>The <code>small-events-discuss@apache.org</code> mailing list is for discussions on future small events, such as
BarCampApaches, Meetups, Retreats and Hackathons. It is for discussing and planning small events that are
not yet ready to seek final approval.</p>
<table class="table">
<thead>
<tr>
<th>Volume:</th>
<th>Moderate</th>
</tr>
</thead>
<tbody>
<tr>
<td>Subscription address:</td>
<td><a href="mailto:small-events-discuss-subscribe@apache.org">small-events-discuss-subscribe@apache.org</a></td>
</tr>
<tr>
<td>Unsubscription address:</td>
<td><a href="mailto:small-events-discuss-unsubscribe@apache.org">small-events-discuss-unsubscribe@apache.org</a></td>
</tr>
<tr>
<td>Archives:</td>
<td><a href="http://lists.apache.org/list.html?small-events-discuss@apache.org">Web archives</a></td>
</tr>
<tr>
<td>Getting help with the list:</td>
<td><a href="mailto:small-events-discuss-help@apache.org">small-events-discuss-help@apache.org</a></td>
</tr></tbody></table>
<h2 id="foundation-community">Community Mailing List<a class="headerlink" href="#foundation-community" title="Permalink">&para;</a></h2>
<p>Participants in the ASF use the <code>dev@community.apache.org</code> mailing list to discuss community-related foundation-wide
topics. Participation in this list is open to everyone, and public archives
are available.</p>
<p>This replaces the old <code>community@a.o</code>mailing list, disabled in 2014.</p>
<table class="table">
<thead>
<tr>
<th>Volume:</th>
<th>Moderate</th>
</tr>
</thead>
<tbody>
<tr>
<td>Subscription address:</td>
<td><a href="mailto:dev-subscribe@community.apache.org">dev-subscribe@community.apache.org</a></td>
</tr>
<tr>
<td>Archives:</td>
<td><a href="https://lists.apache.org/list.html?dev@community.apache.org">Web archives</a></td>
</tr></tbody></table>
<h2 id="foundation-infrastructure">Foundation Infrastructure Mailing List<a class="headerlink" href="#foundation-infrastructure" title="Permalink">&para;</a></h2>
<p>The ASF Infrastructure team uses the <code>users@infra.apache.org</code> mailing list to discuss issues concerning operation of the
overall Apache Software Foundation systems. Only committers to ASF projects can participate in this list.
Non-committers may send mail to this address to report problems with ASF
systems, however see the notes about <a href="https://infra.apache.org/stats.html" target="_blank">system status</a> before
you do. See also information about other ways to <a href="https://infra.apache.org/contact.html" target="_blank">contact Infra</a>.</p>
<h2 id="foundation-repository">Repository Mailing List<a class="headerlink" href="#foundation-repository" title="Permalink">&para;</a></h2>
<p>Use the <code>repository@apache.org</code> mailing list to discuss
foundation-wide issues relating to software distribution repositories, including
our Apache Maven repository of other software releases. Participation in this list is open to everyone, and public archives
are available.</p>
<table class="table">
<thead>
<tr>
<th>Volume:</th>
<th>Moderate</th>
</tr>
</thead>
<tbody>
<tr>
<td>Subscription address:</td>
<td><a href="mailto:repository-subscribe@apache.org">repository-subscribe@apache.org</a></td>
</tr>
<tr>
<td>Archives:</td>
<td><a href="https://lists.apache.org/list.html?repository@apache.org">Web archives</a></td>
</tr></tbody></table>
<h2 id="foundation-legal">Foundation Legal Discussion Mailing List<a class="headerlink" href="#foundation-legal" title="Permalink">&para;</a></h2>
<p>The <code>legal-discuss@apache.org</code> is a forum for questions (even FAQs) that
have a legal aspect. These questions may concern (for example)
licensing, third party packages, contributor agreement questions and
trademark issues. This list will build into an ad-hoc knowledge base about
those thorny legal issues that most commonly effect Apache projects. Please
keep speculation to a minimum and avoid making authoritative statements
without genuine knowledge of the subject.</p>
<p>Volunteers willing to codify discussions into a FAQ are welcome.</p>
<table class="table">
<thead>
<tr>
<th>Volume:</th>
<th>Moderate</th>
</tr>
</thead>
<tbody>
<tr>
<td>Subscription address:</td>
<td><a href="mailto:legal-discuss-subscribe@apache.org">legal-discuss-subscribe@apache.org</a></td>
</tr>
<tr>
<td>Unsubscription address:</td>
<td><a href="mailto:legal-discuss-unsubscribe@apache.org">legal-discuss-unsubscribe@apache.org</a></td>
</tr>
<tr>
<td>Archives:</td>
<td>Raw gzipped <a href="/mail/legal-discuss/">mbox files</a><br/><a href="http://lists.apache.org/list.html?legal-discuss@apache.org">Web archives</a></td>
</tr></tbody></table>

</div>  </main>

  <!-- Footer -->
  <footer class="bg-primary">
    <div class="container">
      <div class="row">
        <br />
        <div class="col-sm-1">

        </div>
        <div class="col-sm-2">
          <h5 class="white">Community</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="http://community.apache.org/">Overview</a></li>
            <li><a href="/foundation/conferences.html">Conferences</a></li>
            <li><a href="http://community.apache.org/gsoc.html">Summer of Code</a></li>
            <li><a href="http://community.apache.org/newcomers/">Getting Started</a></li>
            <li><a href="/foundation/how-it-works.html">The Apache Way</a></li>
            <li><a href="https://tac.apache.org">Travel Assistance</a></li>
            <li><a href="/foundation/getinvolved.html">Get Involved</a></li>
            <li><a href="/foundation/policies/conduct.html">Code of Conduct</a></li>
            <li><a href="http://community.apache.org/newbiefaq.html">Community FAQ</a></li>
            <li><a href="/memorials/">Memorials</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Innovation</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="http://incubator.apache.org/">Incubator</a></li>
            <li><a href="http://labs.apache.org/">Labs</a></li>
            <li><a href="/licenses/">Licensing</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/foundation/marks/">Trademark Policy</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Tech Operations</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/dev/">Developer Information</a></li>
            <li><a href="/dev/infrastructure.html">Infrastructure</a></li>
            <li><a href="/security/">Security</a></li>
            <li><a href="http://status.apache.org">Status</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Press</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/press/">Overview</a></li>
            <li><a href="https://blogs.apache.org/">ASF News</a></li>
            <li><a href="https://blogs.apache.org/foundation/">Announcements</a></li>
            <li><a href="https://twitter.com/TheASF">Twitter Feed</a></li>
            <li><a href="/press/#contact">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Legal</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/legal/">Legal Affairs</a></li>
            <li><a href="/legal/dmca.html">DMCA</a></li>
            <li><a href="/licenses/">Licensing</a></li>
            <li><a href="/foundation/marks/">Trademark Policy</a></li>
            <li><a href="/foundation/records/">Public Records</a></li>
            <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li>
            <li><a href="/licenses/exports/">Export Information</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-1">
        </div>

      </div>
      <hr class="col-lg-12 hr-white" />
      <div class="row">
        <div class="col-lg-12">
          <p class="text-center">Copyright &#169; 2023 The Apache Software Foundation, Licensed under the <a class="white" href="/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
          <p class="text-center">Apache and the Apache feather logo are trademarks of The Apache Software Foundation. </p>
        </div>
      </div>
    </div>

  </footer>

  <!-- / Footer -->

  <script src="/js/jquery.min.js"></script>
  <script src="/js/bootstrap.js"></script>
  <script src="/js/slideshow.js"></script>
  <script>
    (function($){
    $(document).ready(function(){
    $('ul.dropdown-menu [data-toggle=dropdown]').on('click', function(event) {
    event.preventDefault();
    event.stopPropagation();
    $(this).parent().siblings().removeClass('open');
    $(this).parent().toggleClass('open');
    console.log('WOrked');
    });
    });
    })(jQuery);
  </script>
</body>
</html>