Code Ownership

Ownership is measured by how many commits each author made to each file in the current tree. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated. The bus factor is the smallest number of people who are, between them, primary owner of more than half of the files.

Files Tracked
15,130
in the current tree
Bus Factor
7
7 authors are primary owner of 7,826 of 15,130 files
Single-Owner Files
6,064
40.1% of tracked files
Contributors
2,100
authors who changed files

Bus factor risk — single-owner files

Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.

FileSole ownerCommits
.github/workflows/prod-image-extra-checks.ymlJarek Potiuk27
providers/common/ai/docs/frameworks/index.rstKaxil Naik11
airflow-core/src/airflow/partition_mappers/temporal.pyWei Lee11
.apache-magpie.lockJarek Potiuk10
ts-sdk/docs/index.mdJason(Zhe-You) Liu10
providers/common/ai/docs/toolsets/skills.rstKaxil Naik9
task-sdk/src/airflow/sdk/definitions/partition_mappers/temporal.pyWei Lee9
providers/amazon/docs/operators/s3_tables.rstJohn Jackson8
providers/amazon/src/airflow/providers/amazon/aws/operators/s3_tables.pyJohn Jackson8
providers/amazon/tests/unit/amazon/aws/operators/test_s3_tables.pyJohn Jackson8
Table: the 100 most-changed of 6,064 single-owner files
FileSole ownerCommits
.github/workflows/prod-image-extra-checks.ymlJarek Potiuk27
providers/common/ai/docs/frameworks/index.rstKaxil Naik11
airflow-core/src/airflow/partition_mappers/temporal.pyWei Lee11
.apache-magpie.lockJarek Potiuk10
ts-sdk/docs/index.mdJason(Zhe-You) Liu10
providers/common/ai/docs/toolsets/skills.rstKaxil Naik9
task-sdk/src/airflow/sdk/definitions/partition_mappers/temporal.pyWei Lee9
providers/amazon/docs/operators/s3_tables.rstJohn Jackson8
providers/amazon/src/airflow/providers/amazon/aws/operators/s3_tables.pyJohn Jackson8
providers/amazon/tests/unit/amazon/aws/operators/test_s3_tables.pyJohn Jackson8
providers/common/ai/src/airflow/providers/common/ai/utils/toolset_base.pyKaxil Naik7
providers/common/ai/docs/toolsets/object_storage.rstKaxil Naik7
providers/common/ai/docs/tool_approval.rstKaxil Naik7
go-sdk/airflow/inputs.goPoAn Yang7
go-sdk/airflow/task_option.goPoAn Yang7
providers/openlineage/tests/system/openlineage/expected_events/openlineage_trigger_dag.jsonKacper Muda7
providers/ydb/docs/.latest-doc-only-change.txtElad Kalif7
dev/breeze/doc/ci/08_fork_ci_for_external_contributors.mdJarek Potiuk6
dev/breeze/src/airflow_breeze/commands/common_package_installation_options.pyJarek Potiuk6
providers/common/ai/docs/frameworks/strands.rstKaxil Naik6
providers/common/ai/docs/toolsets/mcp.rstKaxil Naik6
providers/common/ai/src/airflow/providers/common/ai/decorators/llm_sql.pyKaxil Naik6
providers/common/ai/tests/unit/common/ai/durable/test_storage.pyKaxil Naik6
providers/common/ai/src/airflow/providers/common/ai/sandbox/modal.pyKaxil Naik6
providers/common/ai/src/airflow/providers/common/ai/decorators/llm.pyKaxil Naik6
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/internal/RefsTest.ktJason(Zhe-You) Liu6
providers/common/ai/tests/system/common/ai/README.mdYossi Eliaz6
providers/amazon/docs/operators/glue_catalog.rstJohn Jackson6
providers/amazon/src/airflow/providers/amazon/aws/operators/glue_catalog.pyJohn Jackson6
providers/amazon/tests/unit/amazon/aws/operators/test_glue_catalog.pyJohn Jackson6
providers/amazon/docs/operators/s3_vectors.rstJohn Jackson6
providers/amazon/src/airflow/providers/amazon/aws/operators/s3_vectors.pyJohn Jackson6
providers/amazon/tests/unit/amazon/aws/operators/test_s3_vectors.pyJohn Jackson6
dev/update_github_branch_config.pyJarek Potiuk5
providers/standard/docs/sensors/bash.rstJarek Potiuk5
providers/standard/docs/sensors/file.rstJarek Potiuk5
dev/breeze/src/airflow_breeze/templates/PROVIDER_COMMITS_TEMPLATE.rst.jinja2Jarek Potiuk5
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_llm_retry_policy.pyKaxil Naik5
providers/common/ai/src/airflow/providers/common/ai/toolsets/skills.pyKaxil Naik5
providers/common/ai/docs/code_mode.rstKaxil Naik5
dev/breeze/doc/images/output_registry.svgKaxil Naik5
dev/breeze/doc/images/output_registry.txtKaxil Naik5
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Arg.ktJason(Zhe-You) Liu5
task-sdk/src/airflow/sdk/coordinators/_dag_importer.pyJason(Zhe-You) Liu5
go-sdk/pkg/execution/frames_test.goJason(Zhe-You) Liu5
task-sdk/src/airflow/sdk/definitions/partition_mappers/base.pyWei Lee5
task-sdk/tests/task_sdk/definitions/test_partition_mappers.pyWei Lee5
task-sdk/src/airflow/sdk/definitions/_internal/loop.pyAsh Berlin-Taylor5
shared/observability/tests/observability/test_traces.pyDaniel Standish5
airflow-core/src/airflow/ui/public/i18n/locales/nl/assets.jsonVincent Kling5
airflow-core/src/airflow/ui/public/i18n/locales/tr/assets.jsonBugra Ozturk5
airflow-ctl/docs/index.rstBugra Ozturk5
dev/.pre-commit-config.yamlJarek Potiuk4
scripts/ci/prek/check_license.pyJarek Potiuk4
.github/workflows/asf-allowlist-check.ymlJarek Potiuk4
dev/breeze/doc/07_breeze_maintenance_tasks.rstJarek Potiuk4
dev/breeze/doc/images/output-commands-hash.txtJarek Potiuk4
dev/images/release_prod_image.pngJarek Potiuk4
dev/breeze/src/airflow_breeze/templates/PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2Jarek Potiuk4
scripts/ci/images/initialize.shJarek Potiuk4
dev/breeze/src/airflow_breeze/__init__.pyJarek Potiuk4
scripts/ci/dockerfiles/stress/build_and_push.shJarek Potiuk4
scripts/ci/dockerfiles/trino/build_and_push.shJarek Potiuk4
providers/common/ai/docs/use_cases/index.rstKaxil Naik4
registry/src/_data/statsData.jsKaxil Naik4
providers/common/ai/docs/frameworks/adk.rstKaxil Naik4
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_strands_agent.pyKaxil Naik4
providers/common/ai/tests/unit/common/ai/toolsets/test_skills.pyKaxil Naik4
task-sdk/tests/task_sdk/definitions/test_retry_policy.pyKaxil Naik4
providers/common/ai/src/airflow/providers/common/ai/durable/task_state_store.pyKaxil Naik4
providers/common/ai/docs/concepts.rstKaxil Naik4
providers/common/ai/docs/redirects.txtKaxil Naik4
providers/common/ai/docs/toolsets/langchain.rstKaxil Naik4
providers/common/ai/tests/unit/common/ai/toolsets/test_mcp.pyKaxil Naik4
providers/common/ai/tests/unit/common/ai/hooks/test_mcp.pyKaxil Naik4
dev/breeze/src/airflow_breeze/commands/registry_commands_config.pyKaxil Naik4
dev/registry/merge_registry_data.pyKaxil Naik4
registry/src/_includes/base.njkKaxil Naik4
scripts/ci/prek/lang_sdk_compat_matrix.pyJason(Zhe-You) Liu4
ts-sdk/DEVELOPMENT.mdJason(Zhe-You) Liu4
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/Fields.ktJason(Zhe-You) Liu4
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/DagDefTest.ktJason(Zhe-You) Liu4
ts-sdk/docs/package.jsonJason(Zhe-You) Liu4
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/ArgValues.ktJason(Zhe-You) Liu4
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/Refs.ktJason(Zhe-You) Liu4
kubernetes-tests/lang_sdk/java_example/src/java/org/apache/airflow/k8sexample/K8sBundleBuilder.javaJason(Zhe-You) Liu4
airflow-core/adr/lang-sdk/0007-taskflow-across-language-boundary.mdJason(Zhe-You) Liu4
airflow-core/adr/lang-sdk/0010-native-dag-processing.mdJason(Zhe-You) Liu4
ts-sdk/tests/coordinator/arg-binding.test.tsJason(Zhe-You) Liu4
ts-sdk/example/dags/typescript_taskflow_example.pyJason(Zhe-You) Liu4
ts-sdk/example/src/taskflow.tsJason(Zhe-You) Liu4
ts-sdk/scripts/verify-package.mjsJason(Zhe-You) Liu4
go-sdk/adr/0003-coordinator-protocol-msgpack-ipc.mdJason(Zhe-You) Liu4
go-sdk/airflow/task_group_test.goPoAn Yang4
go-sdk/airflow/inputs_test.goPoAn Yang4
go-sdk/airflow/task_handler.goPoAn Yang4
airflow-core/src/airflow/cli/commands/partition_command.pyWei Lee4
airflow-core/src/airflow/partition_mappers/__init__.pyWei Lee4
airflow-core/tests/unit/partition_mappers/test_window.pyWei Lee4
airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/logSelection.tsAndrew Chang4

