<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia 
 | Rendered using Apache Maven Fluido Skin 1.3.1
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20140901" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Archiva Documentation - Team list</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.1.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.1.min.js"></script>

    
              <!-- Google Analytics -->
    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-140879-5']);
      _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')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>
          </head>
        <body class="topBarDisabled">
          
                
                    
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                                  <a href="../../" id="bannerLeft">
                                                                                                <img src="../../images/archiva.png"  alt="Apache Archiva"/>
                </a>
                      </div>
        <div class="pull-right">                  <a href="http://www.apache.org/" id="bannerRight">
                                                                                        <img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Software Foundation"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                              <li class="">
                    <a href="http://www.apache.org/" class="externalLink" title="Apache">
        Apache</a>
                    <span class="divider">/</span>
      </li>
                <li class="">
                    <a href="./" title="Apache Archiva">
        Apache Archiva</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../../index.html" title="Apache Archiva">
        Apache Archiva</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">Team list</li>
        
                
                    
                  <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2014-09-01</li>
              <li id="projectVersion" class="pull-right">
                    Version: 2.1.1
        </li>
            
                            </ul>
      </div>

                  
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
                
                    
                <ul class="nav nav-list">
                    <li class="nav-header">Introduction</li>
                              
      <li>
  
                          <a href="quick-start.html" title="Quick Start">
          <i class="none"></i>
        Quick Start</a>
            </li>
                
      <li>
  
                          <a href="tour/index.html" title="Feature Tour">
          <i class="none"></i>
        Feature Tour</a>
            </li>
                
      <li>
  
                          <a href="release-notes.html" title="Release Notes">
          <i class="none"></i>
        Release Notes</a>
            </li>
                
      <li>
  
                          <a href="../../download.html" title="Downloads">
          <i class="none"></i>
        Downloads</a>
            </li>
                              <li class="nav-header">Users Guide</li>
                              
      <li>
  
                          <a href="userguide/browsing.html" title="Browsing">
          <i class="none"></i>
        Browsing</a>
            </li>
                
      <li>
  
                          <a href="userguide/searching.html" title="Searching">
          <i class="none"></i>
        Searching</a>
            </li>
                
      <li>
  
                          <a href="userguide/delete-artifact.html" title="Deleting an Artifact">
          <i class="none"></i>
        Deleting an Artifact</a>
            </li>
                
      <li>
  
                          <a href="userguide/using-repository.html" title="Using as a repository">
          <i class="none"></i>
        Using as a repository</a>
            </li>
                
      <li>
  
                          <a href="userguide/deploy.html" title="Deploying to repository">
          <i class="none"></i>
        Deploying to repository</a>
            </li>
                
      <li>
  
                          <a href="userguide/virtual-repositories.html" title="Configuring Virtual Repositories">
          <i class="none"></i>
        Configuring Virtual Repositories</a>
            </li>
                
      <li>
  
                          <a href="userguide/rss.html" title="Rss Feeds in Archiva">
          <i class="none"></i>
        Rss Feeds in Archiva</a>
            </li>
                
      <li>
  
                          <a href="userguide/querying-artifacts.html" title="Querying Artifacts">
          <i class="none"></i>
        Querying Artifacts</a>
            </li>
                              <li class="nav-header">Administrators Guide</li>
                                                                                                                    
      <li>
  
                          <a href="adminguide/installing.html" title="Installing Archiva">
          <i class="icon-chevron-right"></i>
        Installing Archiva</a>
                  </li>
                
      <li>
  
                          <a href="adminguide/databases.html" title="Databases">
          <i class="none"></i>
        Databases</a>
            </li>
                
      <li>
  
                          <a href="adminguide/repositories-content-storage.html" title="Repositories Content Storage">
          <i class="none"></i>
        Repositories Content Storage</a>
            </li>
                                                                                                      
      <li>
  
                          <a href="adminguide/security.html" title="Security">
          <i class="icon-chevron-right"></i>
        Security</a>
                  </li>
                                                                                                                                                                                                                                                                                          
      <li>
  
                          <a href="adminguide/configuration.html" title="Archiva Configuration">
          <i class="icon-chevron-right"></i>
        Archiva Configuration</a>
                  </li>
                
      <li>
  
                          <a href="adminguide/webservices/rest.html" title="REST Apis">
          <i class="none"></i>
        REST Apis</a>
            </li>
                
      <li>
  
                          <a href="adminguide/configuration-files.html" title="Configuration Files">
          <i class="none"></i>
        Configuration Files</a>
            </li>
                
      <li>
  
                          <a href="adminguide/system-status.html" title="System Status">
          <i class="none"></i>
        System Status</a>
            </li>
                                                                                                      
      <li>
  
                          <a href="adminguide/logging.html" title="Log Files">
          <i class="icon-chevron-right"></i>
        Log Files</a>
                  </li>
                
      <li>
  
                          <a href="adminguide/reports.html" title="Reports">
          <i class="none"></i>
        Reports</a>
            </li>
                              <li class="nav-header">Customising Archiva</li>
                              
      <li>
  
                          <a href="customising/writing-consumer.html" title="Writing a Consumer Plugin">
          <i class="none"></i>
        Writing a Consumer Plugin</a>
            </li>
                              <li class="nav-header">More Information</li>
                              
      <li>
  
                          <a href="http://cwiki.apache.org/confluence/display/ARCHIVA/Index" class="externalLink" title="Archiva Wiki">
          <i class="none"></i>
        Archiva Wiki</a>
            </li>
                              <li class="nav-header">ASF</li>
                              
      <li>
  
                          <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works">
          <i class="none"></i>
        How Apache Works</a>
            </li>
                
      <li>
  
                          <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation">
          <i class="none"></i>
        Foundation</a>
            </li>
                
      <li>
  
                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache">
          <i class="none"></i>
        Sponsoring Apache</a>
            </li>
                
      <li>
  
                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">
          <i class="none"></i>
        Thanks</a>
            </li>
                              <li class="nav-header">Project Documentation</li>
                                                                                                            
      <li>
  
                          <a href="project-info.html" title="Project Information">
          <i class="icon-chevron-down"></i>
        Project Information</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="license.html" title="Project License">
          <i class="none"></i>
        Project License</a>
            </li>
                    
      <li class="active">
  
            <a href="#"><i class="none"></i>Project Team</a>
          </li>
              </ul>
        </li>
            </ul>
                
                    
                            <form id="search-form" action="http://www.google.com/search" method="get" >
    
  <input value="http://archiva.apache.org/docs/2.1.1/" name="sitesearch" type="hidden"/>
  <input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
          
          <hr />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
               
        
        
        <div id="twitter">
    
    <a href="https://twitter.com/archiva" class="twitter-follow-button" data-show-count="false" data-align="left" data-size="medium" data-show-screen-name="true" data-lang="en">Follow archiva</a>
    <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

        </div>
                   <div class="clear"></div>
                            <div class="clear"></div>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                  </div>
          </div>
        </div>
        
                        
        <div id="bodyColumn"  class="span10" >
                                  
            <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="table table-striped">
