| --- |
| title: Inviting a New Committer |
| tags: ["pmc","committers","election"] |
| --- |
| |
| Identifying potential new committers, calling a vote for their recognition |
| as a committer and processing the relevant documents are tasks to which |
| the whole community can contribute. |
| |
| Each project has a different approach to managing new committers. This page |
| describes a common process found in many Apache projects. It also provides |
| draft templates for the various communications that are necessary. |
| |
| Some of the PMCs automatically make committers PMC members. The templates below |
| have conditional `[if]` clauses for that. |
| |
| If the PMC has separate process for approving PMC members, see |
| [new PMC member](/pmc/adding-pmc-members.html). |
| The [Contributor Ladder](https://community.apache.org/contributor-ladder.html) helps explain different roles. |
| |
| {{% toc %}} |
| |
| <a name="NewCommitter-Summary"></a> |
| ## TL;DR - Inviting a new Committer |
| |
| 1. Discuss the proposed committer (and optionally PMC member). (Use |
| [this template](templates/committer-discuss.txt).) |
| 1. If the discussion seems to be going positively, |
| call a vote. (Use [this template](templates/committer-vote.txt) for |
| committer, [this template](templates/committer-pmc-vote.txt) for |
| committer and PMC member.) |
| 1. Close the vote. (Use [this template](templates/committer-results.txt) for a committer vote, or [this template](templates/committer-pmc-results.txt) for a committer + PMC member vote.) |
| 1. If the result is positive, invite the new committer. (Use [this |
| template](templates/committer-invite.txt).) |
| |
| If they accept, then: |
| |
| 1. If they already have an Apache id, grant appropriate commit privileges. |
| Use the Whimsy tool to update the roster via [Comitee Roster](https://whimsy.apache.org/roster/committee/) or |
| [PPMC Roster](https://whimsy.apache.org/roster/ppmc/) |
| 1. If they have already filed an ICLA, request creation of the committer account. |
| If they need to change anything in a previously filed ICLA, wait until the new ICLA is filed, |
| then request the account. |
| 1. Wait until root says it is done |
| 1. PMC Chair updates LDAP group membership which enables svn, gitbox and other access. |
| If the committer uses GitHub, let them know that they are responsible for linking |
| it to their ASF account. |
| 1. Add committer to the appropriate access groups for any services |
| that your project uses, which are not tied to ASF LDAP. |
| 1. Notify the committer of completion. (Use [this |
| template](templates/committer-welcome.txt) |
| 1. If committer is also to be a PMC member, the PMC Chair or other PMC |
| members must [update the PMC roster](https://whimsy.apache.org/roster/committee/) |
| See [new PMC member](https://www.apache.org/dev/pmc.html#newpmcmember) for more detail. |
| 1. Announce the new committer. (Use [this |
| template](templates/committer-announce.txt). |
| |
| |
| <a name="NewCommitter-Guidelinesforassessingnewcandidatesforcommittership"></a> |
| ## Guidelines for assessing new candidates for committership |
| |
| 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. |
| |
| Any PMC member can (and should!) nominate project contributors for a |
| committer vote. Don't assume that the PMC chair, or some senior project |
| member, will do this. Watch the contributors, and nominate promising |
| participants. |
| |
| Remember that we do all of our development in revision control. |
| Errors are reversible learning opportunities. Thus, inviting someone |
| "too early" has very little risk associated with it. On the other hand, |
| inviting someone too late has the very real risk that they'll get |
| frustrated and leave, and you'll have missed that opportunity forever. |
| Setting the bar too high has been the eventual death of many projects. |
| |
| 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. |
| |
| 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. |
| |
| 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 "career path" 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 [Becoming A |
| Committer](https://community.apache.org/contributors/becomingacommitter.html) |
| for general advice you might offer. |
| |
| The following are some points to consider when assessing a candidate's qualifications for committership. |
| |
| <a name="NewCommitter-Abilitytoworkco-operativelywithpeers."></a> |
| ### Ability to work cooperatively with peers. |
| How do we evaluate? |
| |
| - By the interactions they have through email. |
| - By how they respond to criticism. |
| - By how they participate in the group decision-making process. |
| |
| <a name="NewCommitter-Abilitytobeamentor."></a> |
| ### Ability to be a mentor. |
| How do we evaluate? |
| |
| - By the interactions they have through email. |
| - By how clear they are and how willing they are to identify or even create appropriate background |
| materials. |
| |
| <a name="NewCommitter-Community"></a> |
| ### Community |
| How do we evaluate? |
| |
| - By the interactions they have through email. |
| - Do they help to answer questions raised on the mailing list; do they show a helpful |
| attitude and respect for other people's ideas? |
| |
| <a name="NewCommitter-Committment"></a> |
| ### Commitment |
| How do we evaluate? |
| |
| - By time already given to the project. |
| - By how well they stick with the process through tough issues. |
| - By how they help on not-so-fun tasks. |
| |
| <a name="NewCommitter-Personalskill/ability"></a> |
| ### Personal skill/ability |
| How do we evaluate? |
| |
| - A solid general understanding of the project. |
| - Quality of discussion in email. |
| - Whether their patches (where applicable) are easy to apply with only a cursory review. |
| |
| <a name="NewCommitter-NewCommitterProcess"></a> |
| ## New Committer Process |
| |
| This section describes a typical Apache project's process for handling the |
| vote to add a new committer. Templates mentioned in the process appear |
| later in this document. |
| |
| <a name="NewCommitter-Discussion"></a> |
| ### Discussion |
| |
| We do the discussion and vote on the `private@` mailing list to enable a frank |
| discussion. Any PMC member may propose a potential committer or PMC |
| member. This is **not** the sole responsibility or right of the PMC |
| chair. |
| |
| You can use [this template to start the |
| discussion](templates/committer-discuss.txt). |
| |
| We invite people to join as committers/PMC members, not github ids. It is |
| fine to refer to the candidate's github id for context, but the person should |
| be referred to by their name. It is not necessary to have their full legal |
| name (that will be kept private) but it is important to use their name, as |
| they refer to themselves in email. If a person is known only by their github |
| id, it is ok to ask them for their real name prior to holding a VOTE. |
| |
| We need to be sure that they are committed people with whom we can work. |
| They will be our peers. We will have already observed that they are |
| committed to the project and graceful toward users and other developers. |
| |
| Don't wait too long before proposing and don't be too hasty. There is a |
| trade-off and something about timeliness. A point is reached where it |
| becomes obvious that we should invite them. This encourages them and keeps |
| them enthusiastic. If we leave it too long, then we risk them becoming |
| disillusioned. |
| |
| On the `private@` list we can each say exactly what we feel about each person, |
| with no holds barred. Keep the discussion concise. The praise part can |
| be done later in public. Keep in mind, however, that if the member becomes |
| a PMC member later, they will have access to this discussion. |
| |
| ### Vote |
| |
| If the proposed candidate seems to be received positively by a majority |
| of those responding, it's time to [start a vote](templates/committer-vote.txt). |
| |
| In some projects, new committers are automatically also made PMC members. |
| If this is the case in your project, use [this template to start the |
| vote](committer-pmc-vote.txt) instead. |
| |
| Start a separate [VOTE] thread for each new person. This makes it much easier |
| to review the email archives. |
| |
| Let the Vote thread run for one week. |
| |
| A positive result is achieved when there are at least 3 +1 votes and no vetoes, |
| as per the [ASF voting process |
| document](https://apache.org/foundation/voting). |
| |
| ### Announcing results |
| |
| After a positive result, record the result on the PMC list with a `[RESULT][VOTE]` subject |
| and then invite the candidate, using [this template](templates/committer-results.txt) |
| for a new committer, or [this template](templates/committer-pmc-results.txt) |
| for a committer and PMC member. |
| |
| We give candidates a chance to decline committership |
| in private. They can post a reply to the PMC mailing list. |
| |
| After we reach a decision on the `private@` list, and after the steps above, we |
| [announce the new committer on the `dev` list](template/committer-announce.txt) |
| |
| Alternately, use [this template](templates/committer-pmc-announce.txt) for new |
| committer + PMC member. |
| |
| You can use [this template](templates/committer-welcome.txt) to welcome |
| the new committer to your project community. You are, however, |
| encouraged to create your own version of this template, customized to |
| your particular project community. |
| |
| Other notes about the process are available on the main |
| [Apache site](https://www.apache.org/dev/pmc.html#newcommitter). |
| |
| ### Committer Account Creation |
| Please see the [account creation instructions](https://www.apache.org/dev/pmc.html#newcommitter). |
| |
| In summary: |
| |
| If the ICLA identifies the project and a valid Apache ID, and the |
| `[RESULT][VOTE]` message has been posted to the PMC private list, |
| the account creation request is made by the |
| secretary or assistant secretary who files the ICLA. |
| |
| Otherwise, the new account request should be made by the |
| PMC Chair (or any [ASF Member](https://www.apache.org/foundation/glossary.html#Member) |
| if the chair is unavailable). |
| |
| The PMC chair needs to use the [ASF New Account Request](https://id.apache.org/acreq/pmc-chairs/) form to |
| send a new account request. Members may use [ASF New Account Request](https://id.apache.org/acreq/members/) page. |
| |
| Please supply the [mail archives](https://lists.apache.org/) URL as |
| proof of the vote results. |
| |
| <a name="NewCommitter-EmailTemplates"></a> |
| ## Email Templates |
| |
| The following templates are recommended ways to phrase your email |
| communications around inviting a new committer, to ensure that everyone |
| understands your intent. |
| |
| * [Committer discussion template](templates/committer-discuss.txt) |
| * [Committer vote template](templates/committer-vote.txt) |
| * [Committer + PMC vote template](templates/committer-pmc-vote.txt) |
| * [Committer vote results template](templates/committer-results.txt) |
| * [Committer + PMC vote results template](templates/committer-pmc-results.txt) |
| * [Committer invite template](templates/committer-invite.txt) |
| * [New committer announcement](templates/committer-announce.txt) |
| * [New committer and PMC member announcement](templates/committer-pmc-announce.txt) |
| * [Welcome the new committer to your community](templates/committer-welcome.txt) |
| |