<!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="https://creadur.apache.org">Creadur Project Home</a></li>
              <li><a href="https://creadur.apache.org/rat">Apache Rat&trade;</a></li>
              <li><a href="https://creadur.apache.org/tentacles">Apache Tentacles&trade;</a></li>
              <li><a href="https://creadur.apache.org/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>2018-10-13 &mdash; <a href="rat">Apache Rat</a> 0.13 in staging repository - release is work in progress</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>
<ul>
<li><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></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>
<li>26-28 February 2013 &mdash; <a href="http://na.apachecon.com">ApacheCon North America</a> was held in Portland, Oregon </li>
<li>5–8 November 2012 &mdash; <a href="http://www.apachecon.com/">ApacheCon Europe</a> was held in Sinsheim, Germany</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="http://www.ifosslr.org/">International Free and Open Source Software Law Review</a></li>
<li><a href="http://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="http://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-2018 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>
