blob: ffcc66fc26409bfea197ba09974e0c2a2dfea3ce [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="description" content="Apache Community Development"/>
<meta name="keywords" content="apache, apache community, community development, opensource"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta property="og:title" content="Adding Committers" />
<meta property="og:description" content="The addition of committers is essential to the long-term sustainability of an open source project. The PMC is responsible for determining who will be added as a committer.
Please see the formal policy and process documentation for adding committers. This page discusses best practices in how to think about new committers.
Who should be a committer? &para; Each project must decide what is the correct measure for inviting a new committer to their project." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://community.apache.org/pmc/adding-committers.html" /><meta property="og:image" content="https://community.apache.org/images/aceu19_1.jpg"/><meta property="article:section" content="pmc" />
<meta property="og:site_name" content="Apache Community Development" />
<title>Apache Community Development - Adding Committers</title>
<link rel="shortcut icon" href="/images/favicon.ico">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="/css/main.css" rel="stylesheet" media="screen">
<link href="/css/bootstrap.min.css" rel="stylesheet" media="screen">
<style type="text/css">
.footer {
text-align:center;
color:grey;
font-size:80%;
border-top: solid #ddd 1px;
margin-top:1em;
}
.navbar-brand img {
height: 50px;
}
</style>
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '36']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
</head>
<body>
<header class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<a class="navbar-brand" href="/">
<img src="https://svn.apache.org/repos/asf/comdev/project-logos/originals/foundation.svg" alt="Apache Software Foundation">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainNavbar" aria-controls="mainNavbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="mainNavbar">
<div class="container">
<ul class="navbar-nav mr-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="homeDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Home
</a>
<div class="dropdown-menu" aria-labelledby="homeDropdown">
<a class="dropdown-item" href="/">Homepage</a>
<a class="dropdown-item" href="/tags.html">Tags</a>
<a class="dropdown-item" href="/blog/">Blog</a>
<a class="dropdown-item" href="/tags/navigation.html">Navigation pages</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="aboutDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
About
</a>
<div class="dropdown-menu" aria-labelledby="aboutDropdown">
<a class="dropdown-item" href="/about/">What We Do</a>
<a class="dropdown-item" href="/newbiefaq.html">Frequently Asked Questions</a>
<a class="dropdown-item" href="/projectIndependence.html">Apache Project Independence</a>
<a class="dropdown-item" href="/apache-way/apache-project-maturity-model.html">Apache Project Maturity Model</a>
<a class="dropdown-item" href="/contactpoints.html">Contact Points Within the ASF</a>
<a class="dropdown-item" href="https://whimsy.apache.org/board/minutes/Community_Development.html#2009-11-01">ComDev Original Board Resolution</a>
<a class="dropdown-item" href="https://whimsy.apache.org/board/minutes/Community_Development.html">ComDev Board Reports</a>
<a class="dropdown-item" href="https://issues.apache.org/jira/projects/COMDEV">Community Development Jira</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-uppercase disabled" href="#">About Apache</a>
<a class="dropdown-item" href="https://www.apache.org/">The Apache Software Foundation</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship">Sponsor Apache</a>
<a class="dropdown-item" href="http://diversity.apache.org/">Diversity & Inclusion</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/thanks">Thanks to our Sponsors</a>
<a class="dropdown-item" href="https://www.apache.org/licenses">License</a>
<a class="dropdown-item" href="https://www.apache.org/security">Security</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="contribDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
For Contributors
</a>
<div class="dropdown-menu" aria-labelledby="contribDropdown">
<a class="dropdown-item" href="/newcomers/">Newcomers</a>
<a class="dropdown-item" href="/newcomers/gettingStarted.html">Getting Started</a>
<a class="dropdown-item"
href="/contributor-ladder.html">Contributor Ladder</a>
<a class="dropdown-item" href="/contributors/">Finding Your Way Around The Apache Software Foundation</a>
<a class="dropdown-item" href="https://www.apache.org/dev/">Technical Developer FAQs</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="commitDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
For Committers/PMCs
</a>
<div class="dropdown-menu" aria-labelledby="commitDropdown">
<a class="dropdown-item" href="/newcommitter.html">Recruiting New Committers</a>
<a class="dropdown-item" href="/committers/">Useful Information for Committers</a>
<a class="dropdown-item" href="/committers/decisionMaking.html">Decision Making</a>
<a class="dropdown-item" href="/committers/funding-disclaimer.html">Funding Campaign Disclaimer</a>
<a class="dropdown-item" href="/committers/good-first-issues.html">Good First Issues</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="commitDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">GSoC</a>
<div class="dropdown-menu" aria-labelledby="gsocDropdown">
<a class="dropdown-item" href="/gsoc/">Google Summer Of Code Information</a>
<a class="dropdown-item" href="/gsoc/mentee-ranking-process.html">Mentee Ranking Process</a>
<a class="dropdown-item" href="/gsoc/experiences.html">Past GSoC Experiences</a>
<a class="dropdown-item" href="/gsoc/guide-to-being-a-mentor.html">Guide to being a Mentor</a>
<a class="dropdown-item" href="/gsoc/use-the-comdev-gsoc-issue-tracker-for-gsoc-tasks.html">Using ComDev's Jira for GSoC Ideas</a>
<a class="dropdown-item" href="/gsoc/gsoc-admin-tasks.html">Tasks of a GSoC Admin at the ASF</a>
<a class="dropdown-item" href="https://issues.apache.org/jira/projects/GSOC">GSoC Jira</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="eventDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Events
</a>
<div class="dropdown-menu" aria-labelledby="eventDropdown">
<a class="dropdown-item" href="https://apachecon.com/">Community Over Code - (formerly ApacheCon)</a>
<a class="dropdown-item" href="https://events.apache.org/">Other Apache-related Events</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/marks/events">Apache event branding policies</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-uppercase disabled" href="#">Conference Speakers</a>
<a class="dropdown-item" href="/speakers/">Speaker resources</a>
<a class="dropdown-item" href="/speakers/slides.html">Sample presentations</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="conversDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Join the Conversation
</a>
<div class="dropdown-menu" aria-labelledby="conversDropdown">
<a class="dropdown-item" href="/blog/">Blog</a>
<a class="dropdown-item" href="https://www.facebook.com/ApacheSoftwareFoundation">Facebook</a>
<a class="dropdown-item" href="https://twitter.com/ApacheCommunity">Twitter</a>
<a class="dropdown-item" href="/lists.html">Mailing List</a>
</div>
</li>
</ul>
</div>
</div>
</div>
</header>
<main class="cd-main" id="content" role="main">
<div class="container">
<section id="content" class="row">
<div class="col-md-9">
<h3 class="mt-3 text-muted">The Apache Software Foundation</h3>
</div>
<div class="col-md-12"><h4 class="text-muted">Community &gt; Code</h4></div>
</section>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/">Home</a></li>
<li class="breadcrumb-item"><a href='/pmc'>Pmc</a></li>
<li class="breadcrumb-item"><a href='/pmc/adding-committers.html'>Adding committers</a></li>
</ol>
</nav>
<hr>
<ul class="tags-list">
<li>
<a href="https://community.apache.org/tags/pmc.html">pmc</a>
</li>
<li>
<a href="https://community.apache.org/tags/committers.html">committers</a>
</li></ul>
<br><br>
<p>The addition of committers is essential to the long-term
sustainability of an open source project. The PMC is responsible for
determining who will be added as a committer.</p>
<p>Please see the formal policy and process
<a href="https://www.apache.org/dev/pmc.html#committer-management">documentation for adding committers</a>.
This page discusses best practices in how to think about new committers.</p>
<h2 id="who-should-be-a-committer">Who should be a committer? <a class="headerlink" title="Permalink" href="#who-should-be-a-committer">&para;</a></h2>
<p>Each project must decide what is the correct measure for inviting a new
committer to their project. There are, however, several things that we
encourage you to consider.</p>
<p>Any PMC member can (and should!) nominate project contributors for a
committer vote. Don&rsquo;t assume that the PMC chair, or some senior project
member, will do this. Watch the contributors, and nominate promising
participants.</p>
<p>Remember that we do all of our development in revision control.
Errors are reversible learning opportunities. Thus, inviting someone
&ldquo;too early&rdquo; has very little risk associated with it. On the other hand,
inviting someone too late has the very real risk that they&rsquo;ll get
frustrated and leave, and you&rsquo;ll have missed that opportunity forever.
Setting the bar too high has been the eventual death of many projects.</p>
<p>Think of adding committers as an investment in the future of your
project, rather than as a reward for good behavior. Committers whom you
add today will be the backbone of your project tomorrow, or five years
from now. New committers are the only way to ensure the long-term
sustainability of your project. Look for contributors who seem to have
new ways of thinking.</p>
<p>Think of a committer as someone who is committed to the project, rather
than just someone who writes code. Contributions in other areas, such as
design, end-user support, event management, documentation, or project
promotion, should also be welcomed into the project by inviting them as
committers, and, eventually, as PMC members.</p>
<p>Finally, if you have specific requirements for committers (such as a
period of time, or number of contributions) we encourage you to document
that on your website. People like to know what their &ldquo;career path&rdquo; is in
a project, rather than feeling that it is merely at the whim of a
secret committee. If you see someone who seems to be on the path, point
them to this document, so that they know what to expect, and what they
can do to become a better contributor. See also <a href="https://community.apache.org/contributors/becomingacommitter.html">Becoming A
Committer</a>
for general advice you might offer.</p>
<h2 id="vote-process">Vote process <a class="headerlink" title="Permalink" href="#vote-process">&para;</a></h2>
<p>The complete policy and procedure around <em>how</em> to vote for a committer,
and how to add them to the relevant rosters if and when they are voted
in, is covered in the <a href="https://www.apache.org/dev/pmc.html#committer-management">PMC policy
document</a>. As
a PMC member, you should read and understand that document.</p>
<h2 id="what-to-do-when-a-committer-is-elected">What to do when a committer is elected <a class="headerlink" title="Permalink" href="#what-to-do-when-a-committer-is-elected">&para;</a></h2>
<p>Once a committer has been added to the roster, be sure that they
understand how things work in your project, rather than leaving them to
figure this out on their own.</p>
<p>Point them to specific review processes that they are expected to abide
by before committing or merging a change.</p>
<p>Point new committers to <a href="https://infra.apache.org/new-committers-guide.html">Infra&rsquo;s guide for new
committers</a>, which
has general information for all ASF committers.</p>
<p>Consider clearly documenting the development environment that a
committer needs to be successful. This might include a
recommended IDE, how to interact with your CI/CD stack, how to build and
test locally, and any common problems they might encounter with their
first few commits.</p>
</div>
</main>
<footer class="page-footer bg-secondary mt-4 pt-3">
<div class="container text-center text-md-left mb-3">
<div class="row">
<div class="col-md-6 mt-md-0 mt-3">
<h5 class="text-uppercase">Trademarks</h5>
<p>
Apache&reg;, the names of Apache projects, and the multicolor feather logo are
<a href="https://www.apache.org/foundation/marks/list/">registered trademarks or trademarks</a> of the Apache
Software Foundation in the United States and/or other countries.
</p>
</div>
<hr class="clearfix w-100 d-md-none pb-3">
<div class="col-md-6 mb-md-0 mb-3">
<h5 class="text-uppercase">Website sources</h5>
<p>
This website is generated from the <a href="https://github.com/apache/comdev-site">comdev-site repository</a>
<br/>
Source of this page: <a href="https://github.com/apache/comdev-site/blob/main/source/pmc/adding-committers.md" title="Source of this page">pmc/adding-committers.md</a>
</p>
</div>
</div>
</div>
<div class="footer-copyright text-center py-3">
<em>Copyright &copy; 2024, <a href="https://www.apache.org/">the Apache Software Foundation</a>. Licensed under the
<a rel="license" href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a></em>
</div>
</footer>
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
</body>
</html>