<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<html lang="en">
  <head>
    <title>Apache Creadur</title>

    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <meta property="og:image" content="https://www.apache.org/images/asf_logo.gif" />

    <link href="https://fonts.googleapis.com/css?family=Overlock" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Mate+SC" rel="stylesheet" type="text/css"/>
    <link rel="stylesheet" type="text/css" media="screen" href="/css/style.css">
    <link rel="stylesheet" type="text/css" media="screen" href="/css/code.css">
    <link rel="stylesheet" type="text/css" media="screen" href="/css/creadur.css">
  </head>

  <body>
    <div id="page" class="container_16">
      <div id="header" class="grid_8">
        <img src="https://www.apache.org/images/feather-small.gif" alt="The Apache Software Foundation">
        <h1>The Apache Creadur&trade; Project</h1>
        <h2>Apache Creadur</h2>
      </div>
      <div id="nav" class="grid_8">
        <a href="https://www.apache.org/" id="bannerRight">
           <img
                src="https://www.apache.org/images/asf-logo.gif"
                alt="The Apache Software Foundation"
                title="The Apache Software Foundation" />
        </a>
        <p><a href="/">Home</a></p>
    </div>
      <div class="clear"></div>
      <div id='nav-bar' class="grid_4 alpha">
        <ul>
          <li>
        <a href="https://community.apache.org/">
           <img
                src="https://www.apache.org/images/feather-small.gif"
                alt="The Apache Community"
                title="The Apache Community" />
        </a>             </li>
          <li><h5>Apache Creadur&trade;</h5>
            <ul>
              <li><a href="/">Creadur Project Home</a></li>
              <li><a href="./rat">Apache Rat&trade;</a></li>
              <li><a href="./tentacles">Apache Tentacles&trade;</a></li>
              <li><a href="./whisker">Apache Whisker&trade;</a></li>
              <li><a href="https://www.apache.org/security/">Security</a></li>
              <li><a href="https://www.apache.org/licenses/">License</a></li>
              <li><a
                href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
              <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
            </ul>
         </li>
        <li><h5>The Apache Software Foundation</h5>
            <ul>
              <li><a href="https://www.apache.org/foundation">About the Foundation</a></li>
              <li><a href="https://projects.apache.org" title="The Projects">The projects</a></li>
              <li><a href="https://people.apache.org" title="The People">The people</a></li>
              <li><a href='https://www.apache.org/foundation/how-it-works.html'>How we work</a></li>
              <li><a href='https://www.apache.org/foundation/how-it-works.html#history'>Our history</a></li>
              <li><a href='https://blogs.apache.org/foundation/'>News</a></li>
            </ul>
        </li>
        <li><h5>Contribute</h5>
            <ul>
              <li><a href="https://www.apache.org/foundation/getinvolved.html" title="Get Involved">Get Involved</a></li>
              <li><a href="https://mail-archives.apache.org/mod_mbox/creadur-dev/" title="Our mailing lists">Mailing lists</a></li>
              <li><a href="https://issues.apache.org/jira/secure/BrowseProjects.jspa#11060" title="Issue tracking">Record an issue</a></li>
              <li><a href="https://community.apache.org/contributors/index.html" title="Apache community guide to contribution">Contributors guide</a></li>
              <li><a href="https://www.apache.org/dev/#committers" title="Some notes for Apache contributions">Contributors' FAQ</a></li>
            </ul>
        </li>
        <li><h5>Committer Info</h5>
            <ul>
              <li><a href='https://www.apache.org/dev/committers.html'>Committers' FAQ</a></li>
              <li><a href='https://www.apache.org/dev/new-committers-guide.html'>New Committers Guide</a></li>
              <li><a href='https://planet.apache.org/committers/'>Plant Apache</a></li>
              <li><a href='https://community.apache.org/'>Community</a></li>
              <li><a href='https://www.apache.org/legal/'>Legal</a></li>
              <li><a href='https://www.apache.org/foundation/marks/'>Branding</a></li>
              <li><a href='https://www.apache.org/press/'>Media Relations</a></li>
            </ul>
        </li>
        <li>
        <a href="https://community.apache.org/">
            <img
                src="https://www.apache.org/images/feather-small.gif"
                alt="The Apache Community"
                title="The Apache Community" />
 </a>
        </li>

      </ul>
    </div>
      <div id="content" class="grid_12 omega"><div class="section-content"><h1 id="welcome-to-apache-creadur">Welcome to Apache Creadur</h1>