<tr class="a">
<th>Image</th>
<th>Id</th>
<th>Name</th>
<th>Email</th>
<th>Organization</th>
<th>Roles</th>
<th>Time Zone</th>
<th>Actual Time (GMT)</th></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/bab29f762bea8e578505424443d8cd41?d=mm&amp;s=60" alt="" /></td>
<td><a name="olamy"></a>olamy</td>
<td>Olivier Lamy</td>
<td><a class="externalLink" href="mailto:olamy@apache.org">olamy@apache.org</a></td>
<td>Ecetera.com.au</td>
<td>PMC Chair</td>
<td>Australia/Melbourne</td>
<td><span id="developer-0">Australia/Melbourne</span></td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/a49e2c09c4c36374c40e6cb819157eda?d=mm&amp;s=60" alt="" /></td>
<td><a name="oching"></a>oching</td>
<td>Maria Odea B. Ching</td>
<td><a class="externalLink" href="mailto:oching@apache.org">oching@apache.org</a></td>
<td>-</td>
<td>PMC Member</td>
<td>+8</td>
<td><span id="developer-1">+8</span></td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/1db61ec29963d4a77ef2275140144fd4?d=mm&amp;s=60" alt="" /></td>
<td><a name="brett"></a>brett</td>
<td>Brett Porter</td>
<td><a class="externalLink" href="mailto:brett@apache.org">brett@apache.org</a></td>
<td>ASF</td>
<td>PMC Member</td>
<td>+10</td>
<td><span id="developer-2">+10</span></td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/6559d4b2de15cb1433fc13c34599e4c7?d=mm&amp;s=60" alt="" /></td>
<td><a name="carlos"></a>carlos</td>
<td>Carlos Sanchez</td>
<td><a class="externalLink" href="mailto:carlos@apache.org">carlos@apache.org</a></td>
<td>ASF</td>
<td>PMC Member</td>
<td>+1</td>
<td><span id="developer-3">+1</span></td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/89d1772a8f19085482a13decc709cda2?d=mm&amp;s=60" alt="" /></td>
<td><a name="epunzalan"></a>epunzalan</td>
<td>Edwin Punzalan</td>
<td><a class="externalLink" href="mailto:epunzalan@apache.org">epunzalan@apache.org</a></td>
<td>-</td>
<td>PMC Member</td>
<td>-8</td>
<td><span id="developer-4">-8</span></td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/3fe23ff82e7920b5941e18515adf9bba?d=mm&amp;s=60" alt="" /></td>
<td><a name="nicolas"></a>nicolas</td>
<td>Nicolas De Loof</td>
<td><a class="externalLink" href="mailto:nicolas@apache.org">nicolas@apache.org</a></td>
<td>-</td>
<td>PMC Member</td>
<td>+1</td>
<td><span id="developer-5">+1</span></td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/030e414fc478d45703ba0cbf6fa431f9?d=mm&amp;s=60" alt="" /></td>
<td><a name="skygo"></a>skygo</td>
<td>Eric Barboni</td>
<td><a class="externalLink" href="mailto:skygo@apache.org">skygo@apache.org</a></td>
<td>IRIT</td>
<td>PMC Member</td>
<td>Europe/Paris</td>
<td><span id="developer-6">Europe/Paris</span></td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/27790393b874159fe05609ca7ed812f9?d=mm&amp;s=60" alt="" /></td>
<td><a name="jbonofre"></a>jbonofre</td>
<td>Jean-Baptiste Onofr&#xe9;</td>
<td><a class="externalLink" href="mailto:jbonofre@apache.org">jbonofre@apache.org</a></td>
<td>Talend</td>
<td>PMC Member</td>
<td>Europe/Paris</td>
<td><span id="developer-7">Europe/Paris</span></td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/c8686cad245196c9e392201ad7bb364f?d=mm&amp;s=60" alt="" /></td>
<td><a name="dennisl"></a>dennisl</td>
<td>Dennis Lundberg</td>
<td><a class="externalLink" href="mailto:dennisl@apache.org">dennisl@apache.org</a></td>
<td>ASF</td>
<td>Committer</td>
<td>+1</td>
<td><span id="developer-8">+1</span></td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/76f1823568e5f31931bd32415a4cffa7?d=mm&amp;s=60" alt="" /></td>
<td><a name="martinc"></a>martinc</td>
<td>Martin Cooper</td>
<td><a class="externalLink" href="mailto:martinc@apache.org">martinc@apache.org</a></td>
<td>ASF</td>
<td>Committer</td>
<td>-</td>
<td><span id="developer-9">-</span></td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/07a0055c4259569aff19ee558ee3999d?d=mm&amp;s=60" alt="" /></td>
<td><a name="mbaclay"></a>mbaclay</td>
<td>Marecor M. Baclay</td>
<td><a class="externalLink" href="mailto:mbaclay@apache.org">mbaclay@apache.org</a></td>
<td>-</td>
<td>Committer</td>
<td>+8</td>
<td><span id="developer-10">+8</span></td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/026acc6fb60c44ed137de35517837065?d=mm&amp;s=60" alt="" /></td>
<td><a name="jzurbano"></a>jzurbano</td>
<td>Jevica Arianne B. Zurbano</td>
<td><a class="externalLink" href="mailto:jzurbano@apache.org">jzurbano@apache.org</a></td>
<td>-</td>
<td>Committer</td>
<td>+8</td>
<td><span id="developer-11">+8</span></td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/aeb4e8e65a6c91233e1a9128d8989093?d=mm&amp;s=60" alt="" /></td>
<td><a name="alecharp"></a>alecharp</td>
<td>Adrien Lecharpentier</td>
<td><a class="externalLink" href="mailto:alecharp@apache.org">alecharp@apache.org</a></td>
<td>Zenika</td>
<td>Committer</td>
<td>+1</td>
<td><span id="developer-12">+1</span></td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/a9d812d5d37ff4b5a93671eb6648c54b?d=mm&amp;s=60" alt="" /></td>
<td><a name="svogt"></a>svogt</td>
<td>Sascha Vogt</td>
<td><a class="externalLink" href="mailto:svogt@apache.org">svogt@apache.org</a></td>
<td>-</td>
<td>Committer</td>
<td>Europe/Berlin</td>
<td><span id="developer-13">Europe/Berlin</span></td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/38f7796e51a469f8efc08de2d88fa335?d=mm&amp;s=60" alt="" /></td>
<td><a name="joakime"></a>joakime</td>
<td>Joakim Erdfelt</td>
<td><a class="externalLink" href="mailto:joakime@apache.org">joakime@apache.org</a></td>
<td>ASF</td>
<td>Emeritus</td>
<td>-5</td>
<td><span id="developer-14">-5</span></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><a name="jvanzyl"></a>jvanzyl</td>
<td>Jason van Zyl</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-15">-</span></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><a name="bayard"></a>bayard</td>
<td>Henri Yandell</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-16">-</span></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><a name="kenney"></a>kenney</td>
<td>Kenney Westerhof</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-17">-</span></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><a name="aheritier"></a>aheritier</td>
<td>Arnaud Heritier</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-18">-</span></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><a name="bellingard"></a>bellingard</td>
<td>Fabrice Bellingard</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-19">-</span></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><a name="jdumay"></a>jdumay</td>
<td>James William Dumay</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-20">-</span></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><a name="jmcconnell"></a>jmcconnell</td>
<td>Jesse McConnell</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-21">-</span></td></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/efe7252f3b18253bf4318062ece95a3b?d=mm&amp;s=60" alt="" /></td>
<td><a name="evenisse"></a>evenisse</td>
<td>Emmanuel Venisse</td>
<td><a class="externalLink" href="mailto:evenisse@apache.org">evenisse@apache.org</a></td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-22">-</span></td></tr>
<tr class="a">
<td><img src="http://www.gravatar.com/avatar/b38a3be83226b10b399985496c058e4c?d=mm&amp;s=60" alt="" /></td>
<td><a name="jtolentino"></a>jtolentino</td>
<td>Ernesto Tolentino Jr.</td>
<td><a class="externalLink" href="mailto:jtolentino@apache.org">jtolentino@apache.org</a></td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-23">-</span></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><a name="wsmoak"></a>wsmoak</td>
<td>Wendy Smoak</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td>
<td><span id="developer-24">-</span></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="table table-striped">
<tr class="a">
<th>Name</th></tr>
<tr class="b">
<td>Steffen Grunwald</td></tr>
<tr class="a">
<td>Stefan Prange</td></tr>
<tr class="b">
<td>John Michael Luy</td></tr>
<tr class="a">
<td>Martin H&#xf6;ller</td></tr>
<tr class="b">
<td>Stephen Gargan</td></tr>
<tr class="a">
<td>Dario Oliveros</td></tr>
<tr class="b">
<td>james ahlborn</td></tr>
<tr class="a">
<td>Jim Jackson</td></tr>
<tr class="b">
<td>Daniel Harvey</td></tr>
<tr class="a">
<td>Aleksandr Tarutin</td></tr>
<tr class="b">
<td>Teodoro Cue Jr.</td></tr>
<tr class="a">
<td>Jan Ancajas</td></tr>
<tr class="b">
<td>Jens M&#xfc;hlenhoff</td></tr>
<tr class="a">
<td>Dawn Angelito</td></tr>
<tr class="b">
<td>Henry Isidro</td></tr>
<tr class="a">
<td>Antoine Veret</td></tr>
<tr class="b">
<td>Christian Gruber</td></tr>
<tr class="a">
<td>Allan Ramirez</td></tr>
<tr class="b">
<td>Pete Marvin King</td></tr>
<tr class="a">
<td>Joel Sudiacal</td></tr>
<tr class="b">
<td>Milos Kleint</td></tr>
<tr class="a">
<td>Nick Gonzalez</td></tr>
<tr class="b">
<td>Maria Catherine Tan</td></tr>
<tr class="a">
<td>Dan Tran</td></tr>
<tr class="b">
<td>Gwen Harold Autencio</td></tr>
<tr class="a">
<td>Mark Jeffery</td></tr>
<tr class="b">
<td>Fabrice Daugan</td></tr>
<tr class="a">
<td>Doron Solomon</td></tr>
<tr class="b">
<td>Michal Stochmialek</td></tr>
<tr class="a">
<td>Julien Henry</td></tr>
<tr class="b">
<td>Andreas Baumann</td></tr>
<tr class="a">
<td>Adelita L. Padilla</td></tr>
<tr class="b">
<td>Daniel Triphaus</td></tr>
<tr class="a">
<td>Patti Arachchige Eshan Sudharaka</td></tr>
<tr class="b">
<td>Shinsuke Sugaya</td></tr>
<tr class="a">
<td>Marcus Dimand</td></tr>
<tr class="b">
<td>Catalino Pineda Jr.</td></tr>
<tr class="a">
<td>Warner Pinero</td></tr>
<tr class="b">
<td>Dave Brosius</td></tr>
<tr class="a">
<td>Jim Sellers</td></tr>
<tr class="b">
<td>Igor Galic</td></tr>
<tr class="a">
<td>Mark Struberg</td></tr>
<tr class="b">
<td>Marc Jansen Tan Chua</td></tr>
<tr class="a">
<td>Lucien Weller</td></tr>
<tr class="b">
<td>Greg Michael Meneses</td></tr>
<tr class="a">
<td>Chris Graham</td></tr>
<tr class="b">
<td>Fredrik Jonson</td></tr>
<tr class="a">
<td>Lester Ecarma</td></tr>
<tr class="b">
<td>Eirik Bj&#xf8;rsn&#xf8;s</td></tr>
<tr class="a">
<td>Jan Ancajas</td></tr>
<tr class="b">
<td>Damien Blugeon</td></tr>
<tr class="a">
<td>John Michael Luy</td></tr>
<tr class="b">
<td>Wolfgang Strunk</td></tr>
<tr class="a">
<td>Jevica Arianne B. Zurbano</td></tr>
<tr class="b">
<td>Stefan Prange</td></tr>
<tr class="a">
<td>Napoleon Esmundo C. Ramirez</td></tr>
<tr class="b">
<td>Brent Atkinson</td></tr>
<tr class="a">
<td>Antoine ROUAZE</td></tr>
<tr class="b">
<td>markus innerebner</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', '10');
    offsetDate('developer-1', '+8');
    offsetDate('developer-2', '+10');
    offsetDate('developer-3', '+1');
    offsetDate('developer-4', '-8');
    offsetDate('developer-5', '+1');
    offsetDate('developer-6', '1');
    offsetDate('developer-7', '1');
    offsetDate('developer-8', '+1');
    offsetDate('developer-10', '+8');
    offsetDate('developer-11', '+8');
    offsetDate('developer-12', '+1');
    offsetDate('developer-13', '1');
    offsetDate('developer-14', '-5');
}

window.onLoad = init();
</script></div></div>
                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
                      <div class="row-fluid">
                              <p >Copyright &copy;                    2006&#x2013;2014
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.      
                    
      </p>
        </div>

                                                                  
<div class="row span12">Apache Archiva :: Documentation, Archiva :: Documentation, Apache, the Apache feather logo, and the Apache Archiva :: Documentation project logos are trademarks of The Apache Software Foundation.</div>
                                                          
<div class="row span12">
  <a href="http://archiva.apache.org/docs/2.1.1/privacy-policy.html">Privacy Policy</a>
</div>
                  
        
          
    
    
                
    <div id="ohloh" class="pull-right">
      <script type="text/javascript" src="http://www.ohloh.net/p/6670/widgets/project_basic_stats.js"></script>
    </div>
        </div>
    </footer>
        </body>
</html>