Ownership by author

Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.

AuthorFiles ownedSolely ownedFiles touched
Jarek Potiuk4,3762,2478,207
Kaxil Naik9283532,459
Jens Scheffler7471112,556
Jason(Zhe-You) Liu6553661,366
Elad Kalif43371,520
Shahar Epstein348422,038
Brent Bovenzi339100946
Kalyan R3362141,005
Tzu-ping Chung32967917
Rahul Vats26398733
Vincent261591,207
Wei Lee26066649
Pierre Jeambrun24257804
Ryan Hamilton24162640
Amogh Desai228861,476
Wilson Josix Wang222113429
Kacper Muda218129470
Ash Berlin-Taylor198871,330
Shubham Raj17477422
PoAn Yang16149571
Ulada Zakharava15664306
Bugra Ozturk14389499
David Blain13999425
GPK10984952
Niko Oliveira10953450

Showing top 25 of 2100 contributors.

Most shared files

Files touched by the most people — shared code where changes are most likely to need coordination.

FileContributorsPrimary ownerOwner share
README.md426Jarek Potiuk12.4%
INTHEWILD.md254Jens Scheffler1.8%
docs/spelling_wordlist.txt187Jarek Potiuk11.9%
chart/values.yaml178Jed Cunningham11.9%
chart/values.schema.json160Jed Cunningham13.1%
.pre-commit-config.yaml125Jarek Potiuk36.0%
airflow-core/src/airflow/ui/openapi-gen/requests/types.gen.ts101Pierre Jeambrun11.5%
pyproject.toml92Jarek Potiuk27.2%
BREEZE.rst83Jarek Potiuk56.4%
CONTRIBUTING.rst83Jarek Potiuk36.2%
airflow-core/src/airflow/api_fastapi/core_api/openapi/v2-rest-api-generated.yaml80Pierre Jeambrun10.9%
Dockerfile79Jarek Potiuk53.7%
airflow-core/src/airflow/ui/openapi-gen/requests/schemas.gen.ts75Pierre Jeambrun12.6%
chart/templates/workers/worker-deployment.yaml74Przemysław Mirowski13.3%
chart/templates/scheduler/scheduler-deployment.yaml74Jed Cunningham9.2%
dev/breeze/tests/test_selective_checks.py73Jarek Potiuk44.5%
airflow-core/src/airflow/jobs/scheduler_job_runner.py72Kaxil Naik9.0%
chart/templates/_helpers.yaml71Jed Cunningham11.2%
airflow-core/src/airflow/config_templates/config.yml70Amogh Desai10.9%
dev/breeze/src/airflow_breeze/global_constants.py67Jarek Potiuk39.8%