blob: c10240f384d899c87f213bb707e51f00e059f937 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Apache Mesos - Committers</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:locale" content="en_US"/>
<meta property="og:type" content="website"/>
<meta property="og:title" content="Apache Mesos"/>
<meta property="og:site_name" content="Apache Mesos"/>
<meta property="og:url" content="http://mesos.apache.org/"/>
<meta property="og:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
<meta property="og:description"
content="Apache Mesos abstracts resources away from machines,
enabling fault-tolerant and elastic distributed systems
to easily be built and run effectively."/>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:site" content="@ApacheMesos"/>
<meta name="twitter:title" content="Apache Mesos"/>
<meta name="twitter:image" content="http://mesos.apache.org/assets/img/mesos_logo_fb_preview.png"/>
<meta name="twitter:description"
content="Apache Mesos abstracts resources away from machines,
enabling fault-tolerant and elastic distributed systems
to easily be built and run effectively."/>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
<link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
<link href="../../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
<!-- Google Analytics Magic -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-20226872-1']);
_gaq.push(['_setDomainName', 'apache.org']);
_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>
<!-- magical breadcrumbs -->
<div class="topnav">
<div class="container">
<ul class="breadcrumb">
<li>
<div class="dropdown">
<a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li><a href="http://www.apache.org">Apache Homepage</a></li>
<li><a href="http://www.apache.org/licenses/">License</a></li>
<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a href="http://www.apache.org/security/">Security</a></li>
</ul>
</div>
</li>
<li><a href="http://mesos.apache.org">Apache Mesos</a></li>
<li><a href="/documentation
/">Documentation
</a></li>
</ul><!-- /.breadcrumb -->
</div><!-- /.container -->
</div><!-- /.topnav -->
<!-- navbar excitement -->
<div class="navbar navbar-default navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mesos-menu" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo"/></a>
</div><!-- /.navbar-header -->
<div class="navbar-collapse collapse" id="mesos-menu">
<ul class="nav navbar-nav navbar-right">
<li><a href="/gettingstarted/">Getting Started</a></li>
<li><a href="/blog/">Blog</a></li>
<li><a href="/documentation/latest/">Documentation</a></li>
<li><a href="/downloads/">Downloads</a></li>
<li><a href="/community/">Community</a></li>
</ul>
</div><!-- /#mesos-menu -->
</div><!-- /.container -->
</div><!-- /.navbar -->
<div class="content">
<div class="container">
<div class="row-fluid">
<div class="col-md-4">
<h4>If you're new to Mesos</h4>
<p>See the <a href="/gettingstarted/">getting started</a> page for more
information about downloading, building, and deploying Mesos.</p>
<h4>If you'd like to get involved or you're looking for support</h4>
<p>See our <a href="/community/">community</a> page for more details.</p>
</div>
<div class="col-md-8">
<h1>Committers</h1>
<p>An Apache Mesos committer is a contributor who has been given write access to the Apache Mesos code repository and related Apache infrastructure. In the Mesos project, each committer is also a voting member of the PMC.</p>
<h2>Becoming a committer</h2>
<p>Every new committer has to be proposed by a current committer and then voted in by the members of the Mesos PMC. For details about this process and for candidate requirements see the general <a href="https://community.apache.org/newcommitter.html">Apache guidelines for assessing new candidates for committership</a>. Candidates prepare for their nomination as committer by contributing to the Mesos project and its community, by acting according to the <a href="http://theapacheway.com">Apache Way</a>, and by generally following the path <a href="https://community.apache.org/contributors/">from contributor to committer</a> for Apache projects. Specifically for the Mesos project, you can make use of the <a href="/documentation/latest/./committer-candidate-checklist/">Apache Mesos Committer Candidate Checklist</a> for suggestions of what kind of contributions and demonstrated behaviors can be instrumental, and to keep track of your progress.</p>
<h2>Current Committers</h2>
<p>We&rsquo;d like to thank the following committers to the Apache Mesos project who have helped get the project to where it is today. This list might be stale, the canonical list is located on <a href="http://people.apache.org/committers-by-project.html#mesos">Apache&rsquo;s website</a>.</p>
<table class="table table-hover table-condensed">
<thead>
<tr>
<th>Timezone GMT</th>
<th>Full Name</th>
<th>Company/Organization</th>
<th>IRC Handle</th>
<th>Email Address</th>
</tr>
</thead>
<tbody>
<tr>
<td>-8</td>
<td>Ross Allen</td>
<td>Facebook</td>
<td></td>
<td>ssorallen@apache.org</td>
</tr>
<tr>
<td>-5</td>
<td>Kapil Arya</td>
<td>Mesosphere / Northeastern University</td>
<td></td>
<td>kapil@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Adam B</td>
<td>Mesosphere</td>
<td>adam-mesos</td>
<td>me@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Tim Chen</td>
<td>Mesosphere</td>
<td>tnachen</td>
<td>tnachen@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Neil Conway</td>
<td>Mesosphere</td>
<td>neilc</td>
<td>neilc@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Ian Downes</td>
<td>Twitter</td>
<td>idownes</td>
<td>idownes@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Ali Ghodsi</td>
<td>UC Berkeley</td>
<td></td>
<td>alig@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Dominic Hamon</td>
<td>YouTube</td>
<td></td>
<td>dma@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Benjamin Hindman</td>
<td>Mesosphere</td>
<td>_benh_</td>
<td>benh@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Ian Holsman</td>
<td></td>
<td></td>
<td>ianh@apache.org</td>
</tr>
<tr>
<td>+8</td>
<td>Haosdent Huang</td>
<td>Shopee</td>
<td>haosdent</td>
<td>haosdent@apache.org</td>
</tr>
<tr>
<td>+8</td>
<td>Kevin Klues</td>
<td>Mesosphere</td>
<td>klueska</td>
<td>klueska@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Vinod Kone</td>
<td>Mesosphere</td>
<td>vinodkone</td>
<td>vinodkone@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Andy Konwinski</td>
<td>Databricks</td>
<td></td>
<td>andrew@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Dave Lester</td>
<td>Apple</td>
<td>dlester</td>
<td>dlester@apache.org</td>
</tr>
<tr>
<td>+8</td>
<td>Guangya Liu</td>
<td>IBM</td>
<td>gyliu513</td>
<td>gyliu@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Benjamin Mahler</td>
<td>Mesosphere</td>
<td>bmahler</td>
<td>bmahler@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Thomas Marshall</td>
<td>Carnegie Mellon University</td>
<td></td>
<td>tmarshall@apache.org</td>
</tr>
<tr>
<td>+1</td>
<td>Bernd Mathiske</td>
<td>Mesosphere</td>
<td>bernd</td>
<td>bernd@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Brenden Matthews</td>
<td>Mesosphere</td>
<td>brenden_</td>
<td>brenden@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Chris Mattmann</td>
<td>NASA JPL</td>
<td></td>
<td>mattmann@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Anand Mazumdar</td>
<td>Mesosphere</td>
<td>anandm</td>
<td>anand@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Brian McCallister</td>
<td>Groupon</td>
<td></td>
<td>brianm@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Niklas Quarfot Nielsen</td>
<td>Intel</td>
<td>niq_</td>
<td>nnielsen@apache.org</td>
</tr>
<tr>
<td>-5</td>
<td>Michael Park</td>
<td>Mesosphere</td>
<td>mpark</td>
<td>mpark@apache.org</td>
</tr>
<tr>
<td>+1</td>
<td>Alex R</td>
<td>Mesosphere</td>
<td>alexr</td>
<td>alexr@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Charles Reiss</td>
<td>UC Berkeley</td>
<td></td>
<td>woggle@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Joris Van Remoortere</td>
<td>Mesosphere</td>
<td>joris</td>
<td>joris@apache.org</td>
</tr>
<tr>
<td>-5</td>
<td>Timothy St Clair</td>
<td>Redhat</td>
<td>tstclair</td>
<td>tstclair@apache.org</td>
</tr>
<tr>
<td>+1</td>
<td>Till Toenshoff</td>
<td>Mesosphere</td>
<td>tillt</td>
<td>tillt@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Thomas White</td>
<td>Cloudera</td>
<td></td>
<td>tomwhite@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Joseph Wu</td>
<td>Mesosphere</td>
<td></td>
<td>josephwu@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Yan Xu</td>
<td>Apple</td>
<td>xujyan</td>
<td>yan@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Jie Yu</td>
<td>Mesosphere</td>
<td>jieyu</td>
<td>jieyu@apache.org</td>
</tr>
<tr>
<td>-8</td>
<td>Matei Alexandru Zaharia</td>
<td>Databricks</td>
<td></td>
<td>matei@apache.org</td>
</tr>
<tr>
<td>+8</td>
<td>Qian Zhang</td>
<td>IBM</td>
<td></td>
<td>qianzhang@apache.org</td>
</tr>
</tbody>
</table>
<p>If you&rsquo;re interested in becoming a committer yourself, the best way to do so is by participating in developer discussions and contributing patches to the project.</p>
<h1>Maintainers</h1>
<p><strong>Maintainers are committers that have spent a significant amount of time and effort
in the maintenance of a component in the project.</strong> Since maintainers have generally
lived through the experience of maintaining a part of the project, they tend to have
additional context, a sense of direction, a long-term outlook, and an increased
incentive to ensure that development is done in a sustainable manner. Maintainers are
responsible for the following:</p>
<ul>
<li>Providing timely feedback on bug reports and review requests.</li>
<li>Ensuring the code is straightforward, easy to read / understand.</li>
<li>Keeping technical debt within reasonable levels.</li>
<li>Ensuring the code is generally covered by tests.</li>
<li>Ensuring the code follows the style guidelines.</li>
<li>Ensuring that any unintuitive or difficult pieces of code are explained with
comments.</li>
<li>Ensuring that any hacks, known limitations, or future considerations are
accompanied with TODOs as appropriate.</li>
</ul>
<p>We&rsquo;re here to build great software together! Maintainers are a means to ensure that
we can continue to build great software while scaling the amount of contributors and
committers in the project. The responsibilities listed above are expected from all
committers in the project in the work that they do, no matter which component they
touch. Maintainers additionally carry the above responsibilities for all changes
going into a particular component, no matter who is doing the work.</p>
<p><strong>All committers of the Mesos project are expected to use good judgement when
committing patches as to whether the maintainers should be consulted.</strong></p>
<p>Examples of changes that would benefit from maintainer consultation:</p>
<ul>
<li>Changing or adding functionality.</li>
<li>Fixing a non-trivial bug.</li>
<li>Non-trivial refactoring.</li>
<li>Non-trivial performance improvements.</li>
<li>Substantial additions or updates to documentation.</li>
</ul>
<p>Examples of changes that do not generally require maintainer consultation:</p>
<ul>
<li>Fixing typos.</li>
<li>Trivial bug fixes.</li>
<li>Trivial cleanups, e.g. cleaning up headers.</li>
</ul>
<p>We aim to have more than one maintainer for each component, in order to ensure that
contributors can obtain timely feedback. To avoid information silos, we encourage
committers to learn about areas of the code that they are unfamiliar with.</p>
<h2>Current Maintainers</h2>
<table class="table table-hover table-condensed">
<thead>
<tr>
<th>Component</th>
<th>Maintainers (alphabetical)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Master / Agent</td>
<td>Benjamin Hindman, Vinod Kone, Benjamin Mahler, Jie Yu</td>
</tr>
<tr>
<td>Framework API</td>
<td>Benjamin Hindman, Vinod Kone, Benjamin Mahler, Jie Yu</td>
</tr>
<tr>
<td>State Libraries</td>
<td>Benjamin Hindman, Benjamin Mahler</td>
</tr>
<tr>
<td>Replicated Log</td>
<td>Benjamin Hindman, Jie Yu</td>
</tr>
<tr>
<td>ZooKeeper Bindings</td>
<td>Benjamin Hindman, Vinod Kone, Benjamin Mahler, Yan Xu</td>
</tr>
<tr>
<td>Authentication / Authorization</td>
<td>Adam B, Vinod Kone, Till Toenshoff</td>
</tr>
<tr>
<td>Modules / Hooks</td>
<td>Kapil Arya, Benjamin Hindman, Niklas Nielsen</td>
</tr>
<tr>
<td>Oversubscription</td>
<td>Vinod Kone, Niklas Nielsen, Jie Yu</td>
</tr>
<tr>
<td>CLI</td>
<td><i>maintainers needed</i></td>
</tr>
<tr>
<td>WebUI</td>
<td>Haosdent Huang</td>
</tr>
<tr>
<td>Project Website</td>
<td>Dave Lester</td>
</tr>
</tbody>
</table>
<h4>Containerization</h4>
<table class="table table-hover table-condensed">
<thead>
<tr>
<th>Component</th>
<th>Maintainers (alphabetical)</th>
</tr>
<tbody>
<tr>
<td>Mesos Containerizer</td>
<td>Ian Downes, Jie Yu</td>
</tr>
<tr>
<td>Docker Containerizer</td>
<td>Tim Chen, Benjamin Hindman</td>
</tr>
</tbody>
</thead>
</table>
<h4>C++ Libraries</h4>
<table class="table table-hover table-condensed">
<thead>
<tr>
<th>Component</th>
<th>Maintainers (alphabetical)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Libprocess</td>
<td>Benjamin Hindman, Benjamin Mahler, Jie Yu</td>
</tr>
<tr>
<td>Stout</td>
<td>Benjamin Hindman, Vinod Kone, Benjamin Mahler, Jie Yu</td>
</tr>
</tbody>
</table>
</div>
</div>
</div><!-- /.container -->
</div><!-- /.content -->
<hr>
<!-- footer -->
<div class="footer">
<div class="container">
<div class="col-md-4 social-blk">
<span class="social">
<a href="https://twitter.com/ApacheMesos"
class="twitter-follow-button"
data-show-count="false" data-size="large">Follow @ApacheMesos</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<a href="https://twitter.com/intent/tweet?button_hashtag=mesos"
class="twitter-hashtag-button"
data-size="large"
data-related="ApacheMesos">Tweet #mesos</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
</span>
</div>
<div class="col-md-8 trademark">
<p>&copy; 2012-2017 <a href="http://apache.org">The Apache Software Foundation</a>.
Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.
<p>
</div>
</div><!-- /.container -->
</div><!-- /.footer -->
<!-- JS -->
<script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
</body>
</html>