<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.    
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at 2016-10-20 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache James :: Mailbox :: Store Framework - Team list</title>
    <style type="text/css" media="all">
      @import url("./css/james.css");
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
      @import url("./js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css");
      @import url("./js/jquery/css/print.css");
      @import url("./js/fancybox/jquery.fancybox-1.3.4.css");
    </style>
    <script type="text/javascript" src="./js/jquery/js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="./js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
    <script type="text/javascript" src="./js/fancybox/jquery.fancybox-1.3.4.js"></script>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20161020" />
    <meta http-equiv="Content-Language" content="en" />
                                                    
<link title="DOAP" rel="meta" type="application/rdf+xml" href="http://james.apache.org//doap_james-project.rdf"/>
                      
          <!-- Google Analytics -->
    <script type="text/javascript">
    
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-1384591-1']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s);
      })();

    </script>
    </head>
  <body class="composite">
    <div id="banner">
                                      <a href="../../server/index.html" id="bannerLeft" title="james-logo.png">
              
                                                                            
        <img src="images/logos/james-logo.png" alt="James Server" />
                </a>
                              <a href="http://www.apache.org/index.html" id="bannerRight">
              
                                        
        <img src="images/logos/asf_logo_small.png" alt="The Apache Software Foundation" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
                
                <div class="xleft">
        <span id="publishDate">Last Published: 2016-10-20</span>
                      </div>
            <div class="xright">                    <a href="../../index.html" title="Home">Home</a>
            |
                        <a href="../../server/index.html" title="Server">Server</a>
            |
                        <a href="../../hupa/index.html" title="Hupa">Hupa</a>
            |
                        <a href="../../protocols/index.html" title="Protocols">Protocols</a>
            |
                        <a href="../../mailet/index.html" title="Mailets">Mailets</a>
            |
                        <a href="../index.html" title="Mailbox">Mailbox</a>
            |
                        <a href="../../mime4j/index.html" title="Mime4J">Mime4J</a>
            |
                        <a href="../../jsieve/index.html" title="jSieve">jSieve</a>
            |
                        <a href="../../jspf/index.html" title="jSPF">jSPF</a>
            |
                        <a href="../../jdkim/index.html" title="jDKIM">jDKIM</a>
            |
                        <a href="../../mpt/index.html" title="MPT">MPT</a>
            |
                        <a href="../../postage/index.html" title="Postage">Postage</a>
              
                
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
                
                                <h5>About James</h5>
                  <ul>
                  <li class="none">
                          <a href="../../index.html" title="Overview">Overview</a>
            </li>
                  <li class="none">
                          <a href="../../newsarchive.html" title="News">News</a>
            </li>
                  <li class="none">
                          <a href="../../mail.html" title="Mailing Lists">Mailing Lists</a>
            </li>
                  <li class="none">
                          <a href="../../contribute.html" title="Contributing">Contributing</a>
            </li>
                  <li class="none">
                          <a href="../../guidelines.html" title="Guidelines">Guidelines</a>
            </li>
                  <li class="none">
                          <a href="http://wiki.apache.org/james" title="Wiki">Wiki</a>
            </li>
                  <li class="none">
                          <a href="../../team-list.html" title="Who We Are">Who We Are</a>
            </li>
                  <li class="none">
                          <a href="../../license.html" title="License">License</a>
            </li>
                  <li class="none">
                          <a href="../../thanks.html" title="Thanks">Thanks</a>
            </li>
                  <li class="none">
                          <a href="../../support.html" title="Professional support">Professional support</a>
            </li>
          </ul>
                       <h5>Download</h5>
                  <ul>
                  <li class="none">
                          <a href="../../download.cgi" title="Releases">Releases</a>
            </li>
          </ul>
        <h5>Apache Software Foundation</h5>
  <ul>
    <li>
      <strong>
        <a title="ASF" href="http://www.apache.org/">ASF</a>
      </strong>
    </li>
    <li>
      <a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>
    </li>
    <li>
      <a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a>
    </li>
    <li>
      <a title="License" href="http://www.apache.org/licenses/" >License</a>
    </li>
    <li>
      <a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    <li>
      <a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
    </li>
    <li>
      <a title="Security" href="http://www.apache.org/security/">Security</a>
    </li>
  </ul>
                       <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                   
                
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section">
<h2>The Team<a name="The_Team"></a></h2><a name="The_Team"></a>
<p>A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.</p>
<p>The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.</p>
<div class="section">
<h3>Members<a name="Members"></a></h3><a name="Members"></a>
<p>The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Image</th>
<th>Id</th>
<th>Name</th>
<th>Email</th>
<th>Organization</th>
<th>Organization URL</th>
<th>Roles</th>
<th>Time Zone</th>
<th>Actual Time (GMT)</th>
<th>Properties</th></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/a7e20b57e3ff53dcc50dc5c587b70169?d=mm&amp;s=60" alt="" /></td>
<td><a name="bago"></a>bago</td>
<td>Stefano Bagnara</td>
<td><a class="externalLink" href="mailto:bago@apache.org">bago@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>2</td>
<td><span id="developer-0">2</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/e81901854b7f5c44ddd92499fc51cacc?d=mm&amp;s=60" alt="" /></td>
<td><a name="norman"></a>norman</td>
<td>Norman Maurer</td>
<td><a class="externalLink" href="mailto:norman@apache.org">norman@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>2</td>
<td><span id="developer-1">2</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/e7b792910b5ff97e44e95af1f891efaf?d=mm&amp;s=60" alt="" /></td>
<td><a name="serge"></a>serge</td>
<td>Serge Knystautas</td>
<td><a class="externalLink" href="mailto:sergek@lokitech.com">sergek@lokitech.com</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-</td>
<td><span id="developer-2">-</span></td>
<td>Donator=Serge was the original donator of the James code, which has since been massively
                    improved by people smarter than him. He tries to answer questions on the listserv and make
                    code
                    contributions when he does get a rare bit of free time.</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/85faa40720290ffb3ca842486ea04e82?d=mm&amp;s=60" alt="" /></td>
