<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia Site Renderer 1.3 at Jul 31, 2013 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache Whisker™ - Introducing Apache Whisker</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20130731" />
    <meta http-equiv="Content-Language" content="en" />
                                                    
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Mate+SC"/>
                      
        </head>
  <body class="composite">
    <div id="banner">
                    <div id="bannerLeft">
                Apache Whisker
                </div>
                              <a href="http://www.apache.org/" id="bannerRight">
                                        <img src="http://www.apache.org/images/asf_logo_wide.jpg" alt="The Apache Software Foundation" title="The Apache Software Foundation" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
            
                <div class="xleft">
        <span id="publishDate">Last Published: 2013-07-31</span>
                  &nbsp;| <span id="projectVersion">Version: 0.1-SNAPSHOT</span>
                          |                           <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a>
        &gt;
                          <a href="http://creadur.apache.org/" class="externalLink" title="Creadur">Creadur</a>
        &gt;
                          <a href="http://creadur.apache.org/whisker/" class="externalLink" title="Whisker">Whisker</a>
        &gt;
    Introducing Apache Whisker
              </div>
            <div class="xright">        
            
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
            
                                <h5>Apache Whisker™</h5>
                  <ul>
                  <li class="none">
            <strong>Introducing Whisker</strong>
          </li>
                  <li class="none">
                          <a href="meta-data.html" title="Meta Data">Meta Data</a>
            </li>
                  <li class="none">
                          <a href="apache-whisker-plugin4maven/index.html" title="Maven Plugin">Maven Plugin</a>
            </li>
                  <li class="none">
                          <a href="apache-whisker-cli/index.html" title="Command Line">Command Line</a>
            </li>
                  <li class="none">
                          <a href="apidocs/index.html" title="Javadocs">Javadocs</a>
            </li>
                  <li class="none">
                          <a href="xref/index.html" title="Source Cross-ref">Source Cross-ref</a>
            </li>
                  <li class="none">
                          <a href="faq.html" title="FAQ">FAQ</a>
            </li>
          </ul>
                       <h5>Examples</h5>
                  <ul>
                  <li class="none">
                          <a href="examples/in-5-mins.html" title="In 5 Minutes">In 5 Minutes</a>
            </li>
                  <li class="none">
                          <a href="examples/3rd-party-individual.html" title="3rd Party (Individual)">3rd Party (Individual)</a>
            </li>
                  <li class="none">
                          <a href="examples/3rd-party-corporate.html" title="3rd Party (Corporate)">3rd Party (Corporate)</a>
            </li>
                  <li class="none">
                          <a href="examples/3rd-party-group.html" title="3rd Party (Group)">3rd Party (Group)</a>
            </li>
                  <li class="none">
                          <a href="examples/license-family.html" title="License Family">License Family</a>
            </li>
                  <li class="none">
                          <a href="examples/copyright-notices.html" title="Copyright Notices">Copyright Notices</a>
            </li>
          </ul>
                       <h5>Sample Meta Data</h5>
                  <ul>
                  <li class="none">
                          <a href="examples/james.xml" title="Apache James">Apache James</a>
            </li>
                  <li class="none">
                          <a href="examples/public-domain.xml" title="Public Domain">Public Domain</a>
            </li>
                  <li class="none">
                          <a href="examples/template-license.xml" title="Template License">Template License</a>
            </li>
                  <li class="none">
                          <a href="examples/license-family-sample.xml" title="License Family">License Family</a>
            </li>
                  <li class="none">
                          <a href="examples/3rd-party-individual-sample.xml" title="3rd Party (Individual)">3rd Party (Individual)</a>
            </li>
                  <li class="none">
                          <a href="examples/3rd-party-corporate-sample.xml" title="3rd Party (Corporate)">3rd Party (Corporate)</a>
            </li>
                  <li class="none">
                          <a href="examples/3rd-party-group-sample.xml" title="3rd Party (Group)">3rd Party (Group)</a>
            </li>
                  <li class="none">
                          <a href="examples/in-5-mins-sample.xml" title="MIT License">MIT License</a>
            </li>
                  <li class="none">
                          <a href="examples/copyright-notices-sample.xml" title="Copyright Notices">Copyright Notices</a>
            </li>
          </ul>
                       <h5>Apache Creadur ™</h5>
                  <ul>
                  <li class="none">
                          <a href="http://creadur.apache.org" class="externalLink" title="Creadur Project Home">Creadur Project Home</a>
            </li>
                  <li class="none">
                          <a href="http://creadur.apache.org/rat" class="externalLink" title="Apache Rat">Apache Rat</a>
            </li>
                  <li class="none">
                          <a href="http://creadur.apache.org/tentacles" class="externalLink" title="Apache Tentacles">Apache Tentacles</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/licenses/" class="externalLink" title="License">License</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a>
            </li>
          </ul>
                       <h5>The Apache Software Foundation</h5>
                  <ul>
                  <li class="none">
                          <a href="http://www.apache.org/foundation" class="externalLink" title="About the Foundation">About the Foundation</a>
            </li>
                  <li class="none">
                          <a href="http://projects.apache.org" class="externalLink" title="The projects">The projects</a>
            </li>
                  <li class="none">
                          <a href="http://people.apache.org" class="externalLink" title="The people">The people</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How we work">How we work</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/how-it-works.html#history" class="externalLink" title="Our history">Our history</a>
            </li>
                  <li class="none">
                          <a href="http://blogs.apache.org/foundation/" class="externalLink" title="News">News</a>
            </li>
          </ul>
                       <h5>Contribute</h5>
                  <ul>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/getinvolved.html" class="externalLink" title="Get Involved">Get Involved</a>
            </li>
          </ul>
                       <h5>Committer Info</h5>
                  <ul>
                  <li class="none">
                          <a href="http://www.apache.org/dev/committers.html" class="externalLink" title="Committers' FAQ">Committers' FAQ</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/dev/new-committers-guide.html" class="externalLink" title="New Committers Guide">New Committers Guide</a>
            </li>
                  <li class="none">
                          <a href="http://planet.apache.org/committers/" class="externalLink" title="Plant Apache">Plant Apache</a>
            </li>
                  <li class="none">
                          <a href="http://community.apache.org/" class="externalLink" title="Community">Community</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/legal/" class="externalLink" title="Legal">Legal</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/marks/" class="externalLink" title="Branding">Branding</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/press/" class="externalLink" title="Media Relations">Media Relations</a>
            </li>
          </ul>
                       <h5>Project Documentation</h5>
                  <ul>
                                                                                                                                                                                                                                                                                                                                          <li class="expanded">
                          <a href="project-info.html" title="Project Information">Project Information</a>
                    <ul>
                      <li class="none">
                          <a href="distribution-management.html" title="Distribution Management">Distribution Management</a>
            </li>
                      <li class="none">
            <strong>About</strong>
          </li>
                      <li class="none">
                          <a href="dependencies.html" title="Dependencies">Dependencies</a>
            </li>
                      <li class="none">
                          <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
            </li>
                      <li class="none">
                          <a href="plugins.html" title="Project Plugins">Project Plugins</a>
            </li>
                      <li class="none">
                          <a href="integration.html" title="Continuous Integration">Continuous Integration</a>
            </li>
                      <li class="none">
                          <a href="license.html" title="Project License">Project License</a>
            </li>
                      <li class="none">
                          <a href="dependency-management.html" title="Dependency Management">Dependency Management</a>
            </li>
                      <li class="none">
                          <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
            </li>
                      <li class="none">
                          <a href="team-list.html" title="Project Team">Project Team</a>
            </li>
                      <li class="none">
                          <a href="dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a>
            </li>
                      <li class="none">
                          <a href="source-repository.html" title="Source Repository">Source Repository</a>
            </li>
                      <li class="none">
                          <a href="plugin-management.html" title="Plugin Management">Plugin Management</a>
            </li>
                      <li class="none">
                          <a href="modules.html" title="Project Modules">Project Modules</a>
            </li>
                      <li class="none">
                          <a href="project-summary.html" title="Project Summary">Project Summary</a>
            </li>
              </ul>
        </li>
                                                                                                                                                              <li class="collapsed">
                          <a href="project-reports.html" title="Project Reports">Project Reports</a>
                  </li>
          </ul>
                                                                                                                               <a href="http://maven.apache.org/" title="Maven" class="poweredBy">
        <img class="poweredBy"  alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png"     />
      </a>
                       
            
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --><!--  --><!-- 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. --><!--  --><!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --><div class="section"><h2>What Is Apache Whisker?<a name="What_Is_Apache_Whisker"></a></h2><p>Apache Whisker assists assembled applications maintain correct legal documentation.</p><p>Apache Whisker is part of the <a class="externalLink" href="http://creadur.apache.org">Apache Creadur</a> language- and build-agnostic suite of tools for auditing and comprehending software distributions. Our community develops <a class="externalLink" href="http://www.opensource.org/"> open source software</a> the <a class="externalLink" href="http://www.apache.org/foundation/how-it-works.html"> Apache Way</a>.</p><p>Whisker just helps to maintain information more efficiently, and is <a href="./faq.html#what-whisker-is-not">no substitute</a> for solid legal work. No part of our documentation is <a href="./faq.html#what-this-documentation-is-not">legal advice</a>, and readers are assumed to have a practical understanding of the relevant laws.</p><p>Learn about copyright and software licensing <a href="../faq.html#more-resources">here</a>.</p><div class="section"><h3>How Can Whisker Help?<a name="How_Can_Whisker_Help"></a></h3><p>Whisker can</p><ul><li>verify - checking meta-data quality against a distribution</li><li>generate - legal documents from meta-data</li></ul><p>Particular useful for complex assembled applications.</p><div class="section"><h4>What's An Assembled Application?<a name="Whats_An_Assembled_Application"></a></h4><p>An assembled application is composed from libraries and frameworks.</p><p>Read more <a href="./faq.html#complex-software-applications">here</a>.</p></div><div class="section"><h4>What Legal Documentation?<a name="What_Legal_Documentation"></a></h4><p>NOTICE and LICENSE are supported examples.</p></div><div class="section"><h4>How Does Whisker Work?<a name="How_Does_Whisker_Work"></a></h4><p>Licensing <a href="./meta-data.html"> meta-data</a> describes the legal qualities of the components assembled.</p></div></div><div class="section"><h3>How Can I Use Whisker?<a name="How_Can_I_Use_Whisker"></a></h3><ul><li>From the <a href="./apache-whisker-cli/index.html"> command line</a></li><li>As a <a href="./apache-whisker-plugin4maven/index.html"> plugin for Maven</a></li></ul></div><div class="section"><h3>Getting Started<a name="Getting_Started"></a></h3><p>Browse the <a href="./xref/index.html">source</a>, read the <a href="./apidocs/index.html">javadocs</a>, take a look</p><ul><li><a href="./examples/in-5-mins.html">Whisker In 5 Minutes</a></li></ul><p>dive into sample meta-data</p><ul><li><a href="./examples/james.xml"> Apache James</a></li><li><a href="./examples/public-domain.xml"> Public Domain</a></li><li><a href="./examples/template-license.xml"> Template License</a></li><li><a href="./examples/license-family-sample.xml">License Family</a></li><li>Whisker In 5 Minutes featuring the <a href="./examples/in-5-mins-sample.xml">MIT License</a></li><li>distributing work licensed from<ul><li>an <a href="./examples/3rd-party-individual-sample.xml"> individual maintainer</a></li><li>a for- or non-profit <a href="./examples/3rd-party-corporate-sample.xml">corporation</a></li><li>an informal <a href="./examples/3rd-party-group-sample.xml">group</a></li></ul></li><li><a href="./examples/copyright-notices-sample.xml">copyright notices</a></li></ul><p>or browse the <a href="./faq.html">FAQ</a>.</p><p>A warm welcome is guaranteed on our <a href="../mail-lists.html">mail lists</a>.</p><div class="section"><h4>More Examples<a name="More_Examples"></a></h4><ul><li>Including a 3rd Party work licensed by<ul><li>an <a href="./examples/3rd-party-individual.html">individual</a></li><li>a for- or non-profit <a href="./examples/3rd-party-corporate.html">corporation</a></li><li>an <a href="./examples/3rd-party-group.html">informal group</a></li></ul></li><li><a href="./examples/license-family.html">Parameterising a template</a> for a <a href="./faq.html#what-is-license-family">license family</a>, featuring the <a class="externalLink" href="http://opensource.org/licenses/BSD-2-Clause">BSD (2 Clause) license</a></li><li>All about <a href="./examples/copyright-notices.html">copyright notices</a></li></ul></div></div></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
              <?xml version="1.0" encoding="UTF-8"?>
<footer>Copyright © 2012 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
      Apache Creadur, Creadur, Apache Rat, Apache Tentacles, Apache Whisker, Apache and the Apache feather logo are trademarks
      of The Apache Software Foundation.
      All other marks mentioned may be trademarks or registered trademarks of their respective owners.
      This is user documentation, not legal advice.</footer>
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>