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