providers/PROVIDER_GOVERNANCE.rst
.. 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.
.. contents:: Table of Contents :depth: 3 :local:
This document describes the governance framework for community providers, including lifecycle stages, stewardship model, and quantitative health metrics.
For an overview of what providers are and how they fit into the Airflow ecosystem, see
Apache Airflow Providers <../PROVIDERS.rst>_.
Airflow's success is built on its extensive ecosystem of community-supported integrations---over 1,600 hooks, operators, and sensors released as part of 90+ provider packages. These integrations are critical for "ubiquitous orchestration." This governance framework establishes a scalable method to grow the number of integrations while ensuring quality. Actual code acceptance and release governance remains with the Airflow PMC.
Stewardship model ^^^^^^^^^^^^^^^^^
Each provider or integration component must have designated stewards responsible for ensuring the health criteria described below are met:
.. note::
The quantitative criteria described below are aspirational. The PMC will revisit these metrics based on actual experience 6 months from the date of the first quarterly review of the provider metrics being published.
Lifecycle stages ^^^^^^^^^^^^^^^^
Providers generally follow a three-stage lifecycle: Incubation, Production, and Attic/Deprecation. However, not all providers will move through all stages. Additionally, providers may be designated as Mature under specific circumstances.
Incubation stage """"""""""""""""
All new providers or integration modules (such as Notifiers, Message components, etc.) should start in incubation unless specifically accelerated by the PMC. Incubation ensures that code, licenses, and processes align with ASF guidelines and community principles such as community, collaborative development, and openness.
Requirements for incubation:
Quantitative graduation criteria:
.. list-table:: :header-rows: 1 :widths: 40 60
Production stage """"""""""""""""
All modules in production are expected to be well managed with prompt resolution of issues and support for a consistent release cadence (at least monthly, but typically every 2 weeks when changes exist). Production providers must:
Exceptions can be granted based on a PMC/devlist vote (PMC members only having binding votes) for valid and one-off criteria.
Quantitative criteria to maintain production status:
.. list-table:: :header-rows: 1 :widths: 40 60
Attic / Deprecation stage """""""""""""""""""""""""
Modules should be moved into the Attic when relevance wanes, typically measured by declining activity. This commonly occurs when the integrated solution has faded in popularity and is replaced by more modern alternatives.
Movement to the Attic must be communicated on the dev list and voted on by the PMC. Exceptions can be granted based on the vote.
Quantitative criteria triggering attic consideration:
.. list-table:: :header-rows: 1 :widths: 40 60
Consequences of attic status:
Removing community providers <SUSPENDING_AND_REMOVING_PROVIDERS.rst#removing-community-providers>_)Mature providers """"""""""""""""
Some providers may have very stable interfaces requiring minimal changes on a regular basis (e.g., HTTP provider integration). At the discretion of the Airflow PMC, certain providers can be tagged as "mature providers", which will not automatically be deprecated and moved into the attic due to lack of activity alone.
Periodic reviews ^^^^^^^^^^^^^^^^
The Airflow PMC is responsible for reviewing the health status of integrations on a quarterly basis and making decisions such as:
These discussions will be held in public and subsequently summarized and shared on the Airflow devlist.