Ownership is measured by how many commits each author made to each file. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated.
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 |
|---|---|---|
| pkg/controller/persistentvolume/persistentvolume_controller.go | Jan Safranek | 19 |
| CHANGELOG/CHANGELOG-1.34.md | Kubernetes Release Robot | 19 |
| staging/src/k8s.io/apiserver/pkg/admission/testing/celtest/evaluator.go | Jaydip Gabani | 17 |
| cmd/libs/go2idl/client-gen/generators/client-generator.go | Chao Xu | 16 |
| CHANGELOG/CHANGELOG-1.35.md | Kubernetes Release Robot | 15 |
| test/utils/ktesting/assert.go | Patrick Ohly | 13 |
| test/utils/ktesting/withcontext.go | Patrick Ohly | 13 |
| staging/src/k8s.io/apiserver/pkg/admission/testing/celtest/parse.go | Jaydip Gabani | 13 |
| staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/validation/ratcheting.go | Alexander Zielenski | 13 |
| test/utils/ktesting/errorcontext.go | Patrick Ohly | 12 |
| pkg/controller/persistentvolume/persistentvolume_framework_test.go | Jan Safranek | 12 |
| contrib/mesos/pkg/scheduler/mesos_scheduler.go | Dr. Stefan Schimanski | 12 |
| staging/src/k8s.io/component-base/logs/api/v1/options_test.go | Patrick Ohly | 11 |
| pkg/util/validation/errors.go | Tim Hockin | 11 |
| staging/src/k8s.io/apiserver/pkg/authorization/authorizer/conditions.go | Lucas Käldström | 11 |
| test/instrumentation/testdata/test-stable-metrics-list.yaml | Han Kang | 11 |
| pkg/util/validation/errors_test.go | Tim Hockin | 10 |
| staging/src/k8s.io/apiserver/pkg/admission/testing/celtest/evaluator_test.go | Jaydip Gabani | 10 |
| staging/src/k8s.io/apiserver/pkg/admission/testing/celtest/helpers.go | Jaydip Gabani | 10 |
| staging/src/k8s.io/apiserver/pkg/util/flowcontrol/metrics/sample_and_watermark.go | Mike Spreitzer | 10 |
| staging/src/k8s.io/apiserver/pkg/util/flowcontrol/metrics/sample_and_watermark_test.go | Mike Spreitzer | 10 |
| contrib/mesos/pkg/scheduler/integration_test.go | Dr. Stefan Schimanski | 10 |
| staging/src/k8s.io/apiserver/pkg/cel/common/equality.go | Alexander Zielenski | 10 |
| pkg/volume/aws_pd/aws_pd.go | justinsb | 10 |
| federation/build.sh | Madhusudan.C.S | 10 |
| cluster/saltbase/salt/fluentd-gcp/fluentd-gcp.manifest | Satnam Singh | 10 |
| test/utils/ktesting/signals.go | Patrick Ohly | 9 |
| staging/src/k8s.io/apiserver/pkg/authorization/authorizer/conditions_test.go | Lucas Käldström | 9 |
| pkg/printers/internalversion/additional_printers_test.go | Sean Sullivan | 9 |
| build/make-binaries.sh | Joe Beda | 9 |
| contrib/logging/fluentd-es-image/td-agent.conf | Satnam Singh | 9 |
| test/utils/ktesting/clientcontext.go | Patrick Ohly | 8 |
| vendor/k8s.io/klog/v2/test/output.go | Patrick Ohly | 8 |
| staging/src/k8s.io/apiserver/pkg/admission/testing/celtest/helpers_test.go | Jaydip Gabani | 8 |
| staging/src/k8s.io/apiserver/pkg/admission/testing/celtest/parse_test.go | Jaydip Gabani | 8 |
| cmd/kube-aggregator/pkg/apiserver/apiservice_controller.go | David Eads | 8 |
| plugin/pkg/auth/authenticator/request/headerrequest/requestheader.go | David Eads | 8 |
| pkg/volume/aws_pd/aws_util.go | justinsb | 8 |
| test/e2e_node/gcloud/gcloud.go | Phillip Wittrock | 8 |
| docs/getting-started-guides/coreos/azure/package.json | Ilya Dmitrichenko | 8 |
| build/run-tests.sh | Joe Beda | 8 |
| build/make-cross.sh | Joe Beda | 8 |
| build/run-integration.sh | Joe Beda | 8 |
| test/utils/ktesting/contexthelper.go | Patrick Ohly | 7 |
| vendor/k8s.io/klog/v2/internal/serialize/keyvalues.go | Patrick Ohly | 7 |
| vendor/k8s.io/klog/v2/ktesting/testinglogger.go | Patrick Ohly | 7 |
| vendor/k8s.io/klog/v2/test/zapr.go | Patrick Ohly | 7 |
| staging/src/k8s.io/component-base/logs/api/v1/registry.go | Patrick Ohly | 7 |
| test/integration/logs/benchmark/common_test.go | Patrick Ohly | 7 |
| staging/src/k8s.io/apimachinery/pkg/util/validation/ip_test.go | Dan Winship | 7 |
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 |
|---|---|---|---|
| Jordan Liggitt | 10462 | 6276 | 22633 |
| Tim Hockin | 5126 | 970 | 11182 |
| Chao Xu | 4710 | 3035 | 10834 |
| SataQiu | 3618 | 1424 | 4864 |
| Paco Xu | 3076 | 413 | 5846 |
| Davanum Srinivas | 2971 | 1127 | 12227 |
| Patrick Ohly | 2965 | 789 | 6038 |
| David Eads | 2730 | 591 | 9688 |
| Jeff Grafton | 2538 | 48 | 4440 |
| saad-ali | 2235 | 16 | 2826 |
| Mike Danese | 2156 | 250 | 7822 |
| Dr. Stefan Schimanski | 1916 | 734 | 6955 |
| Ben Luddy | 1557 | 1529 | 1903 |
| Benjamin Elder | 1407 | 1256 | 6224 |
| Mengjiao Liu | 1394 | 1 | 3360 |
| Joe Betz | 1313 | 435 | 4699 |
| Samuel Roth | 1208 | 121 | 1383 |
| Jefftree | 1004 | 779 | 2128 |
| Clayton Coleman | 897 | 146 | 5436 |
| Patrick Reilly | 897 | 106 | 950 |
| Sean Sullivan | 861 | 410 | 1411 |
| Eric Paris | 857 | 363 | 3302 |
| Wojciech Tyczyński | 856 | 53 | 4088 |
| Trevor Pounds | 795 | 743 | 817 |
| Yifan Gu | 732 | 443 | 865 |
Files touched by the most people — shared code where changes are most likely to need coordination.
| File | Contributors | Primary owner | Owner share |
|---|---|---|---|
| api/openapi-spec/swagger.json | 422 | Jordan Liggitt | 4.6% |
| pkg/kubelet/kubelet.go | 405 | Yu-Ju Hong | 6.2% |
| pkg/features/kube_features.go | 365 | carlory | 3.3% |
| pkg/generated/openapi/zz_generated.openapi.go | 329 | Patrick Ohly | 5.0% |
| vendor/modules.txt | 310 | Davanum Srinivas | 16.3% |
| cmd/kubelet/app/server.go | 263 | Michael Taufen | 5.2% |
| pkg/kubelet/kubelet_test.go | 253 | Yu-Ju Hong | 6.3% |
| staging/src/k8s.io/api/core/v1/types.go | 251 | Tim Hockin | 4.9% |
| go.mod | 246 | Davanum Srinivas | 21.5% |
| Godeps/Godeps.json | 234 | Eric Paris | 4.0% |
| staging/src/k8s.io/api/core/v1/generated.proto | 226 | Tim Hockin | 5.3% |
| go.sum | 225 | Davanum Srinivas | 23.1% |
| hack/.golint_failures | 224 | SataQiu | 9.6% |
| pkg/apis/core/validation/validation.go | 209 | Tim Hockin | 4.6% |
| test/e2e/framework/util.go | 203 | Wojciech Tyczyński | 4.9% |
| staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go | 200 | Tim Hockin | 3.9% |
| pkg/apis/core/types.go | 193 | Hemant Kumar | 4.1% |
| pkg/apis/core/validation/validation_test.go | 191 | Tim Hockin | 4.3% |
| cluster/gce/util.sh | 189 | Brendan Burns | 4.5% |
| cluster/gce/gci/configure-helper.sh | 187 | Mike Danese | 6.2% |