<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="Apache Forrest" name="Generator">
<meta name="Forrest-version" content="0.8-dev">
<meta name="Forrest-skin-name" content="pelt">
<title>Thanks from Apache Forrest</title>
<link type="text/css" href="skin/basic.css" rel="stylesheet">
<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
<link type="text/css" href="skin/profile.css" rel="stylesheet">
<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
<link rel="shortcut icon" href="favicon.ico">
</head>
<body onload="init()">
<script type="text/javascript">ndeSetTextSize();</script>
<div id="top">
<!--+
    |breadtrail
    +-->
<div class="breadtrail">
<a href="http://www.apache.org/">apache</a> &gt; <a href="http://forrest.apache.org/">forrest</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
</div>
<!--+
    |header
    +-->
<div class="header">
<!--+
    |start group logo
    +-->
<div class="grouplogo">
<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="images/apache-forrest.png" title="The Apache Software Foundation"></a>
</div>
<!--+
    |end group logo
    +-->
<!--+
    |start Project Logo
    +-->
<div class="projectlogo">
<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="images/project-logo.gif" title="Apache Forrest"></a>
</div>
<!--+
    |end Project Logo
    +-->
<!--+
    |start Search
    +-->
<div class="searchbox">
<form action="http://www.google.com/search" method="get" class="roundtopsmall">
<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
                    <input name="Search" value="Search" type="submit">
</form>
</div>
<!--+
    |end search
    +-->
<!--+
    |start Tabs
    +-->
<ul id="tabs">
<li class="current">
<a class="selected" href="index.html">Welcome</a>
</li>
<li>
<a class="unselected" href="contrib.html">Developers</a>
</li>
<li>
<a class="unselected" href="versions/index.html">Versioned Docs</a>
</li>
<li>
<a class="unselected" href="pluginDocs/index.html">Plugins</a>
</li>
<li>
<a class="unselected" href="tools/index.html">Tools</a>
</li>
</ul>
<!--+
    |end Tabs
    +-->
</div>
</div>
<div id="main">
<div id="publishedStrip">
<!--+
    |start Subtabs
    +-->
<div id="level2tabs"></div>
<!--+
    |end Endtabs
    +-->
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<!--+
    |breadtrail
    +-->
<div class="breadtrail">

             &nbsp;
           </div>
<!--+
    |start Menu, mainarea
    +-->
<!--+
    |start Menu
    +-->
<div id="menu">
<div onclick="SwitchMenu('menu_selected_1.1', 'skin/')" id="menu_selected_1.1Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">About</div>
<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
<div class="menuitem">
<a href="index.html" title="Welcome and introduction">About Forrest</a>
</div>
<div class="menuitem">
<a href="linkmap.html" title="Table of Contents for all Forrest documentation">Documentation ToC</a>
</div>
<div class="menuitem">
<a href="http://forrest.apache.org/mirrors.cgi" title="Download a release from your nearest mirror or get the latest from SVN">Download</a>
</div>
<div class="menuitem">
<a href="mail-lists.html" title="Discussion mail lists are the heart of the project: dev, user, svn">Mail lists and discussion</a>
</div>
<div class="menuitem">
<a href="license.html" title="Notes and FAQs about the licensing">License</a>
</div>
<div class="menuitem">
<a href="forrest-contract.html" title="What each party can expect">Our contract</a>
</div>
<div class="menuitem">
<a href="compliance.html" title="Declare the status of HTML, WAI, CSS compliance">Standards compliance</a>
</div>
<div class="menuitem">
<a href="forrest-issues.html" title="List of currently open issues">Open issues</a>
</div>
<div class="menuitem">
<a href="who.html" title="Explain who is involved">Who we are</a>
</div>
<div class="menuitem">
<a href="flyer.html" title="One-page description">Flyer</a>
</div>
<div class="menuitem">
<a href="live-sites.html" title="Some sites created using Apache Forrest technology">Example sites</a>
</div>
<div class="menupage">
<div class="menupagetitle">Thanks</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Related projects</div>
<div id="menu_1.2" class="menuitemgroup">
<div class="menuitem">
<a href="http://gump.apache.org/">Apache Gump</a>
</div>
<div class="menuitem">
<a href="http://cocoon.apache.org/">Apache Cocoon</a>
</div>
<div class="menuitem">
<a href="http://lenya.apache.org/">Apache Lenya</a>
</div>
<div class="menuitem">
<a href="http://xml.apache.org/">Apache XML</a>
</div>
<div class="menuitem">
<a href="http://projects.apache.org/">projects.apache.org</a>
</div>
</div>
<div id="credit"></div>
<div id="roundbottom">
<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
<!--+
  |alternative credits
  +-->
