mirror of
https://github.com/apache/airflow.git
synced 2026-11-04 07:12:48 +00:00
Extracts the generic escalation language (close PRs, PMC LAZY-CONSENSUS block, ASF Infrastructure block, report to GitHub) from the Gen-AI section of the pull request guide into a standalone COMMUNITY_ESCALATION.md at the repo root, next to CODE_OF_CONDUCT.md. Broadens the scope from Gen-AI-specific misuse to all sustained disruptive behaviour - Code of Conduct breaches, spamming, repeated disregard of maintainer feedback, GitHub ToS violations - and names private@airflow.apache.org as the appeal channel for any decision taken under the process. References the new doc from the README, CODE_OF_CONDUCT.md, the contributing-docs index, the communication guide, and the PR guide.
147 lines
7.0 KiB
Markdown
147 lines
7.0 KiB
Markdown
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
|
|
# Community escalation process
|
|
|
|
This document describes how the Apache Airflow community responds when a
|
|
contributor's behaviour repeatedly imposes an unreasonable burden on
|
|
maintainers or the wider community — for example, [Code of Conduct](CODE_OF_CONDUCT.md)
|
|
breaches, spamming project channels, abusing project resources, or
|
|
sustained disruption that the normal review and mentoring process
|
|
cannot resolve.
|
|
|
|
It complements the [Code of Conduct](CODE_OF_CONDUCT.md), which sets
|
|
the standards of behaviour expected from everyone interacting with the
|
|
project. The Code of Conduct says **what** is expected; this document
|
|
describes **what happens** when those expectations are repeatedly
|
|
ignored, and how affected contributors can appeal a decision.
|
|
|
|
## Scope
|
|
|
|
Behaviours that may lead to escalation include (but are not limited to):
|
|
|
|
* **Code of Conduct violations** — harassment, personal attacks,
|
|
discriminatory behaviour, or any other conduct that breaches the
|
|
[ASF Code of Conduct](https://www.apache.org/foundation/policies/conduct).
|
|
* **Spamming the project** — opening low-quality or duplicate issues
|
|
and PRs in bulk, mass-pinging maintainers, or posting promotional,
|
|
off-topic, or unsolicited content on GitHub, the mailing lists,
|
|
Slack, the CWiki, or any other project channel.
|
|
* **Repeatedly disregarding maintainer feedback** — for example,
|
|
reopening the same PR after closure with no substantive change, or
|
|
continuing to bypass project quality criteria after being asked to
|
|
stop. The general PR quality bar is described in
|
|
[Pull request quality criteria](contributing-docs/05_pull_requests.rst#pull-request-quality-criteria).
|
|
* **Submitting unvetted Gen-AI-generated content** — the specific
|
|
expectations around generative-AI-assisted contributions are
|
|
described in
|
|
[Gen-AI Assisted contributions](contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions);
|
|
the escalation steps that follow when those expectations are
|
|
ignored are the ones described here.
|
|
* **Conduct that violates GitHub's Terms of Service** — for example,
|
|
evading prior blocks, automated abuse, or coordinated harassment.
|
|
* **Being generally and persistently disruptive to the community** in
|
|
ways that are not covered by the categories above but that
|
|
similarly burden maintainers or other contributors.
|
|
|
|
This document is **not** about ordinary disagreements, slow PRs, or
|
|
contributions that simply need more work — those are handled through
|
|
normal review and mentoring (see
|
|
[How to communicate](contributing-docs/02_how_to_communicate.rst) and
|
|
[Pull request guidelines](contributing-docs/05_pull_requests.rst)).
|
|
|
|
## Escalation steps
|
|
|
|
The community applies the minimum necessary measure at each step. The
|
|
goal is to protect maintainer time and the health of the project, not
|
|
to punish contributors. A contributor who acknowledges feedback and
|
|
changes their behaviour is welcomed to continue contributing at any
|
|
point in this sequence.
|
|
|
|
1. **Direct feedback by maintainers.** A maintainer points out the
|
|
problem on the PR, issue, mailing list thread, or Slack message
|
|
and links to the relevant guideline (Code of Conduct, Gen-AI
|
|
guidelines, PR quality criteria, communication guidelines, etc.).
|
|
|
|
2. **Closing PRs or locking threads.** If the behaviour persists,
|
|
maintainers may close one or more of the contributor's open PRs
|
|
or lock conversations that have become unproductive. When a
|
|
contributor accumulates multiple PRs flagged for the same problem,
|
|
maintainers may close all of that contributor's open PRs at once
|
|
to avoid repeated review burden. Each closure or lock is
|
|
accompanied by a comment pointing to the violated guideline so the
|
|
contributor knows what to fix.
|
|
|
|
3. **PMC-level blocking from the project.** If the behaviour continues
|
|
after the previous steps, PMC members may decide to block the
|
|
contributor from making further contributions to the Apache
|
|
Airflow project. Such a block is a last-resort measure to protect
|
|
the project from sustained harm and to avoid overburdening
|
|
maintainers. The decision is taken as a
|
|
[LAZY CONSENSUS](https://community.apache.org/committers/lazyConsensus.html)
|
|
among PMC members on the private PMC list, so that it is
|
|
collectively agreed, not vetoed, and recorded in the Apache
|
|
Software Foundation's archives.
|
|
|
|
4. **ASF Infrastructure / cross-project block.** In extreme cases —
|
|
for example, behaviour that affects multiple ASF projects or
|
|
evasion of an Airflow-level block — the PMC may request the ASF
|
|
Infrastructure team to block the contributor at the organisation
|
|
level, across all ASF projects.
|
|
|
|
5. **Reporting to GitHub.** If a contributor is evidently spamming
|
|
the project, evading prior blocks, or otherwise breaching
|
|
[GitHub's Terms of Service](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service),
|
|
maintainers may report the account to GitHub. GitHub may then
|
|
take its own action, which can include suspending or deleting the
|
|
account.
|
|
|
|
A separate, parallel path applies specifically to Code of Conduct
|
|
violations: anyone observing such behaviour can — and is encouraged to
|
|
— also follow the
|
|
[ASF reporting guidelines](https://www.apache.org/foundation/policies/conduct#reporting-guidelines)
|
|
directly, independently of the steps above.
|
|
|
|
## Appeals — `private@airflow.apache.org`
|
|
|
|
Any contributor affected by a decision taken under this process may
|
|
appeal it by emailing the Apache Airflow PMC at:
|
|
|
|
> **private@airflow.apache.org**
|
|
|
|
This is the appropriate appeal channel for **all** escalation decisions
|
|
described in this document — including PR closures, project-level
|
|
blocks, and infrastructure-level block requests.
|
|
|
|
When sending an appeal, please:
|
|
|
|
* Identify the decision being appealed (link to the PR, issue, thread,
|
|
or block notice where possible).
|
|
* Describe the grounds for the appeal — what the decision got wrong,
|
|
what additional context the PMC should consider, or what has
|
|
changed since the decision was taken.
|
|
|
|
Appeals are reviewed by the PMC on the private list and the outcome is
|
|
communicated back to the contributor. The PMC may uphold the original
|
|
decision, modify it, or reverse it.
|
|
|
|
For Code of Conduct matters, contributors also retain the separate
|
|
right to escalate to the ASF Conduct Committee as described in the
|
|
[ASF Code of Conduct](https://www.apache.org/foundation/policies/conduct).
|