---
title: Apache NiFi Team
---

<div class="large-space"></div>
<div class="row">
    <div class="large-12 columns">
        <h1 class="nifi-txt">
            <span>
                Apache <span class="ni">ni</span><span class="fi">fi</span> Team
            </span>
        </h1>
    </div>
</div>
<div class="row">
        <p class="description">A successful project requires many people to play many roles. Some members write code, provide project mentorship, or author documentation. Others are valuable as testers, submitting patches and suggestions.</p>
</div>
</div>
<div class="medium-space"></div>
<div class="row">
    <div class="large-12 columns">
        <h3 class="nifi-txt">
            <span>
                PMC Members
            </span>
        </h3>
    </div>
</div>
<div class="row">
    <div class="large-12 columns">
<table>
    <tr>
	<th>Id</th>
	<th>Name</th>
	<th>Affiliation</th>
    </tr>
    <tr>
	<td>aldrin</td>
	<td>Aldrin Piri</td>
	<td></td>
    </tr>
    <tr>
	<td>devriesb</td>
	<td>Brandon DeVries</td>
	<td></td>
    </tr>
    <tr>
	<td>jcarey</td>
	<td>Jason Carey</td>
	<td></td>
    </tr>
    <tr>
	<td>markap14</td>
	<td>Mark Payne</td>
	<td></td>
    </tr>
    <tr>
	<td>joewitt</td>
	<td>Joe Witt</td>
	<td></td>
    </tr>
    <tr>
	<td>jbarnabee</td>
	<td>Jenn Barnabee</td>
	<td></td>
    </tr>
    <tr>
	<td>mcgilman</td>
	<td>Matt Gilman</td>
	<td></td>
    </tr>
    <tr>
	<td>taftster</td>
	<td>Adam Taft</td>
	<td></td>
    </tr>
    <tr>
	<td>tkurc</td>
	<td>Tony Kurc</td>
	<td></td>
    </tr>
    <tr>
	<td>danbress</td>
	<td>Dan Bress</td>
	<td></td>
    </tr>
    <tr>
	<td>bbende</td>
	<td>Bryan Bende</td>
	<td></td>
    </tr>
    <tr>
	<td>busbey</td>
	<td>Sean Busbey</td>
	<td></td>
    </tr>
    <tr>
	<td>jpercivall</td>
	<td>Joe Percivall</td>
	<td></td>
    </tr>
	<tr>
	<td>alopresto</td>
	<td>Andy LoPresto</td>
	<td></td>
    </tr>
    <tr>
        <td>mattyb149</td>
        <td>Matt Burgess</td>
        <td></td>
    </tr>
    <tr>
        <td>afucs</td>
        <td>Andre F de Miranda</td>
        <td></td>
    </tr>
    <tr>
	<td>jskora</td>
	<td>Joe Skora</td>
	<td></td>
    </tr>
    <tr>
        <td>jwing</td>
        <td>James Wing</td>
        <td></td>
    </tr>
    <tr>
        <td>ozhurakousky</td>
        <td>Oleg Zhurakousky</td>
        <td></td>
    </tr>
    <tr>
        <td>ymdavis</td>
        <td>Yolanda M. Davis</td>
        <td></td>
    </tr>
    <tr>
        <td>pvillard31</td>
        <td>Pierre Villard</td>
        <td></td>
    </tr>
    <tr>
        <td>ijokarumawak</td>
        <td>Koji Kawamura</td>
        <td></td>
    </tr>
    <tr>
        <td>mosermw</td>
        <td>Michael Moser</td>
        <td></td>
    </tr>
    <tr>
        <td>scottyaslan</td>
        <td>Scott Aslan</td>
        <td></td>
    </tr>
    <tr>
        <td>jstorck</td>
        <td>Jeff Storck</td>
        <td></td>
    </tr>
    <tr>
        <td>phrocker</td>
        <td>Marc Parisi</td>
        <td></td>
    </tr>
</table>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<h3 class="nifi-txt">
    <span>
	Committers
    </span>
</h3>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<table>
    <tr>
	<th>Id</th>
	<th>Name</th>
	<th>Affiliation</th>
    </tr>
    <tr>
	<td>toivoadams</td>
	<td>Toivo Adams</td>
	<td></td>
    </tr>
    <tr>
	<td>rickysaltzer</td>
	<td>Ricky Saltzer</td>
	<td></td>
    </tr>
    <tr>
        <td>brosander</td>
        <td>Bryan Rosander</td>
        <td></td>
    </tr>
    <tr>
        <td>jeremydyer</td>
        <td>Jeremy Dyer</td>
        <td></td>
    </tr>
    <tr>
        <td>jfrazee</td>
        <td>Joey Frazee</td>
        <td></td>
    </tr>
    <tr>
        <td>bqiu</td>
        <td>Bin Qiu</td>
        <td></td>
    </tr>
    <tr>
        <td>rmoran</td>
        <td>Rob Moran</td>
        <td></td>
    </tr>
    <tr>
        <td>andrewmlim</td>
        <td>Andrew M. Lim</td>
        <td></td>
    </tr>
    <tr>
        <td>mhogue</td>
        <td>Mike Hogue</td>
        <td></td>
    </tr>
    <tr>
        <td>pwicks</td>
        <td>Peter Wicks</td>
        <td></td>
    </tr>
    <tr>
        <td>aichrist</td>
        <td>Andrew Christianson</td>
        <td></td>
    </tr>
    <tr>
        <td>kdoran</td>
        <td>Kevin Doran</td>
        <td></td>
    </tr>
</table>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<h3 class="nifi-txt">
    <span>
	Emeritus Members
    </span>
</h3>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<table>
    <tr>
	<th>Id</th>
	<th>Name</th>
    </tr>
    <tr>
	<td>bimargulies</td>
	<td>Benson Margulies</td>
    </tr>
        </table>
    </div>
</div>
<div class="row">
        <div class="large-12 columns">
            <p class="description">The team is comprised of Project Management Committee Members, Committers, and Contributors.
	    <p class="description">Committers are the group of volunteers who are responsible for the technical aspects of the Apache NiFi Project. This group has write access to the appropriate source repositories and these volunteers may cast binding votes on any technical discussion.  Membership as a Committer is by invitation only and must be approved by <a href="https://www.apache.org/foundation/glossary.html#ConsensusApproval">consensus approval</a> of the active Apache NiFi PMC members on a vote open for at least 72 hours. A Committer is considered inactive by their own declaration or by not contributing in any form to the project for over six months. An inactive member can become active again by reversing whichever condition made them inactive ( i.e. , by reversing their earlier declaration or by once again contributing toward the project's work). Membership can be revoked by a unanimous vote of all the active PMC members (except the member in question if they are a PMC member).
	   <p class="description">Contributors improve the project through submission of patches and suggestions. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.</p>
           <p class="description">Emeritus members are those that served as PMC members or committers and who have since moved into non-active status.  Their contributions and efforts are greatly appreciated in helping the community develop.</p>
        </div>
     </div>
</div>