<div id="credit2">
<a href="http://apachecon.com/2007/EU/"><img border="0" title="ApacheCon Europe 2007" alt="ApacheCon Europe 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-europe-125x125.png" style="width: 125px;height: 125px;"></a><a href="http://people.apache.org/calendar.html#200711"><img border="0" title="ApacheCon US 2007" alt="ApacheCon US 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-usa-125x125.png" style="width: 125px;height: 125px;"></a>
</div>
</div>
<!--+
    |end Menu
    +-->
<!--+
    |start content
    +-->
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="thanks.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
        PDF</a>
</div>
<div class="trail">Font size: 
	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">      
	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
</div>
<h1>Thanks from Apache Forrest</h1>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#general">General thanks</a>
</li>
<li>
<a href="#packaged-attribution">Packaged software attribution</a>
</li>
<li>
<a href="#supporting-attribution">Supporting software attribution</a>
</li>
</ul>
</div>
    
<p>
      The Apache Forrest project gives thanks ...
    </p>
    
<a name="N10010"></a><a name="general"></a>
<h2 class="underlined_10">General thanks</h2>
<div class="section">
<p>
        
<a href="http://www.apache.org/foundation/">The Apache Software
        Foundation (ASF)</a> provides an excellent home for our community. See
        also the <a href="http://www.apache.org/foundation/thanks.html">ASF
        thanks</a>.
      </p>
<p>
        The individual developers who participate via the dev
        <a href="mail-lists.html">mailing list</a>.
      </p>
<p>
        Our <a href="who.html">committers</a> and Project Management Committee.
      </p>
<p>
        Our <a href="mail-lists.html">users</a>. See some of their
        <a href="live-sites.html">example sites</a>.
      </p>
</div>
    
<a name="N1003B"></a><a name="packaged-attribution"></a>
<h2 class="underlined_10">Packaged software attribution</h2>
<div class="section">
<p>
        Various products are packaged with the Apache Forrest distribution.
        These products use a license that is compatible with the Apache License.
        Most products do not require specific attribution, but some do request
        that. See the NOTICE.txt and LICENSE.txt files in the distribution.
      </p>
</div>
    
<a name="N10045"></a><a name="supporting-attribution"></a>
<h2 class="underlined_10">Supporting software attribution</h2>
<div class="section">
<p>
        Developers use various tools to assist with their work, such as
        <a href="docs_0_80/catalog.html">xml editors</a> and IDEs such as
        <a href="http://www.jetbrains.com/idea/opensource/">IntelliJ IDEA</a> or
        <a href="http://www.eclipse.org/">Eclipse</a>. Most tools do not require
        attribution, but some do (<a href="http://www.yourkit.com/">YourKit Java
        Profiler</a>).
      </p>
</div>
  
</div>
<!--+
    |end content
    +-->
<div class="clearboth">&nbsp;</div>
</div>
<div id="footer">
<!--+
    |start bottomstrip
    +-->
<div class="lastmodified">
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
//  --></script>
</div>
<div class="copyright">
        Copyright &copy;
         2002-2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
<!--+
    |end bottomstrip
    +-->
</div>
</body>
</html>
