<!doctype html>
<html>  
  <head>
    <title>Apache CloudStack: Open Source Cloud Computing</title>

    <meta name="description" content="CloudStack is open source cloud computing software for creating, managing, and deploying infrastructure cloud services">

    <meta itemprop="name" content="Apache Cloudstack">
    <meta itemprop="description" content="CloudStack is open source cloud computing software for creating, managing, and deploying infrastructure cloud services">
    <meta itemprop="image" content="https://cloudstack.apache.org/images/monkey-144.png">

    <meta property="og:title" content="Apache Cloudstack">
    <meta property="og:description" content="CloudStack is open source cloud computing software for creating, managing, and deploying infrastructure cloud services">
    <meta property="og:site_name" content="Apache Cloudstack"/>
    <meta property="og:image" content="https://cloudstack.apache.org/images/monkey-144.png">

    <meta name="twitter:card" content="summary">
    <meta name="twitter:title" content="Apache Cloudstack">
    <meta name="twitter:description" content="CloudStack is open source cloud computing software for creating, managing, and deploying infrastructure cloud services">
    <meta name="twitter:image:src" content="https://cloudstack.apache.org/images/monkey-144.png">

    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=1">

    <link href="stylesheets/bootstrap.css" rel="stylesheet" media="screen">
    <link href="stylesheets/font-awesome.css" rel="stylesheet">
    <link href="stylesheets/bootswatch.min.css" rel="stylesheet">
    <link href="stylesheets/custom.css" rel="stylesheet">

    <link rel="shortcut icon" href="images/favicon.ico">
    <link rel="icon" href="images/favicon.ico">

<!-- Commenting out this template stuff until we figure out how to make it work with middleman
    {% if headers.atom %}
      <link rel="alternate" href="{{ headers.atom.url }}"
            type="application/atom+xml" title="{{ headers.atom.title }}" />
    {% endif %}

    {% if headers.base %}<base href="{{ headers.base }}" />{% endif %}
-->
<!--    {% if headers.notice %}{{ headers.notice }}{% endif %} -->
        <!-- Twitter Bootstrap and jQuery after this line. -->
        <script src="https://code.jquery.com/jquery-latest.js"></script>
        <script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
        <script>
            $('.dropdown-toggle').dropdown();
            $('.nav-collapse').collapse();
        </script>
  </head>
  <body>
    <div class="navbar navbar-default navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <a href="index.html" class="navbar-brand"><img class="" src="images/new-logo-sm.png" style="width: 200px" alt="Apache Cloudstack"></a>
                <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#navbar-main">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
            </div>
            <div class="navbar-collapse collapse" id="navbar-main">
                <ul class="nav navbar-nav">
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="about">About <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="about">
                <li><a tabindex="-1" href="about.html">About</a></li>
                <li class="divider"></li>
                <li><a tabindex="-1" href="https://blogs.apache.org/cloudstack/" target="_blank">Blog<span class="glyphicon glyphicon-share-alt pull-right"></span></a></li>
                <li><a tabindex="-1" href="history.html">History</a></li>
                <li><a tabindex="-1" href="features.html">Features</a></li>
                <li><a tabindex="-1" href="cloudstack-faq.html">FAQ</a></li>
                <li><a tabindex="-1" href="who.html">Who We Are</a></li>
                <li><a tabindex="-1" href="security.html">Security</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="community">Community <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="community">
                <li><a tabindex="-1" href="contribute.html">Get Involved</a></li>
                <li><a tabindex="-1" href="developers.html">Developers</a></li>
                <li><a tabindex="-1" href="mailing-lists.html">Mailing Lists</a></li>
                <li><a tabindex="-1" href="http://cloudstackcollab.org/" target="_blank">Events &amp; Meetups <span class="glyphicon glyphicon-share-alt pull-right"></span></a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="users">Users <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="users">
                <li><a tabindex="-1" href="users.html">Known Users</a></li>
                <li><a tabindex="-1" href="https://cwiki.apache.org/confluence/display/CLOUDSTACK/Case+Studies" target="_blank">Case Studies <span class="glyphicon glyphicon-share-alt pull-right"></span></a></li>
                <li><a tabindex="-1" href="survey.html">Take Survey</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="docs">Documentation <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="docs">
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org" target="_blank">CloudStack Documentation</span></a></li>
                <li><a tabindex="-1" href="https://cwiki.apache.org/confluence/display/CLOUDSTACK/Home" target="_blank">Wiki</a></li>
                <li><a tabindex="-1" href="https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Books" target="_blank">Books</a></li>
                <li><a tabindex="-1" href="api.html">API Documentation</a></li>
                <li class="divider"></li>
                <li><a tabindex="-1">Archived Documentation</a></li>
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/archived-cloudstack-getting-started" target="_blank">&nbsp;&nbsp;&nbsp;Getting Started Docs</span></a></li>
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/archived-cloudstack-installation" target="_blank">&nbsp;&nbsp;&nbsp;Installation Docs</a></li> 
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/archived-cloudstack-administration" target="_blank">&nbsp;&nbsp;&nbsp;Administration Docs</a></li>
                <li><a tabindex="-1" href="http://docs.cloudstack.apache.org/projects/archived-cloudstack-release-notes" target="_blank">&nbsp;&nbsp;&nbsp;Release Notes</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="download">Download <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="download">
                <li><a tabindex="-1" href="downloads.html">CloudStack Releases</a></li>
                <li><a tabindex="-1" href="downloads.html#cloudmonkey">CloudMonkey</a></li>
                <li><a tabindex="-1" href="archives.html">Release Archive</a></li>
              </ul>
            </li>
			<li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#" id="apache">Apache <span class="caret"></span></a>
              <ul class="dropdown-menu" aria-labelledby="apache">
				<li><a tabindex="-1" href="http://apache.org">Apache Software Foundation</a></li>
                <li><a tabindex="-1" href="http://www.apache.org/licenses/">License</a></li>
                <li><a tabindex="-1" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a tabindex="-1" href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
              </ul>
            </li>
          </ul>
            </div>
        </div>
    </div>
    <div class="container">
        <div class="bs-docs-section">
            <div class="row">