<td><a name="benrdf"></a>benrdf</td>
<td>Bernd Fondermann</td>
<td><a class="externalLink" href="mailto:bf_jak@brainlounge.de">bf_jak@brainlounge.de</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-</td>
<td><span id="developer-3">-</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/6ff4291f354202f700240c1581368458?d=mm&amp;s=60" alt="" /></td>
<td><a name="sbrewin"></a>sbrewin</td>
<td>Steve Brewin</td>
<td><a class="externalLink" href="mailto:sbrewin@synsys.com">sbrewin@synsys.com</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>-</td>
<td><span id="developer-4">-</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/77aefc9ce8fe8cc4656b7689cd63e02d?d=mm&amp;s=60" alt="" /></td>
<td><a name="hilmer"></a>hilmer</td>
<td>S&#xf8;ren Hilmer</td>
<td><a class="externalLink" href="mailto:sh@widetrail.dk">sh@widetrail.dk</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>-</td>
<td><span id="developer-5">-</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/ca8302ce2aee2df38897d1f66faa1538?d=mm&amp;s=60" alt="" /></td>
<td><a name="noel"></a>noel</td>
<td>Noel J. Bergman</td>
<td><a class="externalLink" href="mailto:noel@devtech.com">noel@devtech.com</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>-</td>
<td><span id="developer-6">-</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/3aed1b52eca0b4f18fcedba7729df5ce?d=mm&amp;s=60" alt="" /></td>
<td><a name="danny"></a>danny</td>
<td>Danny Angus</td>
<td><a class="externalLink" href="mailto:danny@apache.org">danny@apache.org</a></td>
<td>Student Loans Company ltd</td>
<td><a class="externalLink" href="http://www.slc.co.uk">http://www.slc.co.uk</a></td>
<td>Developer, PMC Member</td>
<td>-</td>
<td><span id="developer-7">-</span></td>
<td>Description=Danny is a member of the Apache Software Foundation and married father
                    of two by night, and by day works as lead technical consultant for the Student Loans
                    Company ltd.</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/47e417b3847f08952598d98de2f9dd4e?d=mm&amp;s=60" alt="" /></td>