<h2 id="about-apache-creadur">About Apache Creadur</h2>
<p>This project started as just <a href="https://code.google.com/p/arat/">Rat</a>, a release auditing tool good with licenses, coded in Java with plugins for <a href="https://ant.apache.org">Ant</a>
and
<a href="https://maven.apache.org">Maven</a>. After adding some new tricks, it became clear that creating one uber-tool in one language is less useful than collecting a suite: </p>
<ul>
<li><a href="rat">Apache Rat</a>&trade; audits license headers &mdash; the boilerplate text needed in most source files. Coded in Java, it runs from the command line with plugins for Maven and Ant. Download <a href="rat/download_rat.cgi">the latest release</a> or read the <a href="release-notes/rat.txt">release notes</a>.</li>
<li><a href="tentacles">Apache Tentacles</a>&trade; helps to audit in bulk components uploaded to a staging repository. Coded in Java, it runs from the command line.</li>
<li><a href="whisker">Apache Whisker</a>&trade; assists assembled applications maintain correct legal documentation. Coded in Java, it runs from the command line or as a plugin for Maven. </li>
</ul>
<h3 id="version-history">Version history</h3>
<ul>
<li>2022-05-28 &mdash; <a href="rat">Apache Rat</a> 0.14 released - (<a href="release-notes/RELEASE-NOTES-014.txt">release notes</a> / <a href="./rat/">project reports</a>)</li>
<li>2018-10-13 &mdash; <a href="rat">Apache Rat</a> 0.13 released (<a href="release-notes/rat.txt">release notes</a>)</li>
<li>2016-06-10 &mdash; <a href="rat">Apache Rat</a> 0.12 released (<a href="release-notes/rat.txt">release notes</a>)</li>
<li>2014-08-25 &mdash; <a href="rat">Apache Rat</a> 0.11 released (<a href="release-notes/rat.txt">release notes</a>)</li>
<li>2013-09-05 &mdash; <a href="rat">Apache Rat</a> 0.10 released (<a href="release-notes/rat.txt">release notes</a>)</li>
<li>2013-06-13 &mdash; <a href="rat">Apache Rat</a> 0.9 released (<a href="release-notes/rat.txt">release notes</a>)</li>
</ul>
<h3 id="news">News</h3>
<a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" alt="Current ApacheCon logo"/></a>
<ul>
<li><a href="https://apachecon.com">ApacheCon</a> is held in various locations around the globe</li>
<li>Summer 2013 &mdash; welcome to <a href="https://github.com/elnuma/">Manuel Suárez Sánchez</a>, our 2013 <a href="https://developers.google.com/open-source/soc/">Google Summer of Code</a> student </li>
</ul>
<h3 id="learn-more-about-licensing">Learn More About Licensing</h3>
<p>Some recommended resources</p>
<ul>
<li><a href="https://www.rosenlaw.com/oslbook.htm">Open Source Licensing</a> by Lawrence Rosen</li></li>
<li><a href="https://www.softwarefreedom.org/">Software Freedom Law Center</a> <a href="https://www.softwarefreedom.org/resources">publications</a></li>
<li><a href="https://jolts.world/">JOLTS. The Journal of Open Law, Technology &amp; Society</a></li>
<li><a href="https://ifosslawbook.org">The International Free and Open Source Software Law Book</a></li>
</ul>
<hr />
<h1 id="the-apache-creadur-project">The Apache Creadur Project</h1>
<p>Apache Creadur is a top level <a href="https://projects.apache.org/">project</a> of the <a href="https://www.apache.org">Apache Software Foundation</a> (ASF), a <a href="https://www.apache.org/foundation/faq.html#what">non-profit</a> <a href="https://www.apache.org/foundation/faq.html#is-ASF-a-corporation">corporation</a> <a href="https://www.apache.org/foundation/faq.html#why">dedicated</a> to the creation of <a href="https://www.opensource.org/">open source software</a> and distributed to the public at no cost.  Apache develops software with a collaborative, consensus based <a href="https://www.apache.org/foundation/how-it-works.html">process</a> based on self-organising <a href="https://community.apache.org/">community-focused</a> projects.</p>
<h2 id="license">License</h2>
<p>Apache (in general) and Creadur (in particular) licenses its software to the public under the <a href="https://www.opensource.org/licenses/Apache-2.0">open source</a> <a href="https://www.apache.org/licenses/LICENSE-2.0.html">Apache License, Version 2.0</a>. Not every (third party) artifact included in an Apache distribution is covered by this license but <a href="https://www.apache.org/legal/">policy</a> allows only compatible licenses that are <a href="https://creadur.apache.org/whisker/">well reported</a>.  A <a href="https://www.apache.org/licenses/">system</a> of <a href="https://www.apache.org/licenses/index.html#clas">contributor license agreements</a> and <a href="https://www.apache.org/licenses/index.html#grants">software grants</a> ties everything together from the legal perspective. </p>
<p>Start <a href="https://www.apache.org/foundation/license-faq.html">here</a> to learn more about licensing, or browse  <a href="https://www.apache.org/legal/">Apache Legal Affairs</a>. </p>
<h2 id="reports">Reports</h2>
<p>Each ASF project <a href="https://community.apache.org/boardreport.html">reports</a> regularly to the <a href="https://www.apache.org/foundation/board/">board</a>, focusing on the health of the community. For Creadur, quarterly reports are due in February, May, August and November.</p>
<p>The official reports are found in the board minutes but drafts are <a href="boardreport.html">here</a>.</p>
<hr />
<p>We maintain this page using the Gitpub infrastructure.<br>
Some tools in the suite use sub-sites, generated using Maven, then checked in.</p></div></div>
      <div class="clear"></div>
    </div>
    <div id="copyright" class="container_16">
      <p>Copyright &#169; 2012-2022 The Apache Software Foundation, Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
      Apache Creadur, Creadur, Apache Rat, Apache Tentacles, Apache Whisker, Apache and the Apache feather logo are <a href="https://www.apache.org/foundation/marks/">trademarks</a> of <a href="https://www.apache.org">The Apache Software Foundation</a>.<br/>
      All other marks mentioned may be trademarks or registered trademarks of their respective owners.
      </p>
      <p>
      </p>
    </div>
  </body>
</html>