<div class="col-lg-12">

<div class="page-header">

<h1 id="indicators">Apache CloudStack: Mailing Lists</h1>

</div>

</div>

</div>

<p>If you're interested in learning more or participating in the Apache CloudStack project, the mailing lists are the best way to do that. While the project has several communications channels, the mailing lists are the most active and the official channels for making decisions about the project itself. <em><a href="http://community.apache.org/newbiefaq.html#NewbieFAQ-IsthereaCodeofConductforApacheprojects?&quot;">"If it didn't happen on a mailing list, it didn't happen."</a></em></p>

<p>The project currently has several lists:</p>

<ul>
  <li><a href="https://lists.apache.org/list.html?announce@cloudstack.apache.org">announce@</a>: Project release, security and other announcements. This is a very low volume list.</li>
  <li><a href="https://lists.apache.org/list.html?users@cloudstack.apache.org">users@</a>: This list is for users of CloudStack to seek and provide support. This is a moderately high volume list.</li>
  <li><a href="https://lists.apache.org/list.html?dev@cloudstack.apache.org">dev@</a>: Where discussions about development and the project itself happen. This is a high volume list.</li>
  <li><a href="https://lists.apache.org/list.html?commits@cloudstack.apache.org">commits@</a>: This list is for commits to the CloudStack git repository. It's a high volume list with automated messages, probably of limited interest to anyone who is not actively developing Apache CloudStack.</li>
  <li><a href="https://lists.apache.org/list.html?issues@cloudstack.apache.org">issues@</a>: Notifications from CloudStack's Jira project. This is a high volume list.</li>
  <li><a href="https://lists.apache.org/list.html?marketing@cloudstack.apache.org">marketing@</a>: Discussions about marketing CloudStack.</li>
</ul>

<p>The preferred language to use on the lists above is English. To support the global nature of the CloudStack user community, we also have the following regionally specific user lists:</p>

<ul>
  <li><a href="https://lists.apache.org/list.html?users-cn@cloudstack.apache.org">users-cn@</a>: Chinese</li>
</ul>

<div>
	<strong>Search the CloudStack Mailing Lists</strong>: <input id="queryStringToSearchOnMailingList" type="text" name="q" size="60" />
	<a id="searchOnCloudStackMailingLists" class="button" target="_blank" href="#">Search</a>
