<?xml version="1.0"?>
<!DOCTYPE document [
  <!ENTITY project SYSTEM "project.xml">
]>
<document url="developers.html">

  &project;

  <properties>
    <author email="remm@apache.org">Remy Maucherat</author>
    <author email="yoavs@apache.org">Yoav Shapira</author>
    <title>Tomcat Developers</title>
  </properties>

<body>

  <section name="Active Developers">

    <p>
      The list indicates the developers' main areas of interest. Feel free to
      add to the list :) The developers email addresses are 
      <code>[login]@apache.org</code>. Please <strong>do not</strong> contact 
      developers directly for any support issues (please post to the 
      tomcat-users mailing list instead, or one of the other support 
      resources; some organizations and individual consultants also offer 
      for pay Tomcat support, as listed on the 
      <a href="http://jakarta.apache.org/site/vendors.html">vendors page</a>
      on the Jakarta website).
    </p>

    <ul>
      <li>Amy Roh (amyroh): Catalina, Admin webapp</li>
      <li>Bill Barker (billbarker): Connectors</li>
      <li>Costin Manolache (costin): Catalina, Connectors</li>
      <li>Filip Hanik (fhanik): Clustering</li>
      <li>Glenn Nielsen (glenn): Catalina, Connectors</li>
      <li>Henri Gomez (hgomez): Connectors</li>
      <li>Jan Luehe (luehe): Jasper</li>
      <li>Jean-Francois Arcand (jfarcand): Catalina</li>
      <li>Jean-Frederic Clere (jfclere): Connectors</li>
      <li>Kin-Man Chung (kinman): Jasper</li>
      <li>Mladen Turk (mturk): Connectors</li>
      <li>Remy Maucherat (remm): Catalina, Connectors, Docs, Release 
          Manager</li>
      <li>Tim Funk (funkman): Catalina, Docs</li>
      <li>Yoav Shapira (yoavs): Docs, JMX, Catalina, balancer, Release Manager</li>
    </ul>

  </section>

  <section name="Retired Developers">



  </section>

</body>
</document>
