<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Apache Rivet Contact</title>
    <link rel="stylesheet" href="../css/wondrous/styles.css" type="text/css" />
</head>

<body>
    <div id="container">
        <div id="header">
            <h1><a href="../index.html">Rivet</a></h1>
            <h2 id="slogan">Webscripting for Tcl'ers</h2>
            <div class="clear"></div>
        </div>
        <div id="body">
            <div id="content">
                <h2><headline>Apache Rivet Contact</headline>
</h2>
                <div class="sez">
 <h4>Contact</h4>
 <p>
                To contact the <b>Apache Rivet</b>
 team, please write to our mailing list, at 
                <a href="mailto:rivet-dev@tcl.apache.org">rivet-dev@tcl.apache.org</a>
.
             </p>
 <p>
                This list is archived here: 
                <a href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/">
                http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/</a>
 </p>
 <p>
                To subscribe, send email to 
                <a href="mailto:rivet-dev-subscribe@tcl.apache.org">rivet-dev-subscribe@tcl.apache.org</a>
 </p>
</div>

<div class="sez">
 <h4>Credits</h4>
 <p>
  <b>Apache Rivet</b>
 owes its existance to a lot of
                people.  First and foremost, to the people behind the 
                <a href="http://httpd.apache.org/contributors/">Apache Web Server</a>
 
                and the <a href="http://www.tcl.tk/community/coreteam/index.html">Tool
                Command Language</a>
.
             </p>
 <p>
                Rivet's authors are
                <a href="http://wiki.tcl.tk/4843">Damon Courtney</a>
, 
                <a href="http://www.dedasys.com/davidw/">David Welton</a>
  and
                <a href="http://wiki.tcl.tk/83">Karl Lehenbauer</a>
. 
             </p>
 <p>
  <a href="http://wiki.tcl.tk/20617">Massimo Manghi</a>
 is taking
                care of the project doing new developments and fixing bugs.
                He's also packaging Rivet for Debian/Ubuntu.
             </p>
 <p>
                The nice logo was created by Randy Stanard,
                of <a href="http://dewittdesigns.com/">DeWitt Designs</a>
.
             </p>
</div>



                <div class="contentbottom">
                    <div id="last_modified">Last Modified: 06-11-2011 11:47:35 UTC</div>
                </div>
            </div>

            <div class="sidebar">
                <ul>
                    <li id="news">
    <h4 class="">News</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="rn-2-1.html" class="">1 Dec 2012: Rivet 2.1.0 released</a>
        </li>
        <li class="navitem">
            <a href="rn-2-0.html" class="">1 Dec 2012: Rivet 2.0.6 released</a>
        </li>
    </ul>
</li>
<li id="main">
    <h4 class="">Rivet</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="../index.html" class="">Rivet Homepage</a>
        </li>
        <li class="navitem">
            <a href="http://tcl.apache.org/" target="asf">Apache Tcl Home</a>
        </li>
        <li class="navitem">
            <a href="download.html" class="">Getting Rivet</a>
        </li>
        <li class="navitem">
            <a href="hello_world.html" class="">Examples</a>
        </li>
        <li class="navitem">
            <a href="about.html" class="">About Us - Contact</a>
        </li>
    </ul>
</li>
<li id="tcl">
    <h4 class="">Tcl/Tk</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="http://www.tcl.tk/" target="tclxchange">The Tcl Language
                </a>
        </li>
        <li class="navitem">
            <a href="http://wiki.tcl.tk/" target="tclxchange">Tcl'ers Wiki</a>
        </li>
    </ul>
</li>
<li id="manual">
    <h4 class="">Manuals</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="http://tcl.apache.org/rivet/manual2.0/" target="rivetman2.0">Rivet 2.0 Manual</a>
        </li>
        <li class="navitem">
            <a href="http://tcl.apache.org/rivet/manual2.1/" target="rivetman2.1">Rivet 2.1 Manual</a>
        </li>
    </ul>
</li>
<li id="release">
    <h4 class="">Downloads</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="rn-2-0.html" class="">Rivet 2.0</a>
        </li>
        <li class="navitem">
            <a href="rn-2-1.html" class="">Rivet 2.1</a>
        </li>
    </ul>
</li>
<li id="acknowledgments">
    <h4 class="">Acknowledgments</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="http://www.apache.org/foundation/thanks.html">ASF Sponsorship</a>
        </li>
    </ul>
</li>

 
                </ul> 
            </div>
            <div class="clear"></div>
        </div>
    </div>
    <div id="footer">
        <div class="footer-content">
            <p><a href="http://www.apache.org/">Apache Software Foundation</a> | Design by <a href="http://www.spyka.net">Free CSS Templates</a> | <a href="http://www.justfreetemplates.com">Free Web Templates</a></p>
        </div>
    </div>
    <div style="text-align: center; font-size: 0.75em;">Design downloaded from <a href="http://www.freewebtemplates.com/">free website templates</a>.</div></body>
</html>

