<!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">
    
<!--    {% 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 Trademark Guidelines</h1>

</div>

</div>

</div>

<p>Apache CloudStack, CloudStack, the CloudStack word design, the Apache 
CloudStack word design, the cloud monkey logo, either separately or in 
combination are hereinafter referred to as "CloudStack Trademarks" and 
are trademarks or registered trademarks of the Apache Software 
Foundation. Excepting the provisions outlined below you may not use the 
CloudStack trademarks or any confusingly similar mark as a trademark for 
your product, to imply endorsement by the project, or use the CloudStack 
trademarks in any other manner that might cause confusion in the 
marketplace.</p>

<p>Trademark law dictates that owners must police their marks or risk the 
loss of the marks.</p>

<p>The Apache Software Foundation has an established trademark policy 
(<a href="http://www.apache.org/foundation/marks">http://www.apache.org/foundation/marks</a>) 
that when in conflict should be considered the canonical standard (with one 
exception noted below).</p>

<p>However, the Apache Software Foundation has given the responsibility for 
brand management to the project's Project Management Committee. Thus 
this document should be taken as additive to the Apache Software 
Foundation's trademark guideline. Nothing contained herein provides an 
exception to those guidelines (again, with one exception below).</p>

<p><em>Exception:</em> The Apache CloudStack PMC is the contact point for all requests
related to the use of the CloudStack Trademarks. In places where the Apache
Software Foundation's formal trademark usage documentation and policies specify
trademarks@apache.org, requesters should use press@cloudstack.apache.org or
private@cloudstack.apache.org.  In places where the Apache Software
Foundation's policies specify that explicit approval must come from the VP
Brand Management, requesters will be given authoritative approval from a
representative of the Apache CloudStack PMC instead.  The Apache Software
Foundation has delegated approval authority to the Apache CloudStack PMC,
specifically related to the CloudStack Trademarks.</p>

<h2 id="mark-usage">Mark usage</h2>

<h3 id="wordmark">Wordmark</h3>

<p>The word 'CloudStack' is a registered trademark, 
and should use the '®' symbol. In places where that symbol is not 
reasonably used it is acceptable to use '(R)' as an alternative.</p>

<h3 id="other-cloudstack-marks">Other CloudStack marks</h3>

<p>The CloudStack word design, the Apache CloudStack word design, the
'Apache CloudStack' wordmark  and the 
cloud monkey logo are all trademarks and should not appear without the 
'™' symbol being present.</p>

<h3 id="apache-cloudstack-logo-tm">Apache CloudStack Logo (TM)</h3>

<p>The Apache CloudStack logo with the "TM" symbol present may be 
downloaded here:</p>

<ul>
  <li><a href="http://svn.apache.org/repos/asf/cloudstack/media/ai/apache_cloudstack.ai">Apache CloudStack logo with "open source cloud computing" tagline (.ai file)</a></li>
  <li><a href="http://svn.apache.org/repos/asf/cloudstack/media/ai/apache_cloudstack_sans_tagline.ai">Apache CloudStack logo without the tagline (.ai file)</a></li>
  <li><a href="http://svn.apache.org/repos/asf/cloudstack/media/ai/apache_cloudstack_with_cloud_monkey.ai">Apache CloudStack logo with "open source cloud computing" tagline and the Cloud Monkey (.ai file)</a></li>
  <li><a href="http://svn.apache.org/repos/asf/cloudstack/media/jpeg/apache_cloudstack.jpg">Apache CloudStack logo with "open source cloud computing" tagline (JPEG file)</a></li>
  <li><a href="http://svn.apache.org/repos/asf/cloudstack/media/jpeg/apache_cloudstack_sans_tagline.jpg">Apache CloudStack logo without the tagline (JPEG file)</a></li>
  <li><a href="http://svn.apache.org/repos/asf/cloudstack/media/jpeg/apache_cloudstack_with_cloud_monkey.jpg">Apache CloudStack logo with "open source cloud computing" tagline and the Cloud Monkey (JPEG file)</a></li>
</ul>

<h2 id="events">Events</h2>

<h3 id="exhibiting-at-events">Exhibiting at Events:</h3>

<p>Apache CloudStack committers may, without prior approval, use the 
CloudStack Trademarks to promote exhibits or sessions at events with the 
aim to promote Apache CloudStack, though the general adherence to the 
ASF's trademark guidelines is still required.</p>

<h3 id="sponsoring-events">Sponsoring Events:</h3>

<p>Sponsoring events can provide good visibility for the project, however 
it frequently requires funds that the project does not have access to. 
Many outside organizations wish to provide this type of visibility.</p>

<p>The following is required:</p>

<ul>
  <li>Sponsorship discussed and approved on the <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#112;&#114;&#101;&#115;&#115;&#064;&#099;&#108;&#111;&#117;&#100;&#115;&#116;&#097;&#099;&#107;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#112;&#114;&#101;&#115;&#115;&#064;&#099;&#108;&#111;&#117;&#100;&#115;&#116;&#097;&#099;&#107;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a> mailing list.</li>
  <li>Requests for approval will be acknowledged by a member of the PMC and approved automatically if no issues are raised 72 hours after acknowledgement.</li>
  <li>Sponsorship must be provided with no additional affiliation - and only project provided marks used.</li>
  <li>At least one committer must be planning to represent the project.</li>
</ul>

<h3 id="cloudstack-specific-conferences">CloudStack Specific Conferences:</h3>

<p>The following is required:</p>

<ul>
  <li>Project approval from the PMC is needed via the <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#112;&#114;&#101;&#115;&#115;&#064;&#099;&#108;&#111;&#117;&#100;&#115;&#116;&#097;&#099;&#107;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#112;&#114;&#101;&#115;&#115;&#064;&#099;&#108;&#111;&#117;&#100;&#115;&#116;&#097;&#099;&#107;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a> mailing list.</li>
  <li>Requests for approval will be acknowledged by a member of the PMC and approved automatically if no issues are raised 72 hours after acknowledgement.</li>
  <li>Membership on committees deciding content should be open to any Committer.</li>
  <li>At least one committer must be planning to attend the event.</li>
</ul>

<h3 id="meetup-groups-hackfests-barcamps-birds-of-a-feather-and-other-small-events">Meetup groups, hackfests, barcamps, Birds of a Feather, and other small events:</h3>

<p>Local area user events are encouraged.</p>

<ul>
  <li>Events which include the CloudStack name, should be styled: "Apache CloudStack"</li>
  <li>Annotation on the group's web presence should indicate that there is no affiliation between the group and the project.</li>
  <li>A link to the project's website should be present.</li>
</ul>

<h2 id="non-software-goods">Non-software goods</h2>

<p>Creating non-software goods (e.g.: stickers, event give-aways, etc…) to help
promote the Apache CloudStack project is encouraged.  However, there are some
requirements that must be met prior to producing the goods.  Additionally,
goods bearing any of the CloudStack marks may not be sold without explicit
written permission.</p>

<p>The following is required:</p>

<ul>
  <li>The design (mock-up) must be shared with the CloudStack PMC via <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#112;&#114;&#101;&#115;&#115;&#064;&#099;&#108;&#111;&#117;&#100;&#115;&#116;&#097;&#099;&#107;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#112;&#114;&#101;&#115;&#115;&#064;&#099;&#108;&#111;&#117;&#100;&#115;&#116;&#097;&#099;&#107;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a>.</li>
  <li>Requests for approval will be acknowledged by a member of the PMC and approved automatically if no issues are raised 72 hours after acknowledgement.</li>
  <li>Permission may be granted for requests that are intended to promote the Apache CloudStack project.</li>
  <li>Permission will likely <em>not</em> be granted for requests that are indented to, or percieved to by the PMC, reflect negatively on Apache CloudStack.</li>
  <li>Approval may be contingent on specific requested changed in how the mark(s) are applied.</li>
</ul>

<h2 id="websites">Websites</h2>

<p>No additional guidelines are required above and beyond the 
<a href="http://www.apache.org/foundation/marks/domains.html">Third Party Domain Name Branding Policy</a>. 
In general:</p>

<blockquote>
  <p>you may not use Apache marks such as "ApacheFoo" or "Foo" in your own 
domain names if that use would be likely to confuse a relevant consumer 
about the source of software or services provided through your domain 
with products or services provided by the Apache Foo project or the 
Apache Software Foundation as a whole. You should apply the 
"likelihood of confusion" test described in our 
<a href="http://www.apache.org/foundation/marks/">formal Trademark Policy</a>, and 
please realize that the use of Apache marks in third party domain 
names is generally not "nominative fair use."</p>
</blockquote>


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