</div>

<script>
	var searchEmailListBaseUrl = "https://lists.apache.org/list.html?users@cloudstack.apache.org:lte=1M&q=";
	$('#queryStringToSearchOnMailingList').change(function(){
		$('#searchOnCloudStackMailingLists').attr('href', searchEmailListBaseUrl + $(this).val());
	});
</script>

<h2 id="to-subscribe-to-the-mailing-lists">To Subscribe to the Mailing Lists</h2>

<p>If you want to subscribe to list, send an email to <em>listname</em>-subscribe@cloudstack.apache.org:</p>

<ul>
  <li>To join the announce mailing list email <a href="mailto:announce-subscribe@cloudstack.apache.org">announce-subscribe@cloudstack.apache.org</a>.</li>
  <li>To join the users mailing list email <a href="mailto:users-subscribe@cloudstack.apache.org">users-subscribe@cloudstack.apache.org</a>.</li>
  <li>To join the users-cn mailing list email <a href="mailto:users-cn-subscribe@cloudstack.apache.org">users-cn-subscribe@cloudstack.apache.org</a>.</li>
  <li>To join the dev mailing list email <a href="mailto:dev-subscribe@cloudstack.apache.org">dev-subscribe@cloudstack.apache.org</a>.</li>
  <li>To join the commits mailing list email <a href="mailto:commits-subscribe@cloudstack.apache.org">commits-subscribe@cloudstack.apache.org</a>.</li>
  <li>To join the issues mailing list email <a href="mailto:issues-subscribe@cloudstack.apache.org">issues-subscribe@cloudstack.apache.org</a>.</li>
  <li>To join the marketing mailing list email <a href="mailto:marketing-subscribe@cloudstack.apache.org">marketing-subscribe@cloudstack.apache.org</a>.</li>
</ul>

<h2 id="to-unsubscribe-to-the-mailing-lists">To Unsubscribe to the Mailing Lists</h2>

<p>Decided you're getting too much mail? To unsubscribe from one of the lists, send an email to <em>listname</em>-unsubscribe@cloudstack.apache.org from the same email you subscribed with.</p>

<ul>
  <li>To leave the announce mailing list email <a href="mailto:announce-unsubscribe@cloudstack.apache.org">announce-unsubscribe@cloudstack.apache.org</a>.</li>
  <li>To leave the users mailing list email <a href="mailto:users-unsubscribe@cloudstack.apache.org">users-unsubscribe@cloudstack.apache.org</a>.</li>
  <li>To leave the users-cn mailing list email <a href="mailto:users-cn-unsubscribe@cloudstack.apache.org">users-cn-unsubscribe@cloudstack.apache.org</a>.</li>
  <li>To leave the dev mailing list email <a href="mailto:dev-unsubscribe@cloudstack.apache.org">dev-unsubscribe@cloudstack.apache.org</a>.</li>
  <li>To leave the commits mailing list email <a href="mailto:commits-unsubscribe@cloudstack.apache.org">commits-unsubscribe@cloudstack.apache.org</a>.</li>
  <li>To leave the issues mailing list email <a href="mailto:issues-unsubscribe@cloudstack.apache.org">issues-unsubscribe@cloudstack.apache.org</a>.</li>
  <li>To leave the marketing mailing list email <a href="mailto:marketing-unsubscribe@cloudstack.apache.org">marketing-unsubscribe@cloudstack.apache.org</a>.</li>
</ul>

<p><strong>Please do not send emails to the list asking for someone to unsubscribe you.</strong></p>

<h2 id="conduct-on-mailing-lists">Conduct on Mailing Lists</h2>

<p>We expect all participants on the mailing list to treat one another professionally and politely.</p>


            <footer>
                <p>Copyright © 2017 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. <br/>
                "Apache", "CloudStack", "Apache CloudStack", the Apache CloudStack logo, the Apache CloudStack Cloud Monkey logo and the Apache feather logos are registered trademarks or trademarks of The Apache Software Foundation.</p>
                <p><a href="/trademark-guidelines.html">Apache CloudStack Trademark Usage</a> - <a href="/bylaws.html">Apache CloudStack Community ByLaws</a></p>
            </footer>

        </div>
    </div>
</div>
  </body>
</html>
