<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <meta content="en-us" http-equiv="Content-Language" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link href="/static/images/favicon.ico" rel="shortcut icon" />
    <link href="/static/css/style.css" rel="stylesheet" type="text/css" />
    <link href="/static/css/codehilite.css" rel="stylesheet" type="text/css" />
    <link href="/static/css/bootstrap.css" media="screen, projection" rel="stylesheet" type="text/css" />
    <link href="/static/css/thrift.css" media="screen, projection" rel="stylesheet" type="text/css" />

    <script src="/static/js/jquery.min.js"></script>
    <script src="/static/js/bootstrap-dropdown.js"></script>
    <script src="/static/js/bootstrap-tab.js"></script>
    <script src="/static/js/thrift.js"></script>

    <title>Apache Thrift - Mailing Lists</title>
  </head>
  <body>
    <div class="navbar">
  <div class="navbar-inner">
    <div class="container">
      <a class="brand" href="/">Apache Thrift &trade;</a>
      <div class="nav-collapse">
        <ul class="nav pull-right">
          <li><a href="/download">Download</a></li>
          <li><a href="/docs">Documentation</a></li>
          <li><a href="/developers">Developers</a></li>
          <li><a href="/lib">Libraries</a></li>
          <li><a href="/tutorial">Tutorial</a></li>
          <li><a href="/test">Test Suite</a></li>
          <li><a href="/about">About</a></li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="http://www.apache.org/" target="_blank">Apache Home</a></li>
              <li><a href="http://www.apache.org/licenses/" target="_blank">Apache License v2.0</a></li>
              <li><a href="http://www.apache.org/foundation/sponsorship.html" target="_blank">Donate</a></li>
              <li><a href="http://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
              <li><a href="http://www.apache.org/security/" target="_blank">Security</a></li>
            </ul>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>

    <div class="container">
      <p>In accordance with the principles of the Apache Software Foundation, Thrift encourages a collaborative and community-based development environment.</p>

<p>All project discussion is carried out publicly, on the following archived lists.</p>

<hr />

<h3 id="user-mailing-list">User Mailing List</h3>
<p>If you use Apache Thrift, please subscribe to the Thrift user mailing list. This list is for questions about Thrift and announcements from the team relevant to all users</p>

<table>
  <tbody>
    <tr>
      <td><a href="mailto:user-subscribe@thrift.apache.org">Subscribe</a></td>
      <td><a href="mailto:user-unsubscribe@thrift.apache.org">Unsubscribe</a></td>
      <td><a href="http://mail-archives.apache.org/mod_mbox/thrift-user">View Archives</a></td>
      <td><a href="http://mail-archives.apache.org/mod_mbox/incubator-thrift-user">View Archives (Incubator)</a></td>
    </tr>
  </tbody>
</table>

<hr />

<h3 id="developers-mailing-list">Developers Mailing List</h3>
<p>If you would like to contribute to Apache Thrift, subscribe to the Thrift developer mailing list.</p>

<table>
  <tbody>
    <tr>
      <td><a href="mailto:dev-subscribe@thrift.apache.org">Subscribe</a></td>
      <td><a href="mailto:dev-unsubscribe@thrift.apache.org">Unsubscribe</a></td>
      <td><a href="http://mail-archives.apache.org/mod_mbox/thrift-dev">View Archives</a></td>
      <td><a href="http://mail-archives.apache.org/mod_mbox/incubator-thrift-dev">View Archives (Incubator)</a></td>
    </tr>
  </tbody>
</table>

<hr />

<h3 id="commits-mailing-list">Commits Mailing List</h3>
<p>This list receives notifications about all code changes made to Apache Thrift.</p>

<table>
  <tbody>
    <tr>
      <td><a href="mailto:commits-subscribe@thrift.apache.org">Subscribe</a></td>
      <td><a href="mailto:commits-unsubscribe@thrift.apache.org">Unsubscribe</a></td>
      <td><a href="http://mail-archives.apache.org/mod_mbox/thrift-commits">View Archives</a></td>
      <td><a href="http://mail-archives.apache.org/mod_mbox/incubator-thrift-commits">View Archives (Incubator)</a></td>
    </tr>
  </tbody>
</table>

<hr />

<p>Note: subscription is required to post to all lists.</p>

<h3 id="irc">IRC</h3>
<p>Many of the Apache Thrift developers and community members hang out in the #thrift channel on irc.freenode.net.</p>

<p>If you are new to IRC, you can use a client such as <a href="http://www.xchat.org">xchat</a> or <a href="http://www.irssi.org">Irssi</a> or a <a href="http://webchat.freenode.net/?channels=#thrift">web-based client</a>.</p>


    </div>
    <div class="container">
  <hr>
  <footer class="footer">
    <div class="row">
      <div class="span3">
        <h3>Links</h3>
        <ul class="unstyled">
          <li><a href="/download">Download</a></li>
          <li><a href="/developers">Developers</a></li>
          <li><a href="/tutorial">Tutorials</a></li>
        </ul>
        <ul class="unstyled">
          <li><a href="/sitemap">Sitemap</a></li>
        </ul>
      </div>
      <div class="span3">
        <h3>Get Involved</h3>
        <ul class="unstyled">
          <li><a href="/mailing">Mailing Lists</a></li>
          <li><a href="http://issues.apache.org/jira/browse/THRIFT">Issue Tracking</a></li>
          <li><a href="/docs/HowToContribute">How To Contribute</a></li>
        </ul>
      </div>
      <div class="span6">
        <a href="http://www.apache.org/"><img src="/static/images/feather.svg" onerror="this.src='/static/images/feather.png';this.onerror=null;" /></a>
        Copyright &copy; 2024 <a href="http://www.apache.org/">Apache Software Foundation</a>.
        Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>.
        Apache, Apache Thrift, and the Apache feather logo are trademarks of The Apache Software Foundation.
      </div>
    </div>
  </footer>
</div>

  </body>
</html>
