---
title: Apache Polygene™ Licensing FAQ
layout: default
---
<div class="page-header">
    <h1>Licensing FAQ</h1>
</div>

<div class="row-fluid">
    <div class="span2"></div>
    <div class="span8">

        <h2>Combined & Derived Work</h2>
        <dl>

            <dt class="lead">
            <strong>Q</strong>: Can I use Apache Polygene™ Core in my commercial applications under a closed-source, proprietary license?
            </dt>
            <dd>
                <strong>A</strong>: Yes. The Apache License is very business-friendly. Please observe the obligations on your part,
                especially regarding notices, trademarks and patent licensing terms.
            </dd>

        </dl>

        <h2>Trademarks</h2>
        <dl>

            <dt class="lead">
            <strong>Q</strong>: My company has invested a lot of time to learn and understand the Apache Polygene™ platform, and we think we
            are really good at writing Apache Polygene™ applications and would like to start training others. Can we advertise that we are
            "Apache Polygene™ experts" or that we conduct "Advanced Apache Polygene™ training"?
            </dt>
            <dd>
                <strong>A</strong>: The Apache Software Foundation has a unified <a href="http://www.apache.org/foundation/marks/">trademarks and branding policy</a>, which covers this question. This is somewhat more strict than the pre-ASF policy in the Apache Polygene™ project, and if you have any doubts, please contact the Apache Polygene project for clarification. The intent of the Project Management Committee is to lean towards "permissible" rather than "exclusionary", as long as credit is given where credit is due. <strong>Also</strong> be aware that all references to "Polygene" MUST be "Apache Polygene™".
            </dd>
        </dl>

    </div>
    <div class="span2"></div>
</div>
