<!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="bylaws.html">Community Bylaws</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>