<td><a name="adc"></a>adc</td>
<td>Alan D. Cabrera</td>
<td><a class="externalLink" href="mailto:list@toolazydogs.com">list@toolazydogs.com</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-8</td>
<td><span id="developer-8">-8</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/5c348f6d6763fdaa9e9bf51c69480d4f?d=mm&amp;s=60" alt="" /></td>
<td><a name="hbedi"></a>hbedi</td>
<td>Harmeet Bedi</td>
<td><a class="externalLink" href="mailto:harmeet@kodemuse.com">harmeet@kodemuse.com</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-</td>
<td><span id="developer-9">-</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/3bd4b5011de9d9f0f5aafa7a2850388d?d=mm&amp;s=60" alt="" /></td>
<td><a name="jasonw"></a>jasonw</td>
<td>Jason Webb</td>
<td><a class="externalLink" href="mailto:jw@inovem.com">jw@inovem.com</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-</td>
<td><span id="developer-10">-</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/e07f0e8c5a765b3528fda6751f0376db?d=mm&amp;s=60" alt="" /></td>
<td><a name="vincenzo"></a>vincenzo</td>
<td>Vincenzo Gianferrari Pini</td>
<td><a class="externalLink" href="mailto:vincenzo.gianferraripini@praxis.it">vincenzo.gianferraripini@praxis.it</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>-</td>
<td><span id="developer-11">-</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/30f9094d5dbe2ce93f1a41afc9615b83?d=mm&amp;s=60" alt="" /></td>
<td><a name="rdonkin"></a>rdonkin</td>
<td>Robert Burrell Donkin</td>
<td><a class="externalLink" href="mailto:rdonkin@apache.org">rdonkin@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>-</td>
<td><span id="developer-12">-</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/ffd7be99d3aa6de70221efcf2a435b75?d=mm&amp;s=60" alt="" /></td>
<td><a name="niklas"></a>niklas</td>
<td>Niklas Therning</td>
<td><a class="externalLink" href="mailto:niklas@apache.org">niklas@apache.org</a></td>
<td>Trillian AB</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>-</td>
<td><span id="developer-13">-</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/af5bbbe065ded3a0661ca3d78b495c33?d=mm&amp;s=60" alt="" /></td>
<td><a name="jcheng"></a>jcheng</td>
<td>Joe Cheng</td>
<td><a class="externalLink" href="mailto:joe@joecheng.com">joe@joecheng.com</a></td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td><span id="developer-14">-</span></td>
<td>Description=Former author to the mime4j product</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/59d2fca5c9b921d43785bad2c2f07466?d=mm&amp;s=60" alt="" /></td>
<td><a name="mwiederkehr"></a>mwiederkehr</td>
<td>Markus Wiederkehr</td>
<td><a class="externalLink" href="mailto:mwiederkehr@apache.org">mwiederkehr@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-</td>
<td><span id="developer-15">-</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/a0176e178f8f08da2ac4524454b4184e?d=mm&amp;s=60" alt="" /></td>
<td><a name="olegk"></a>olegk</td>
<td>Oleg Kalnichevski</td>
<td><a class="externalLink" href="mailto:olegk@apache.org">olegk@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>-</td>
<td><span id="developer-16">-</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/f474668bb659f341edf9bbf682946422?d=mm&amp;s=60" alt="" /></td>
<td><a name="manolo"></a>manolo</td>
<td>Manuel Carrasco Monino</td>
<td><a class="externalLink" href="mailto:manolo@apache.org">manolo@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Member</td>
<td>-</td>
<td><span id="developer-17">-</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/9feeb5e7f70a7e7789b7e9999221bb87?d=mm&amp;s=60" alt="" /></td>
<td><a name="eric"></a>eric</td>
<td>Eric Charles</td>
<td><a class="externalLink" href="mailto:eric@apache.org">eric@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer, PMC Chair</td>
<td>-</td>
<td><span id="developer-18">-</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/e2c2dac8e24983b89df79134912b3e72?d=mm&amp;s=60" alt="" /></td>
<td><a name="felixk"></a>felixk</td>
<td>Felix Knecht</td>
<td><a class="externalLink" href="mailto:felixk@apache.org">felixk@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>1</td>
<td><span id="developer-19">1</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/bb9cb5cc3b2b59865acacf56834bcc9a?d=mm&amp;s=60" alt="" /></td>
<td><a name="ieugen"></a>ieugen</td>
<td>Ioan Eugen Stan</td>
<td><a class="externalLink" href="mailto:ieugen@apache.org">ieugen@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>PMC Member, Developer</td>
<td>-</td>
<td><span id="developer-20">-</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/dda39f96fb2ce9166664d044f40b2296?d=mm&amp;s=60" alt="" /></td>
<td><a name="matthieu"></a>matthieu</td>
<td>Matthieu Baechler</td>
<td><a class="externalLink" href="mailto:matthieu@apache.org">matthieu@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-</td>
<td><span id="developer-21">-</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/eb3a7ecd66922b3eb64bde7e0131bbf9?d=mm&amp;s=60" alt="" /></td>
<td><a name="btellier"></a>btellier</td>
<td>Benoit Tellier</td>
<td><a class="externalLink" href="mailto:btellier@apache.org">btellier@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-</td>
<td><span id="developer-22">-</span></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/04d4463cc1625d9ab1162919093870b7?d=mm&amp;s=60" alt="" /></td>
<td><a name="aduprat"></a>aduprat</td>
<td>Antoine Duprat</td>
<td><a class="externalLink" href="mailto:aduprat@apache.org">aduprat@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-</td>
<td><span id="developer-23">-</span></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/c5cd319755f400f07d11f6ac386e8bf8?d=mm&amp;s=60" alt="" /></td>
<td><a name="rouazana"></a>rouazana</td>
<td>Raphael Ouazana</td>
<td><a class="externalLink" href="mailto:rouazana@apache.org">rouazana@apache.org</a></td>
<td>-</td>
<td>-</td>
<td>Developer</td>
<td>-</td>
<td><span id="developer-24">-</span></td>
<td>-</td></tr></table></div>
<div class="section">
<h3>Contributors<a name="Contributors"></a></h3><a name="Contributors"></a>
<p>The following additional people have contributed to this project through the way of suggestions, patches or documentation.</p>
<table border="0" class="bodyTable">
<tr class="a">
<th>Image</th>
<th>Name</th>
<th>Email</th>
<th>Properties</th></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60" alt="" /></td>
<td>Rob Oxspring</td>
<td>-</td>
<td>Contribution=Contributed to the mime4j product</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60" alt="" /></td>
<td>Roger Fullerton</td>
<td>-</td>
<td>Contribution=Wrote spfjava, the first spf implementation in java</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/47e417b3847f08952598d98de2f9dd4e?d=mm&amp;s=60" alt="" /></td>
<td>Alan D. Cabrera [ADC]</td>
<td><a class="externalLink" href="mailto:list@toolazydogs.com">list@toolazydogs.com</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60" alt="" /></td>
<td>Darrell DeBoer (DD)</td>
<td>-</td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/b370eecfbc537ba0f932882b46dae075?d=mm&amp;s=60" alt="" /></td>
<td>Stephen J. McConnell (SJM)</td>
<td><a class="externalLink" href="mailto:mcconnell@apache.org">mcconnell@apache.org</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/a83b340c389b12e1da2ce7ccd827528c?d=mm&amp;s=60" alt="" /></td>
<td>Peter M. Goldstein (PG)</td>
<td><a class="externalLink" href="mailto:farsight@alum.mit.edu">farsight@alum.mit.edu</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60" alt="" /></td>
<td>Pete Donald (PD)</td>
<td>-</td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/cb94ff894a5bbfc39c375e0a248eb1bc?d=mm&amp;s=60" alt="" /></td>
<td>Charles Benett (CB)</td>
<td><a class="externalLink" href="mailto:charles@benett1.demon.co.uk">charles@benett1.demon.co.uk</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/a8a8094ce68af630a16aa98a0cd66c37?d=mm&amp;s=60" alt="" /></td>
<td>Federico Barbieri (FB)</td>
<td><a class="externalLink" href="mailto:scoobie@systemy.it">scoobie@systemy.it</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/6663f3b7fb32a60180af281ca192407e?d=mm&amp;s=60" alt="" /></td>
<td>Stuart Roebuck (SR)</td>
<td><a class="externalLink" href="mailto:stuart.roebuck@adolos.co.uk">stuart.roebuck@adolos.co.uk</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/f9361920d1cd50bc498b4dd92a9934e1?d=mm&amp;s=60" alt="" /></td>
<td>Ivan Seskar (IS)</td>
<td><a class="externalLink" href="mailto:iseskar@upsideweb.com">iseskar@upsideweb.com</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/c92040f23f67cf1657b7f87a5fa0c555?d=mm&amp;s=60" alt="" /></td>
<td>Prasanna Uppaladadium (PU)</td>
<td><a class="externalLink" href="mailto:prasanna@vayusphere.com">prasanna@vayusphere.com</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/bfd2efc7d442b583fefd3b2ca6ec12e2?d=mm&amp;s=60" alt="" /></td>
<td>Gabriel Bucher (GB)</td>
<td><a class="externalLink" href="mailto:gabriel.bucher@razor.ch">gabriel.bucher@razor.ch</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/7cd52f60d8d98308f1f22d7338bdf0b9?d=mm&amp;s=60" alt="" /></td>
<td>Matthew Pangaro (MP)</td>
<td><a class="externalLink" href="mailto:mattp@lokitech.com">mattp@lokitech.com</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/022399f9daa86781d66ece12bf6b1571?d=mm&amp;s=60" alt="" /></td>
<td>Jason Borden (JB)</td>
<td><a class="externalLink" href="mailto:jborden@javasense.com">jborden@javasense.com</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/b47ef079020208266c1677c492e45979?d=mm&amp;s=60" alt="" /></td>
<td>Randy Stanard (RS)</td>
<td><a class="externalLink" href="mailto:rstanard@lokitech.com">rstanard@lokitech.com</a></td>
<td>Contribution=Contributed the James logo</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/defe2393e4689ae2274c337a4599ea3c?d=mm&amp;s=60" alt="" /></td>
<td>Samuel Sadek (SS)</td>
<td><a class="externalLink" href="mailto:Samuel.Sadek@kpmg.co.uk">Samuel.Sadek@kpmg.co.uk</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/94d20c8eb43dd813bc8f5f13f9ead052?d=mm&amp;s=60" alt="" /></td>
<td>Stephan Schiessling (SS2)</td>
<td><a class="externalLink" href="mailto:s@rapi.com">s@rapi.com</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/2b12a6a8626fde2cfd0220da3b08d19f?d=mm&amp;s=60" alt="" /></td>
<td>Eung-ju Park (EP)</td>
<td><a class="externalLink" href="mailto:colus@apache.org">colus@apache.org</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/00aef5822bccf705a892d84df9d03259?d=mm&amp;s=60" alt="" /></td>
<td>Paul Hammant (PH)</td>
<td><a class="externalLink" href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/b86703e9f2c6bf1d63211c86b770ee0a?d=mm&amp;s=60" alt="" /></td>
<td>Jeff Keyser (JK)</td>
<td><a class="externalLink" href="mailto:JKeyser@telocity.com">JKeyser@telocity.com</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/b155a04b0cf4b77dc5e5521bd1b645c3?d=mm&amp;s=60" alt="" /></td>
<td>Andrei Ivanov (AI)</td>
<td><a class="externalLink" href="mailto:myfam@surfeu.fi">myfam@surfeu.fi</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/19e7f33037e597429f9b2af82a9529ef?d=mm&amp;s=60" alt="" /></td>
<td>Brad Walker (BW)</td>
<td><a class="externalLink" href="mailto:bwalker@studentadvantage.com">bwalker@studentadvantage.com</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60" alt="" /></td>
<td>Christian Buchegger (CB2)</td>
<td>-</td>
<td>email=christian.buchegger@planet-interkom.de</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/dfd2f49ab52314ef05db7d7495843527?d=mm&amp;s=60" alt="" /></td>
<td>Shilpa Dalmia (SD)</td>
<td><a class="externalLink" href="mailto:shilpa@postx.com">shilpa@postx.com</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/8eec611ae6cb43fe23baa5da5cfa0fb2?d=mm&amp;s=60" alt="" /></td>
<td>Steve Short (SS3)</td>
<td><a class="externalLink" href="mailto:sshort@postx.com">sshort@postx.com</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/c620bf71bfd893a17e89dc4408ae29f3?d=mm&amp;s=60" alt="" /></td>
<td>Aaron Knauf (AK)</td>
<td><a class="externalLink" href="mailto:aknauf@xtra.co.nz">aknauf@xtra.co.nz</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/c1ab0bf427a5e872de4e86f8bbe4c96a?d=mm&amp;s=60" alt="" /></td>
<td>Serge &quot;Sergei&quot; Sozonoff (SS4)</td>
<td><a class="externalLink" href="mailto:serge@globalbeach.com">serge@globalbeach.com</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&amp;f=y&amp;s=60" alt="" /></td>
<td>Kai Londenberg [KL]</td>
<td>-</td>
<td>email=kai.londenberg@my-vwclub.de</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/39aa2726a3dfa5f85c86f93dc6c2f7e2?d=mm&amp;s=60" alt="" /></td>
<td>Mark Imel [MI]</td>
<td><a class="externalLink" href="mailto:james@imelshire.com">james@imelshire.com</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/2080c1b3482aab13b9e3e1c09e415905?d=mm&amp;s=60" alt="" /></td>
<td>Kevin Schmidt [KS]</td>
<td><a class="externalLink" href="mailto:ktschmidt@earthlink.net">ktschmidt@earthlink.net</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/ec872b86a477d15bd07826cbf25fa0ff?d=mm&amp;s=60" alt="" /></td>
<td>Hontvari Jozsef [HJ]</td>
<td><a class="externalLink" href="mailto:hontvari2@solware.com">hontvari2@solware.com</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/1c4208a6db7219448933fbe7a4191eee?d=mm&amp;s=60" alt="" /></td>
<td>Cesar Bonadio [CB3]</td>
<td><a class="externalLink" href="mailto:bonadio@picture.com.br">bonadio@picture.com.br</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/b6efe0b15a81b12b312096d5eb37a21d?d=mm&amp;s=60" alt="" /></td>
<td>Marco Tedone [MT]</td>
<td><a class="externalLink" href="mailto:mtedone@jemos.org">mtedone@jemos.org</a></td>
<td>-</td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/794245045be6112b08e4ec648cf84059?d=mm&amp;s=60" alt="" /></td>
<td>Tim Stephenson [TS]</td>
<td><a class="externalLink" href="mailto:tim@thestephensons.me.uk">tim@thestephensons.me.uk</a></td>
<td>-</td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/ea93d85ece90613e220e320dc5855327?d=mm&amp;s=60" alt="" /></td>
<td>Richard O. Hammer [ROH]</td>
<td><a class="externalLink" href="mailto:rohammer@earthlink.net">rohammer@earthlink.net</a></td>
<td>-</td></tr></table><script type="text/javascript">
function offsetDate(id, offset) {
    var now = new Date();
    var nowTime = now.getTime();
    var localOffset = now.getTimezoneOffset();
    var developerTime = nowTime + ( offset * 60 * 60 * 1000 )+ ( localOffset * 60 * 1000 );
    var developerDate = new Date(developerTime);

    document.getElementById(id).innerHTML = developerDate;
}

function init(){
    offsetDate('developer-0', '2');
    offsetDate('developer-1', '2');
    offsetDate('developer-8', '-8');
    offsetDate('developer-19', '1');
}

window.onLoad = init();
</script></div></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">Copyright &#169;                    2010-2016
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
