<!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>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>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>
