This is an automated email from the ASF dual-hosted git repository.
jscheffl pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new d723e1cea58 Review Committers and PMC Members docs (#60744)
d723e1cea58 is described below
commit d723e1cea5888a114a3e402cfc045bd73ffa62ca
Author: Jens Scheffler <[email protected]>
AuthorDate: Tue Jan 27 22:17:31 2026 +0100
Review Committers and PMC Members docs (#60744)
* Review Committers and PMC Members docs
* Apply suggestion from @shahar1
Co-authored-by: Shahar Epstein <[email protected]>
* Apply suggestions from code review from Amogh
Co-authored-by: Amogh Desai <[email protected]>
* Apply suggestions from code review from Wei
Co-authored-by: Wei Lee <[email protected]>
* Apply suggestion from Wei further down in the text body
* Improve wording after review from Amogh
* Apply suggestions from Amogh
Co-authored-by: Amogh Desai <[email protected]>
* Headline underline fix by Kaxil
---------
Co-authored-by: Shahar Epstein <[email protected]>
Co-authored-by: Amogh Desai <[email protected]>
Co-authored-by: Wei Lee <[email protected]>
---
COMMITTERS.rst | 136 +++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 94 insertions(+), 42 deletions(-)
diff --git a/COMMITTERS.rst b/COMMITTERS.rst
index d049bf980c3..a4b247d8f35 100644
--- a/COMMITTERS.rst
+++ b/COMMITTERS.rst
@@ -18,11 +18,11 @@
Committers and PMC members
==========================
-Before reading this document, you should be familiar with `Contributors' guide
<contributing-docs/README.rst>`__.
-This document assumes that you are a bit familiar how Airflow's community
work, but you would like to learn more
-about the rules by which we add new members.
+Before reading this document, you should be familiar with the `Contributors'
guide <contributing-docs/README.rst>`__.
+This document assumes that you are a bit familiar with how Airflow's community
works, but you would like to learn more
+about the rules by which we add new committers and PMC members.
-**The outline for this document in GitHub is available at top-right corner
button (with 3-dots and 3 lines).**
+**The outline for this document in GitHub is available at the top-right corner
button (with 3-dots and 3 lines).**
Committers vs. Maintainers
--------------------------
@@ -34,12 +34,12 @@ Often you can hear two different terms about people who
have write access to the
people who have write access to the repository. They can merge PRs, push to
the repository, etc.
* "Committers" is a term used in Apache Software Foundation (ASF) and is a
term referring to people who have
write access to the code repository and has a signed
- `Contributor License Agreement (CLA)
<https://www.apache.org/licenses/#clas>`_ on file. They have an
- apache.org mail address. This is an official `role
<https://www.apache.org/foundation/how-it-works/#roles>`_
+ `Contributor License Agreement (CLA)
<https://www.apache.org/licenses/#clas>`_ on file. They have an
+ apache.org mail address. This is an `official role
<https://www.apache.org/foundation/how-it-works/#roles>`_
defined and governed by the Apache Software Foundation.
For all practical purposes, both terms are interchangeable because the Apache
Software Foundation rule is
-the only Committers can have write access to the repositories managed by the
PMC (Project Management Committee)
+that only Committers can have write access to the repositories managed by the
PMC (Project Management Committee)
and that all Committers get write access to the repository.
You will see both terms used in different documentation, therefore our goal is
not to use one of the terms
@@ -55,33 +55,43 @@ repositories, i.e., they can modify the code,
documentation, and website by them
accept other contributions. There is no strict protocol for becoming a
committer. Candidates for new
committers are typically people that are active contributors and community
members.
-Some people might be active in several of those areas and while they might
have not enough 'achievements' in any
+Some people might be active in several of those areas and while they might not
have enough 'achievements' in any
single one of those, their combined contributions in several areas all count.
As a community, we appreciate contributions to the Airflow codebase, but we
also place equal value
on those who help Airflow by improving the community in some way. It is
entirely possible to become
-a committer (and eventually a PMC member) without ever having to change a
single line of code.
+a committer (and eventually a PMC member) without ever having to change a
single line of code,
+but that requires visibility and presence in the regular community channels -
slack, devlist, social
+media - this is important for the PMC to be aware of such activities. If PMC
is not aware of those, they
+have no chance to spot and promote such candidates.
+
+Guidelines from ASF are listed at ASF:
+`New Candidates for Committership
<http://community.apache.org/newcommitter.html#guidelines-for-assessing-new-candidates-for-committership>`_
Prerequisites
-^^^^^^^^^^^^^^
+^^^^^^^^^^^^^
General prerequisites that we look for in all candidates:
-1. Consistent contribution over last few months
+1. Consistent contribution over at least three months
2. Visibility on discussions on the dev mailing list, Slack channels or
GitHub issues/discussions
-3. Contributions to community health and project's sustainability for the
long-term
-4. Understands contributor/committer guidelines: `Contributors' Guide
<contributing-docs/README.rst>`__
+ including casting non-binding votes and testing release candidates for
various Airflow releases.
+3. Helping other contributors and users by engaging in their code
contributor's experience like providing constructive feedback, suggestions, and
reviewing their code
+4. Contributions to community health and project's sustainability in the
long-term
+5. Understands contributor/committer guidelines: `Contributors' Guide
<contributing-docs/README.rst>`__
Code contribution
-^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^
+
+A potential candidate for committership typically demonstrates several of the
following:
-1. Makes high-quality commits (especially commit messages), and assess the
impact of the changes, including
+1. Makes high-quality commits (including meaningful commit messages), and
assess the impact of the changes, including
upgrade paths or deprecation policies
-2. Testing Release Candidates to help the release cycle
-3. Proposed and led to completion Airflow Improvement Proposal(s)
-4. Demonstrates an understanding of one of the following areas or has
displayed a holistic understanding
+2. Tests Release Candidates to help the release cycle
+3. Proposes and/or leads Airflow Improvement Proposal(s) to completion
+4. Demonstrates an understanding of several of the following areas or has
displayed a holistic understanding
of a particular part and made contributions towards a more strategic goal
- Airflow Core
@@ -91,17 +101,24 @@ Code contribution
- Docker Image
- Helm Chart
- Dev Tools (Breeze / CI)
- - Certain Providers
+ - Providers - especially those where PMC is a steward
5. Has made a significant improvement or added an integration with
services/technologies important to the Airflow
Ecosystem
-
-6. Actively participated in the security process, as a member of security
team, discussing, assessing and
+6. Actively participates in the security process, as a member of the security
team, discussing, assessing and
fixing security issues.
+7. Demonstrates skills to maintain the complex codebase to ensure keeping
maturity of product and complexity
+8. Has been actively helping other contributors and users - in Slack, GitHub
issues, GitHub discussions - by
+ guiding their coding practices, reviewing their code and answering
code-related questions
+
+Note: As mentioned earlier, there may be exceptions for code contributions
requirements for contributors who
+provide sustained, high-impact non-code contributions (for example, community
leadership, outlining AIPs, etc.).
+Such exceptions are rare and chosen selectively, so contributors with coding
skills who aim to become committers
+and PMC members are generally encouraged to follow the regular path.
Community contributions
-^^^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^^^
1. Actively participates in `triaging issues <ISSUE_TRIAGE_PROCESS.rst>`_
showing their understanding
of various areas of Airflow and willingness to help other community
members.
@@ -110,6 +127,8 @@ Community contributions
4. Actively spreads the word about Airflow, for example organising Airflow
summit, workshops for
community members, giving and recording talks, writing blogs
5. Reporting bugs with detailed reproduction steps
+6. Provide feedback and responds when asked about testing proposed fixes and
release candidates and
+ encourages others to do so
Committer Responsibilities
@@ -127,41 +146,54 @@ This means that committers should:
the case if no one from the community is taking it on.
* Improve processes and tooling
* Refactoring code
+* Taking part in handling regular chores - i.e. maintenance of Airflow - for
example making sure that
+ our canary builds are green, upgrading dependencies regularly, monitoring
for security alerts.
+ Ideally also automating those as much as possible.
Guidelines for promoting Committers to Airflow PMC
----------------------------------------------------
+--------------------------------------------------
To become a PMC member the committers should meet all **general
prerequisites**.
-Apart from that the person should demonstrate distinct **community
involvement** or **code contributions**.
+Apart from that the person should demonstrate distinct and sustained
**community involvement** or
+**code contributions**.
-Guidelines from ASF are listed at
-`ASF: New Candidates for Committership
<http://community.apache.org/newcommitter.html#guidelines-for-assessing-new-candidates-for-committership>`__.
Prerequisites
-^^^^^^^^^^^^^^
+^^^^^^^^^^^^^
* Has been a committer for at least 3 months
-* Is still active community member (Visible on mailing list or reviewing PRs
at the minimum)
+* Is currently an active community member
+ (Visible in mailing list, other channel discussions or reviewing PRs at the
minimum)
+
Community involvement
-^^^^^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^
* Visibility on discussions on the dev mailing list
* Spreading the word for "Airflow" either:
* Talks at meetups, conferences, etc
* Creating content like videos, blogs, etc
+ * Actively participates in public discussions about Airflow happening in
social media or GitHub,
+ promoting Airflow as a product
* Growing the community:
* Mentors new members/contributors
* Answers users/contributors via GitHub issues, dev list or slack
+* Is aware and pays attention to public image of Airflow
+
+ * Watches and takes part in public discussions about Airflow
+ * Flags cases which might be problematic for Airflow community
+ * Is wary about the use of Airflow Registered trademark and name
+
+
Code contribution
-^^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^
-* Consistent voting on RCs for at least past 3 releases lifecycles
+* Consistent voting on release candidates for at least past 3 releases
lifecycles
* Engagement in Airflow Improvements Proposals either:
* Has been actively voting on AIPs
@@ -178,7 +210,7 @@ Code contribution
Only a current PMC member can nominate a current committer to be part of PMC.
-If the vote fails or PMC members needs more evidence, then one of the PMC
Member (who is not the Proposer)
+If the vote fails or PMC members need more evidence, then one of the PMC
Members (who is not the Proposer)
can become the Mentor and guide the proposed candidates on how they can become
a PMC member.
1. Candidate Proposer
@@ -192,12 +224,10 @@ can become the Mentor and guide the proposed candidates
on how they can become a
The mentor should try to remain impartial -- their goal is to provide the
missing evidence and to
try to coach/mentor the candidate to success.
- In order to re-raise a candidate vote, both Proposer and Mentor must be in
favor. Again,
- the mentor must try to remain impartial and cannot be the Proposer.
-
Inactive Committers
-------------------
+
If you know you are not going to be able to contribute for a long time
(for instance, due to a change of job or circumstances), you should inform the
PMC and we will mark you
as "inactive". Inactive committers will be removed from the "roster" on ASF
and will no longer have the power
@@ -207,32 +237,54 @@ become active again you can simply email the PMC and ask
to be reinstated.
The PMC also can mark committers as inactive after they have not been involved
in the community for
more than 12 months.
+
New Committer Onboarding Steps
------------------------------
To be able to merge PRs, committers have to integrate their GitHub ID with
Apache systems. To do that follow steps:
-1. Verify you have a GitHub ID `enabled with 2FA
<https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/>`__.
-2. Merge your Apache and GitHub accounts using `GitBox (Apache Account
Linking utility) <https://gitbox.apache.org/setup/>`__. This also asks you to
link your
+1. Verify you have a GitHub ID
+ `enabled with 2FA
<https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/>`__.
+2. Merge your Apache and GitHub accounts using
+ `GitBox (Apache Account Linking utility)
<https://gitbox.apache.org/setup/>`__. This also asks you to link your
GitHub ID to your Apache account. You should see 5 green checks in GitBox.
3. Wait at least 30 minutes for an email inviting you to Apache GitHub
Organization and accept invitation.
-4. After accepting the GitHub Invitation verify that you are a member of the
`Airflow committers team on GitHub
<https://github.com/orgs/apache/teams/airflow-committers>`__.
+4. After accepting the GitHub Invitation verify that you are a member of the
+ `Airflow committers team on GitHub
<https://github.com/orgs/apache/teams/airflow-committers>`__.
Additionally, as a committer you can view the team membership at:
* https://github.com/orgs/apache/teams/airflow-committers/members
* https://whimsy.apache.org/roster/committee/airflow
-5. Ask in ``#internal-airflow-ci-cd`` channel to be `configured in
self-hosted runners
<https://github.com/apache/airflow-ci-infra/blob/main/scripts/list_committers>`_
+5. Ask in ``#internal-airflow-ci-cd`` channel to be
+ `configured in self-hosted runners
<https://github.com/apache/airflow-ci-infra/blob/main/scripts/list_committers>`_
by the CI team. Wait for confirmation that this is done and some helpful
tips from the CI team (Temporarily disabled)
6. After confirming that step 5 is done, open a PR to include your GitHub ID
in:
* ``dev/breeze/src/airflow_breeze/global_constants.py`` (COMMITTERS
variable)
* name and GitHub ID in `project.rst
<https://github.com/apache/airflow/blob/main/airflow-core/docs/project.rst>`__.
* If you had been a collaborator role before getting committer, remove
your GitHub ID from ``.asf.yaml``.
+
7. Raise a PR to `airflow-site <https://github.com/apache/airflow-site>`_
repository with the following additions:
+ (A kind request: If there are other committers who joined around the same
time, please create a unified PR for
+ all of you together.)
+
+ * List your name(s) in the
+ `committers list
<https://github.com/apache/airflow-site/blob/main/landing-pages/site/data/committers.json>`__.
+ * Post an entry in
+ `Announcements
<https://github.com/apache/airflow-site/blob/main/landing-pages/site/content/en/announcements/_index.md>`__.
+
+8. Ask a release manager to make Slack announcement
+
- * List your name(s) in the `committers list
<https://github.com/apache/airflow-site/blob/main/landing-pages/site/data/committers.json>`__.
- * Post an entry in `Announcements
<https://github.com/apache/airflow-site/blob/main/landing-pages/site/content/en/announcements/_index.md>`__.
+New PMC Member Onboarding steps
+-------------------------------
- **A kind request**: If there are other committers who joined around the
same time, please create a unified PR for all of you together.
+1. Familiarise yourself with `<PMC
Responsibilities>https://community.apache.org/pmc/responsibilities.html`_
+2. Subscribe to the private mailing list: ``[email protected]``. Do
this by sending an empty email to
+ ``[email protected]`` and following the instructions in
the automated response you'll receive.
+3. Ask another PMC member to add you to ``#pmc-private`` channel on slack
+4. Make a PR in https://github.com/apache/airflow-site to move your data from
the ``landing-pages/site/data/committers.json``
+ to the ``landing-pages/site/data/pmc.json``. if more than one PMC member
was added, coordinate with the others
+ to make a single PR for everyone.