---
# layout for front page, contianing only the footer, with a bit more text
layout: base
---
<div class="container slightlyNarrowContainer">
    {{ content }}
</div>

<div id="footer">
    <div class="container">
        <div class="row">
            <div class="col-md-9 text-muted">
                Apache Brooklyn is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the 
                Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the
                infrastructure, communications, and decision making process have stabilized in a manner consistent with other
                successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of
                the code, it does indicate that the project has yet to be fully endorsed by the ASF.
                Apache Brooklyn is distributed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License v2.0</a>.
            </div>
            <div class="col-md-3">
                <p><img src="https://incubator.apache.org/images/egg-logo.png" alt="Apache Incubator" /></p>
                <p>
                    <a class="btn btn-sm btn-default" href="https://github.com/apache/incubator-brooklyn-site/edit/master/{{ page.path }}">Edit This Page</a>
                    <br />
                    <a href="https://brooklyn.incubator.apache.org/community/how-to-contribute-docs.html">help with editing</a>
                </p>
            </div>
        </div>
    </div>
</div>
