<!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="20170517" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Archiva Base :: Consumers :: Core Consumers &#x2013; Project Team</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="topBarEnabled">
          
                        
                    
                

    <div id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
                                  <div class="container"><div class="nav-collapse">
            
                
                                <ul class="nav">
                          <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li class="dropdown-submenu">
                                      <a href="project-info.html"  title="Project Information">Project Information</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="integration.html"  title="Continuous Integration">Continuous Integration</a>
</li>
                                  <li>      <a href="dependencies.html"  title="Dependencies">Dependencies</a>
</li>
                                  <li>      <a href="dependency-info.html"  title="Dependency Information">Dependency Information</a>
</li>
                                  <li>      <a href="dependency-management.html"  title="Dependency Management">Dependency Management</a>
</li>
                                  <li>      <a href="distribution-management.html"  title="Distribution Management">Distribution Management</a>
</li>
                                  <li>      <a href="index.html"  title="About">About</a>
</li>
                                  <li>      <a href="issue-tracking.html"  title="Issue Tracking">Issue Tracking</a>
</li>
                                  <li>      <a href="license.html"  title="Project License">Project License</a>
</li>
                                  <li>      <a href="mail-lists.html"  title="Mailing Lists">Mailing Lists</a>
</li>
                                  <li>      <a href="plugin-management.html"  title="Plugin Management">Plugin Management</a>
</li>
                                  <li>      <a href="plugins.html"  title="Project Plugins">Project Plugins</a>
</li>
                                  <li>      <a href="team-list.html"  title="Project Team">Project Team</a>
</li>
                                  <li>      <a href="source-repository.html"  title="Source Repository">Source Repository</a>
</li>
                                  <li>      <a href="project-summary.html"  title="Project Summary">Project Summary</a>
</li>
                              </ul>
            </li>
                  
                      <li class="dropdown-submenu">
                                      <a href="project-reports.html"  title="Project Reports">Project Reports</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="xref/index.html"  title="Source Xref">Source Xref</a>
</li>
                                  <li>      <a href="xref-test/index.html"  title="Test Source Xref">Test Source Xref</a>
</li>
                              </ul>
            </li>
                          </ul>
      </li>
                  </ul>
          
                      <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
    
  <input value="http://archiva.apache.org/ref/2.2.3" 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>
          
                                                    
        
        
        <ul class="nav pull-right"><li>
    
    <a href="https://twitter.com/archiva" class="twitter-follow-button" data-show-count="false" data-align="right" data-size="large" 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>

        </li></ul>
                              
                   
                      </div>
          
        </div>
      </div>
    </div>
    
        <div class="container">
          <div id="banner">
        <div class="pull-left">
                                                  <a href="../../../../../index.html" 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="https://www.apache.org/images/asf_logo_wide_2016.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="../../../" title="Archiva :: Modules">
        Archiva :: Modules</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../../" title="Archiva :: Base">
        Archiva :: Base</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../" title="Archiva Base :: Consumers">
        Archiva Base :: Consumers</a>
                    <span class="divider">/</span>
      </li>
                <li class="">
                    <a href="./" title="Archiva Base :: Consumers :: Core Consumers">
        Archiva Base :: Consumers :: Core Consumers</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">Project Team</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 17 May 2017</li>
            
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <div class="section">
<h2><a name="The_Team"></a>The Team</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><a name="Members"></a>Members</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></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>ASF</td>
<td>PMC Chair</td>
<td>Australia/Melbourne</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></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></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></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></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></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></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></tr>
<tr class="b">
<td><img src="http://www.gravatar.com/avatar/333ab2c837b3073314c221ae7dd9cc2d?d=mm&amp;s=60" alt="" /></td>
<td><a name="martin_s"></a>martin_s</td>
<td>Martin Stockhammer</td>
<td><a class="externalLink" href="mailto:martin_s@apache.org">martin_s@apache.org</a></td>
<td>-</td>
<td>PMC Member</td>
<td>+1</td></tr>
<tr class="a">
<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></tr>
<tr class="b">
<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></tr>
<tr class="a">
<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></tr>
<tr class="b">
<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></tr>
<tr class="a">
<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></tr>
<tr class="b">
<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></tr>
<tr class="a">
<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></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="jvanzyl"></a>jvanzyl</td>
<td>Jason van Zyl</td>
<td>-</td>
<td>-</td>
<td>Emeritus</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><a name="bayard"></a>bayard</td>
<td>Henri Yandell</td>
<td>-</td>
<td>-</td>
<td>Emeritus</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><a name="kenney"></a>kenney</td>
<td>Kenney Westerhof</td>
<td>-</td>
<td>-</td>
<td>Emeritus</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><a name="aheritier"></a>aheritier</td>
<td>Arnaud Heritier</td>
<td>-</td>
<td>-</td>
<td>Emeritus</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><a name="bellingard"></a>bellingard</td>
<td>Fabrice Bellingard</td>
<td>-</td>
<td>-</td>
<td>Emeritus</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><a name="jdumay"></a>jdumay</td>
<td>James William Dumay</td>
<td>-</td>
<td>-</td>
<td>Emeritus</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><a name="jmcconnell"></a>jmcconnell</td>
<td>Jesse McConnell</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td></tr>
<tr class="a">
<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></tr>
<tr class="b">
<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></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="wsmoak"></a>wsmoak</td>
<td>Wendy Smoak</td>
<td>-</td>
<td>-</td>
<td>Emeritus</td>
<td>-</td></tr></table></div>
<div class="section">
<h3><a name="Contributors"></a>Contributors</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>
<tr class="a">
<td>Jonathan Sharp</td></tr></table></div></div>
                  </div>
          </div>

    <hr/>

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

        
                <p id="poweredBy" class="pull-right">
                          <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>
              </p>
        
          
    
    
                
    <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>