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 only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.
| File | Sole owner | Commits |
|---|---|---|
| website/www/site/content/en/blog/deploy-python-pipeline-on-flink-runner.md | Jaehyeon Kim | 28 |
| learning/katas/go/course-remote-info.yaml | Damon Douglas | 22 |
| website/www/site/content/en/blog/beam-yaml-proto.md | Ferran Fernández Garrido | 16 |
| learning/katas/go/core_transforms/section-info.yaml | Damon Douglas | 15 |
| .test-infra/validate-runner/src/main/java/org/apache/beam/validate/runner/Main.java | Sruthi Sree Kumar | 15 |
| .test-infra/validate-runner/src/main/java/org/apache/beam/validate/runner/service/TestService.java | Sruthi Sree Kumar | 14 |
| .test-infra/validate-runner/src/main/java/org/apache/beam/validate/runner/util/FileReaderUtil.java | Sruthi Sree Kumar | 12 |
| sdks/go/pkg/beam/runners/prism/internal/urns/urns.go | Robert Burke | 10 |
| sdks/python/apache_beam/runners/interactive/testing/integration/goldens/Darwin/7a35f487b2a5f3a9b9852a8659eeb4bd.png | Ning Kang | 10 |
| .test-infra/validate-runner/src/main/java/org/apache/beam/validate/runner/model/CaseResult.java | Sruthi Sree Kumar | 10 |
| File | Sole owner | Commits |
|---|---|---|
| website/www/site/content/en/blog/deploy-python-pipeline-on-flink-runner.md | Jaehyeon Kim | 28 |
| learning/katas/go/course-remote-info.yaml | Damon Douglas | 22 |
| website/www/site/content/en/blog/beam-yaml-proto.md | Ferran Fernández Garrido | 16 |
| learning/katas/go/core_transforms/section-info.yaml | Damon Douglas | 15 |
| .test-infra/validate-runner/src/main/java/org/apache/beam/validate/runner/Main.java | Sruthi Sree Kumar | 15 |
| .test-infra/validate-runner/src/main/java/org/apache/beam/validate/runner/service/TestService.java | Sruthi Sree Kumar | 14 |
| .test-infra/validate-runner/src/main/java/org/apache/beam/validate/runner/util/FileReaderUtil.java | Sruthi Sree Kumar | 12 |
| sdks/go/pkg/beam/runners/prism/internal/urns/urns.go | Robert Burke | 10 |
| sdks/python/apache_beam/runners/interactive/testing/integration/goldens/Darwin/7a35f487b2a5f3a9b9852a8659eeb4bd.png | Ning Kang | 10 |
| .test-infra/validate-runner/src/main/java/org/apache/beam/validate/runner/model/CaseResult.java | Sruthi Sree Kumar | 10 |
| sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/ReadUtils.java | Ahmed Abualsaud | 8 |
| sdks/java/io/delta/src/main/java/org/apache/beam/sdk/io/delta/DeltaIO.java | Chamikara Jayalath | 8 |
| runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/BoundedTrieCell.java | Rohit Sinha | 8 |
| runners/core-java/src/test/java/org/apache/beam/runners/core/metrics/BoundedTrieNodeTest.java | Rohit Sinha | 8 |
| learning/tour-of-beam/backend/internal/entity.go | Evgeny Antyshev | 8 |
| sdks/java/managed/src/test/java/org/apache/beam/sdk/managed/ManagedSchemaTransformProviderTest.java | Ahmed Abualsaud | 7 |
| runners/kafka-streams/src/main/java/org/apache/beam/runners/kafka/streams/translation/ExecutableStageTranslator.java | M Junaid Shaukat | 7 |
| contributor-docs/discussion-docs/2024.md | liferoad | 7 |
| sdks/python/apache_beam/yaml/yaml_mapping.md | Robert Bradshaw | 7 |
| sdks/typescript/test/io_test.ts | Robert Bradshaw | 7 |
| .github/gh-actions-self-hosted-runners/arc/config/arc_deployment.tpl | Vlado Djerek | 7 |
| playground/frontend/lib/modules/examples/models/example_loading_descriptors/examples_loading_descriptor_factory.dart | alexeyinkin | 7 |
| learning/tour-of-beam/backend/internal/storage/iface.go | Evgeny Antyshev | 7 |
| .github/workflows/codeql.yml | Derrick Williams | 6 |
| sdks/python/apache_beam/yaml/tests/runinference_huggingface.yaml | Derrick Williams | 6 |
| sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/util/GcsUtilV2Test.java | Shunping Huang | 6 |
| .github/trigger_files/beam_PostCommit_Python_Versions.json | Shunping Huang | 6 |
| sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/PartitionUtils.java | Ahmed Abualsaud | 6 |
| sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/ScanSource.java | Ahmed Abualsaud | 6 |
| sdks/java/io/file-schema-transform/src/test/java/org/apache/beam/sdk/io/fileschematransform/LineReadSchemaTransformFormatProviderTest.java | Ahmed Abualsaud | 6 |
| sdks/java/core/src/main/java/org/apache/beam/sdk/state/ReadableStates.java | Kenneth Knowles | 6 |
| runners/kafka-streams/src/test/java/org/apache/beam/runners/kafka/streams/translation/ExecutableStageProcessorWatermarkTest.java | M Junaid Shaukat | 6 |
| sdks/go/pkg/beam/runners/prism/internal/engine/engine_test.go | Robert Burke | 6 |
| sdks/go/pkg/beam/runners/prism/internal/jobservices/metrics_test.go | Robert Burke | 6 |
| sdks/go/test/integration/io/xlang/jdbc/jdbc.go | Ritesh Ghorse | 6 |
| website/notebooks/generate.py | David Cavazos | 6 |
| learning/tour-of-beam/backend/integration_tests/function_test.go | Evgeny Antyshev | 6 |
| learning/tour-of-beam/backend/internal/storage/adapter.go | Evgeny Antyshev | 6 |
| examples/java/src/test/java/org/apache/beam/examples/cookbook/CombinePerKeyExamplesIT.java | Benjamin Gonzalez | 6 |
| sdks/go/pkg/beam/io/fhirio/read_test.go | Lucas Nogueira | 6 |
| .test-infra/validate-runner/src/main/java/org/apache/beam/validate/runner/model/Configuration.java | Sruthi Sree Kumar | 6 |
| sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/ReadFooterSchema.java | claudevdm | 5 |
| sdks/java/io/iceberg/src/test/java/org/apache/beam/sdk/io/iceberg/ReadFooterSchemaTest.java | claudevdm | 5 |
| sdks/python/apache_beam/typehints/row_type_test.py | Yi Hu | 5 |
| sdks/python/apache_beam/yaml/extended_tests/messaging/kafka.yaml | Derrick Williams | 5 |
| scripts/ci/pr-bot/shared/reviewerConfig.ts | Danny McCormick | 5 |
| sdks/java/io/iceberg/src/test/java/org/apache/beam/sdk/io/iceberg/IcebergCdcReadSchemaTransformProviderTest.java | Ahmed Abualsaud | 5 |
| sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/IcebergCdcReadSchemaTransformProvider.java | Ahmed Abualsaud | 5 |
| sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/TableCache.java | Ahmed Abualsaud | 5 |
| sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/ScanTaskSource.java | Ahmed Abualsaud | 5 |
| sdks/java/io/iceberg/src/test/java/org/apache/beam/sdk/io/iceberg/catalog/HadoopCatalogIT.java | Ahmed Abualsaud | 5 |
| runners/core-java/src/main/java/org/apache/beam/runners/core/triggers/package-info.java | Kenneth Knowles | 5 |
| sdks/java/core/src/main/java/org/apache/beam/sdk/state/BagState.java | Kenneth Knowles | 5 |
| sdks/java/core/src/main/java/org/apache/beam/sdk/state/CombiningState.java | Kenneth Knowles | 5 |
| sdks/java/core/src/main/java/org/apache/beam/sdk/state/StateContext.java | Kenneth Knowles | 5 |
| runners/kafka-streams/src/main/java/org/apache/beam/runners/kafka/streams/KafkaStreamsPortablePipelineResult.java | M Junaid Shaukat | 5 |
| runners/kafka-streams/src/main/java/org/apache/beam/runners/kafka/streams/translation/FlattenTranslator.java | M Junaid Shaukat | 5 |
| examples/terraform/envoy-ratelimiter/README.md | Tarun Annapareddy | 5 |
| examples/terraform/envoy-ratelimiter/ratelimit.tf | Tarun Annapareddy | 5 |
| examples/terraform/envoy-ratelimiter/variables.tf | Tarun Annapareddy | 5 |
| contributor-docs/discussion-docs/2023.md | liferoad | 5 |
| contributor-docs/discussion-docs/generate_doc_md.py | liferoad | 5 |
| sdks/python/apache_beam/transforms/error_handling_test.py | Robert Bradshaw | 5 |
| runners/flink/src/main/java/org/apache/beam/runners/flink/adapter/BeamAdapterUtils.java | Robert Bradshaw | 5 |
| sdks/python/apache_beam/runners/trivial_runner_test.py | Robert Bradshaw | 5 |
| sdks/typescript/test/docs/programming_guide.ts | Robert Bradshaw | 5 |
| sdks/go/pkg/beam/runners/prism/prism.go | Robert Burke | 5 |
| sdks/go/pkg/beam/runners/prism/internal/separate_test.go | Robert Burke | 5 |
| sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaSinkMetrics.java | Naireen Hussain | 5 |
| sdks/java/io/kafka/src/test/java/org/apache/beam/sdk/io/kafka/KafkaMetricsTest.java | Naireen Hussain | 5 |
| website/www/site/content/en/case-studies/akvelon.md | bullet03 | 5 |
| website/www/site/assets/scss/_connectors.sass | bullet03 | 5 |
| website/www/site/assets/scss/_contribute.sass | bullet03 | 5 |
| sdks/java/io/solace/src/main/java/org/apache/beam/sdk/io/solace/broker/MessageReceiver.java | Bartosz Zablocki | 5 |
| sdks/java/io/solace/src/main/java/org/apache/beam/sdk/io/solace/broker/SolaceMessageReceiver.java | Bartosz Zablocki | 5 |
| learning/katas/go/core_transforms/map/lesson-info.yaml | Damon Douglas | 5 |
| sdks/python/apache_beam/testing/benchmarks/cloudml/cloudml_benchmark_test.py | Anand Inguva | 5 |
| sdks/java/extensions/sql/src/test/java/org/apache/beam/sdk/extensions/sql/impl/JavaUdfLoaderTest.java | Kyle Weaver | 5 |
| sdks/java/container/agent/src/main/java/org/apache/beam/agent/OpenModuleAgent.java | Kiley Sok | 5 |
| learning/tour-of-beam/backend/integration_tests/auth_test.go | Evgeny Antyshev | 5 |
| learning/tour-of-beam/backend/integration_tests/local.sh | Evgeny Antyshev | 5 |
| sdks/go/pkg/beam/io/fhirio/utils_test.go | Lucas Nogueira | 5 |
| playground/frontend/lib/constants/colors.dart | Aydar Farrakhov | 5 |
| runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/NoOpMetricsSink.java | Etienne Chauchot | 5 |
| .test-infra/validate-runner/README.md | Sruthi Sree Kumar | 5 |
| sdks/java/io/iceberg/src/test/java/org/apache/beam/sdk/io/iceberg/CommitSchemaUnionTest.java | claudevdm | 4 |
| sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/SchemaEvolutionConfig.java | claudevdm | 4 |
| sdks/java/io/iceberg/src/test/java/org/apache/beam/sdk/io/iceberg/SchemaEvolutionConfigTest.java | claudevdm | 4 |
| sdks/python/apache_beam/examples/inference/vertex_ai_image_classification.py | Jack McCluskey | 4 |
| runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/translation/EvaluationContext.java | Tobias Kaymak | 4 |
| sdks/java/io/snowflake/src/main/java/org/apache/beam/sdk/io/snowflake/SnowflakeWriteSchemaTransformProvider.java | Vitaly Terentyev | 4 |
| it/iceberg/src/test/java/org/apache/beam/it/iceberg/IcebergIOLT.java | Vitaly Terentyev | 4 |
| website/www/site/content/en/blog/beam-2.68.0.md | Vitaly Terentyev | 4 |
| examples/java/cdap/README.md | Vitaly Terentyev | 4 |
| sdks/java/extensions/google-cloud-platform-core/src/test/java/org/apache/beam/sdk/extensions/gcp/util/TransportTest.java | Shunping Huang | 4 |
| sdks/python/apache_beam/transforms/core_it_test.py | Danny McCormick | 4 |
| sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/GroupByEncryptedKey.java | Danny McCormick | 4 |
| sdks/go/pkg/beam/register/register.go | Danny McCormick | 4 |
| sdks/go/pkg/beam/register/register.tmpl | Danny McCormick | 4 |
| sdks/java/io/iceberg/src/main/java/org/apache/beam/sdk/io/iceberg/cdc/sink/WriteCdcRows.java | Ahmed Abualsaud | 4 |
Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.
| Author | Files owned | Solely owned | Files touched |
|---|---|---|---|
| Kenneth Knowles | 1,830 | 152 | 3,851 |
| Yi Hu | 1,033 | 110 | 3,802 |
| Robert Bradshaw | 546 | 196 | 1,254 |
| Vitaly Terentyev | 483 | 332 | 1,016 |
| alexeyinkin | 369 | 170 | 518 |
| Abzal Tuganbay | 345 | 339 | 386 |
| Robert Burke | 327 | 38 | 663 |
| Nam Bui | 300 | 271 | 573 |
| Ahmed Abualsaud | 293 | 159 | 618 |
| bullet03 | 288 | 123 | 353 |
| Luke Cwik | 273 | 29 | 1,993 |
| Danny McCormick | 266 | 65 | 3,023 |
| Rion Williams | 263 | 228 | 271 |
| Reuven Lax | 238 | 44 | 806 |
| Jack McCluskey | 227 | 80 | 1,065 |
| Ning Kang | 203 | 53 | 422 |
| Henry Suryawirawan | 198 | 146 | 375 |
| Timur Sultanov | 194 | 131 | 441 |
| Damon Douglas | 193 | 82 | 233 |
| Shunping Huang | 182 | 114 | 822 |
| Derrick Williams | 180 | 119 | 1,227 |
| Damon | 167 | 140 | 461 |
| Darkhan Nausharipov | 166 | 115 | 312 |
| Radosław Stankiewicz | 164 | 20 | 1,144 |
| Israel Herraiz | 156 | 126 | 316 |
Files touched by the most people — shared code where changes are most likely to need coordination.
| File | Contributors | Primary owner | Owner share |
|---|---|---|---|
| CHANGES.md | 267 | Yi Hu | 6.7% |
| buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy | 192 | Yi Hu | 7.7% |
| sdks/python/setup.py | 132 | tvalentyn | 8.4% |
| sdks/python/apache_beam/options/pipeline_options.py | 87 | Kyle Weaver | 11.1% |
| sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.java | 86 | Reuven Lax | 17.4% |
| settings.gradle.kts | 83 | Yi Hu | 15.6% |
| sdks/python/apache_beam/io/gcp/bigquery.py | 80 | Pablo Estrada | 22.2% |
| runners/google-cloud-dataflow-java/build.gradle | 77 | Yi Hu | 12.5% |
| runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunner.java | 77 | Kenneth Knowles | 15.9% |
| sdks/python/tox.ini | 70 | Robbe Sneyders | 9.8% |
| build.gradle.kts | 70 | Yi Hu | 13.7% |
| sdks/java/io/google-cloud-platform/build.gradle | 65 | Luke Cwik | 13.8% |
| README.md | 64 | Davor Bonaci | 12.0% |
| sdks/python/apache_beam/transforms/core.py | 63 | Robert Bradshaw | 29.0% |
| sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaIO.java | 63 | Raghu Angadi | 18.7% |
| sdks/python/apache_beam/runners/dataflow/internal/apiclient.py | 61 | Ahmet Altay | 9.0% |
| sdks/python/apache_beam/runners/dataflow/dataflow_runner.py | 59 | Robert Bradshaw | 24.6% |
| sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java | 58 | Reuven Lax | 13.5% |
| gradle.properties | 57 | Amar3tto | 8.1% |
| sdks/python/apache_beam/pipeline.py | 56 | Robert Bradshaw | 38.8% |
How Apache Beam compares with other Apache projects →
How Apache Beam ranks among Apache projects by AI-assisted commits →
Generate this report for your own repository with gitstats-action · All Gallery reports
Publishes the report to GitHub Pages on every push to main: turn on Pages for the gh-pages branch.
# .github/workflows/gitstats.yml
name: GitStats Report
on:
push:
branches: [main]
permissions:
contents: write
jobs:
gitstats:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- uses: shenxianpeng/gitstats-action@v1
with:
deploy-to-pages: true