---
layout: page
title: "Apache Software Foundation"
permalink: /apacheASF/
---
<p>
    Drill is an Apache Software Foundation project that has benefited from a large community of developers and
    users.Thank you to everyone that has worked on the project and to the Apache Software Foundation sponsors.
</p>

<p> For information about project</p>
<ul>
    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
    <li><a href="https://www.apache.org/licenses/">Licensing</a></li>
    <li><a href="https://www.apache.org/security/">Report Security Vulnerabilities</a></li>
    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li>
</ul>
