<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License

Name       : Moonlight 
Description: A two-column, fixed-width design with dark color scheme.
Version    : 1.0
Released   : 20110815

-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta name="keywords" content="Apache Tcl Webprogramming" />
    <meta name="description" content="Website for the Tcl related projects within the Apache Software Foundation" />
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>About Apache Tcl</title>
    <link href="../templates/moonlight/style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="wrapper">
	<div id="header" class="container">
		<div id="logo">
			<h1><a href="/">Apache Tcl</a></h1>
			<p>Tcl and Apache HTTP webserver Integration</p>
		</div>
		<div id="menu">
			<ul>
                <li>
                    <a href="../index.html">Home</a>
                </li>
				<li><a href="http://tcl.apache.org/rivet/">Rivet</a></li>
				<li><a href="http://tcl.apache.org/websh/">Websh</a></li>
				<!-- li><a href="http://tcl.apache.org/mod_tcl/">mod_tcl</a></li -->
				<li class="current_page_item">
                    <a href="about.html">About Us</a></li>
			</ul>
		</div>
	</div>
	<!-- end #header -->
	<div id="page">
		<div id="content">
			<div class="post">
				<h2 class="title">About Apache Tcl</h2>
				<div style="clear: both;">&nbsp;</div>
				<div class="entry">
					<p>
                The Apache Tcl project was established as part of the 
                <a href="http://www.apache.org/foundation/">Apache Software Foundation</a>

 in 
                <a href="http://www.apache.org/foundation/records/minutes/2000/board_minutes_2000_07_24.txt">July,2000</a>

 
                with the following mission:
                </p>

<blockquote>
              ... creation and maintenance of open-source software
              related to the TCL scripting language for distribution
              at no charge to the public.
            </blockquote>

<p>
              All Apache projects are "managed using a collaborative,
              consensus-based process".  Although we are a smaller
              group, and don't have as much procedural overhead, there
              are some good guidelines that the Jakarta people have
              written up that are worth looking over: <a href="http://jakarta.apache.org/site/guidelines.html">http://jakarta.apache.org/site/guidelines.html</a>

 .
                </p>

<h2>Credits</h2>

<p>
              Current Members of the Project Maintainership Committee
              - these are the people who are responsible for running
              and overseeing the project:
            </p>

<ul>
    <li>
        <a href="http://people.apache.org/~ronnie/">Ronnie Brunner</a>
    </li>
    <li>Damon Courtney</li>
    <!-- li>Dirk-Willem van Gulik</li -->
    <!-- li><a href="mailto:mlink@apache.org">Michael Link</a></li -->
    <li>
        <a href="http://people.apache.org/~mxmanghi/">Massimo Manghi</a>
    </li>
    <li>Harald Oehlmann</li>
    <li>Daniel Ridruejo</li>
    <li>
        <a href="http://www.dedasys.com/davidw/">David Welton</a>
    </li>
</ul>

<p>We would also like to thank the following for their
            time, help and or contributions:</p>

<ul>
    <li>
        <a href="http://www.apache.org/">Apache Software Foundation</a>
    </li>
    <li>
        <a href="http://www.phaseit.net">Cameron
              Laird</a>
    </li>
    <li>
        <a href="http://www.covalent.net/">Covalent Technologies</a>
    </li>
</ul>

<p>
              Contributions for individual projects are credited on
              the pages associated with those projects.
            </p>

<h2>Join Us!</h2>

<p>
              The Apache Tcl group is interested in bringing new
              Tcl-related projects on board.  What we are looking for
              is good code, and a good comunity around the software.
              Your project doesn't necessarily have to be related to
              the Apache web server!  Please contact the PMC (see
              below) if you are interested in discussing a code
              donation.
            </p>

<p>
              And, of course, we are always looking for motivated and
              talented volunteers who are keen to help out with our
              existing projects.  The best place to start is the
              mailing list for the project that interests you.
            </p>

<h2>Mailing Lists</h2>

<p>
              These are the mailing lists for the Apache Tcl projects.
              <b>Please</b>

 use them instead of contacting individuals
              directly so that your conversation will be archived, and
              others may benefit from your questions.
                </p>

<p>
              It is possible to subscribe to any of these lists by
              sending a message to: <tt style="font-size:               larger">list<b>-subscribe@tcl.apache.org</b>
    </tt>

.
                </p>

<table class="lists">
    <tbody>
        <tr>
            <th>Post</th>
            <th>Description</th>
            <th>Archive</th>
            <th>Subscribe</th>
        </tr>
        <tr>
            <th>
                <a href="mailto:rivet-dev@tcl.apache.org">rivet-dev@tcl.apache.org</a>
            </th>
            <td>
                    Developer list for Rivet.
                  </td>
            <td>
                <a href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/">rivet-dev@tcl.apache.org</a>
            </td>
            <td>
                <a href="mailto:rivet-dev-subscribe@tcl.apache.org">rivet-dev-subscribe@tcl.apache.org</a>
            </td>
        </tr>
        <tr>
            <th>
                <a href="mailto:websh-dev@tcl.apache.org">websh-dev@tcl.apache.org</a>
            </th>
            <td>
                    Developer list for Websh.
                  </td>
            <td>
                <a href="http://mail-archives.apache.org/mod_mbox/tcl-websh-dev/">websh-dev@tcl.apache.org</a>
            </td>
            <td>
                <a href="mailto:websh-dev-subscribe@tcl.apache.org">websh-dev-subscribe@tcl.apache.org</a>
            </td>
        </tr>
        <tr>
            <th>
                <a href="mailto:pmc@tcl.apache.org">pmc@tcl.apache.org</a>
            </th>
            <td>
                    The Apache Tcl Project Management Committee, the
                    group responsible for running the project.  Please
                    <b>do not</b>

 write here unless you are really
                    sure.  Most likely, you should write to the
                    general list instead, as it's open to all.
                                              </td>
            <td>Not archived publically.</td>
            <td>For private discussions only.</td>
        </tr>
    </tbody>
</table>


				</div>
			</div>
			<div style="clear: both;">&nbsp;</div>
		</div>
		<!-- end #content -->
		<div id="sidebar">
			<ul>
				<li id="base">
    <h2>Apache Tcl</h2>
    <ul>
        <li class="navitem">
            <a href="why.html">Why Tcl?</a>
        </li>
        <li class="navitem">
            <a href="contributing.html">Contributing</a>
        </li>
        <li class="navitem">
            <a href="tcl.html">Tcl Information</a>
        </li>
        <li class="navitem">
            <a href="about.html">About Us - Contact</a>
        </li>
    </ul>
</li>
<li id="projects">
    <h2>Projects</h2>
    <ul>
        <li class="navitem">
            <a href="http://tcl.apache.org/rivet/">Rivet</a>
        </li>
        <li class="navitem">
            <a href="http://tcl.apache.org/websh/">Websh</a>
        </li>
    </ul>
</li>
<li id="acknowledgments">
    <h2>Acknowledgments</h2>
    <ul>
        <li class="navitem">
            <a href="http://http://www.apache.org/foundation/thanks.html">ASF Sponsorship</a>
        </li>
    </ul>
</li>

			</ul>
		</div>
		<!-- end #sidebar -->
		<div style="clear: both;">&nbsp;</div>
	</div>
	<!-- end #page -->
</div>
<div id="footer">
	<p>Copyright &copy; 2013 Apache Software Foundation. All rights reserved. Design by <a href="http://www.freecsstemplates.org/">Free CSS Templates</a>.</p>
</div>
<!-- end #footer -->
</body>
</html>

