<!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>
                        <h4>News</h4>
                        <ul>
			    <li><span class="newsheader">26 June 2012</span>: <a href="rn-2-0.html">Rivet 2.0.5 released</a></li>
			    <li><span class="newsheader">6 July 2012</span>: <a href="http://www.eurotcl.tcl3d.org/">10th European Tcl/Tk User Meeting</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="http://tcl.apache.org/rivet/manual/" target="rivetman">Documentation</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="release">
    <h4 class="">Downloads</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="rn-2-0.html" class="">Rivet 2.0</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>

