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
5,327
in the current tree
Bus Factor
5
5 authors are primary owner of 2,741 of 5,327 files
Single-Owner Files
1,805
33.9% of tracked files
Contributors
1,038
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
ruby/red-arrow-format/test/test-writer.rbSutou Kouhei28
c_glib/arrow-glib/array.hSutou Kouhei22
cpp/meson.optionsWilliam Ayd20
ruby/red-arrow-format/test/test-reader.rbSutou Kouhei15
matlab/test/arrow/array/hNumericArray.mSarah Gilmore14
ruby/red-arrow-format/lib/arrow-format/field.rbSutou Kouhei11
ruby/red-arrow-format/lib/arrow-format/readable.rbSutou Kouhei11
dev/tasks/linux-packages/apache-arrow-release/yum/Apache-Arrow.repoSutou Kouhei11
cpp/src/arrow/flight/test_definitions.hDavid Li10
ruby/red-arrow-format/lib/arrow-format/bitmap.rbSutou Kouhei9
Table: the 100 most-changed of 1,805 single-owner files
FileSole ownerCommits
ruby/red-arrow-format/test/test-writer.rbSutou Kouhei28
c_glib/arrow-glib/array.hSutou Kouhei22
cpp/meson.optionsWilliam Ayd20
ruby/red-arrow-format/test/test-reader.rbSutou Kouhei15
matlab/test/arrow/array/hNumericArray.mSarah Gilmore14
ruby/red-arrow-format/lib/arrow-format/field.rbSutou Kouhei11
ruby/red-arrow-format/lib/arrow-format/readable.rbSutou Kouhei11
dev/tasks/linux-packages/apache-arrow-release/yum/Apache-Arrow.repoSutou Kouhei11
cpp/src/arrow/flight/test_definitions.hDavid Li10
ruby/red-arrow-format/lib/arrow-format/bitmap.rbSutou Kouhei9
ruby/red-arrow-format/lib/arrow-format/streaming-writer.rbSutou Kouhei9
c_glib/GemfileSutou Kouhei8
c_glib/arrow-glib/datum.cppSutou Kouhei8
matlab/src/matlab/+arrow/+array/UInt16Array.mSarah Gilmore8
matlab/src/matlab/+arrow/+array/UInt32Array.mSarah Gilmore8
matlab/src/matlab/+arrow/+array/UInt8Array.mSarah Gilmore8
matlab/src/matlab/+arrow/+type/TimestampType.mSarah Gilmore8
c_glib/parquet-glib/metadata.cppSutou Kouhei7
c_glib/test/test-binary-array.rbSutou Kouhei7
ruby/red-arrow-flight/lib/arrow-flight/loader.rbSutou Kouhei7
ruby/red-arrow-format/lib/arrow-format/streaming-pull-reader.rbSutou Kouhei7
c_glib/test/helper/flight-server.rbSutou Kouhei7
c_glib/arrow-glib/orc-file-reader.cppSutou Kouhei7
ruby/red-arrow/test/helper.rbSutou Kouhei7
c_glib/test/test-buffer.rbSutou Kouhei7
c_glib/arrow-glib/data-type.hSutou Kouhei7
cpp/src/arrow/compute/row/compare_test.ccRossi Sun7
matlab/test/arrow/array/tUInt16Array.mSarah Gilmore7
matlab/test/arrow/array/tUInt32Array.mSarah Gilmore7
matlab/test/arrow/array/tUInt8Array.mSarah Gilmore7
dev/archery/archery/crossbow/tests/fixtures/chat-report.txtRaúl Cumplido6
dev/archery/archery/templates/chat_nightly_report.txt.j2Raúl Cumplido6
ruby/red-arrow-format/lib/arrow-format/schema.rbSutou Kouhei6
ruby/RakefileSutou Kouhei6
ci/scripts/msys2_system_upgrade.shSutou Kouhei6
c_glib/test/test-struct-array.rbSutou Kouhei6
cpp/src/arrow/csv/column_builder.hAntoine Pitrou6
cpp/src/arrow/util/memory.ccAntoine Pitrou6
cpp/src/arrow/util/bpacking_benchmark.ccAntoine Prouvost6
matlab/src/matlab/+arrow/+array/NumericArray.mSarah Gilmore6
cpp/src/arrow/dataset/projector.hBenjamin Kietzman6
ruby/red-arrow-format/test/test-boolean-array.rbSutou Kouhei5
ruby/red-arrow-format/lib/arrow-format/error.rbSutou Kouhei5
ruby/red-arrow-flight-sql/test/test-client.rbSutou Kouhei5
ruby/red-arrow-format/lib/arrow-format/file-writer.rbSutou Kouhei5
ruby/red-arrow-format/red-arrow-format.gemspecSutou Kouhei5
ruby/red-arrow/test/test-decimal128-array.rbSutou Kouhei5
c_glib/test/parquet/test-row-group-metadata.rbSutou Kouhei5
c_glib/arrow-dataset-glib/dataset-factory.cppSutou Kouhei5
c_glib/arrow-dataset-glib/partitioning.cppSutou Kouhei5
c_glib/arrow-glib/array-builder.hppSutou Kouhei5
c_glib/parquet-glib/metadata.hppSutou Kouhei5
ruby/red-arrow-dataset/lib/arrow-dataset/arrow-table-loadable.rbSutou Kouhei5
ruby/red-arrow-dataset/lib/arrow-dataset/loader.rbSutou Kouhei5
ruby/red-arrow-dataset/test/test-arrow-table.rbSutou Kouhei5
c_glib/test/test-boolean-data-type.rbSutou Kouhei5
c_glib/test/test-string-array.rbSutou Kouhei5
cpp/src/arrow/csv/fuzz.ccAntoine Pitrou5
cpp/src/arrow/util/fuzz_internal.ccAntoine Pitrou5
cpp/src/arrow/io/slow.ccAntoine Pitrou5
matlab/src/matlab/+arrow/+type/BooleanType.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/Float32Type.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/Float64Type.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/Int16Type.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/Int32Type.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/Int64Type.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/Int8Type.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/UInt16Type.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/UInt32Type.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/UInt64Type.mSarah Gilmore5
matlab/src/matlab/+arrow/+type/UInt8Type.mSarah Gilmore5
matlab/test/arrow/type/tBooleanType.mSarah Gilmore5
matlab/test/arrow/type/tFloat32Type.mSarah Gilmore5
matlab/test/arrow/type/tFloat64Type.mSarah Gilmore5
matlab/test/arrow/type/tInt16Type.mSarah Gilmore5
matlab/test/arrow/type/tInt32Type.mSarah Gilmore5
matlab/test/arrow/type/tInt64Type.mSarah Gilmore5
matlab/test/arrow/type/tInt8Type.mSarah Gilmore5
matlab/test/arrow/type/tUInt16Type.mSarah Gilmore5
matlab/test/arrow/type/tUInt32Type.mSarah Gilmore5
matlab/test/arrow/type/tUInt64Type.mSarah Gilmore5
matlab/test/arrow/type/tUInt8Type.mSarah Gilmore5
cpp/src/arrow/ipc/meson.buildWilliam Ayd5
dev/archery/archery/crossbow/tests/fixtures/chat-report-extra-message-failure.txtRaúl Cumplido4
dev/archery/archery/crossbow/tests/fixtures/chat-report-extra-message-success.txtRaúl Cumplido4
dev/archery/archery/ci/core.pyRaúl Cumplido4
ruby/red-arrow-format/test/test-float32-array.rbSutou Kouhei4
ruby/red-arrow-format/test/test-float64-array.rbSutou Kouhei4
ruby/red-arrow-format/test/test-int16-array.rbSutou Kouhei4
ruby/red-arrow-format/test/test-int32-array.rbSutou Kouhei4
ruby/red-arrow-format/test/test-int64-array.rbSutou Kouhei4
ruby/red-arrow-format/test/test-int8-array.rbSutou Kouhei4
ruby/red-arrow-format/test/test-uint16-array.rbSutou Kouhei4
ruby/red-arrow-format/test/test-uint32-array.rbSutou Kouhei4
ruby/red-arrow-format/test/test-uint64-array.rbSutou Kouhei4
ruby/red-arrow-format/test/test-uint8-array.rbSutou Kouhei4
ruby/red-arrow-format/RakefileSutou Kouhei4
ruby/red-arrow-format/lib/arrow-format/integration/json-reader.rbSutou Kouhei4
ruby/red-arrow/lib/arrow/table-formatter.rbSutou Kouhei4
ruby/red-arrow/lib/arrow/list-data-type.rbSutou Kouhei4

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
Sutou Kouhei1,3807072,325
Antoine Pitrou565881,699
Wes McKinney315291,019
Sarah Gilmore286143349
Raúl Cumplido19562679
Neal Richardson18110500
Nic Crane14325471
Alenka Frim12068436
Weston Pace10322480
David Li10217598
Krisztián Szűcs9834555
justing-bq9748145
Yosuke Shiro8448203
mwish807285
Rossi Sun7528204
William Ayd7444231
Pindikura Ravindra722149
Benjamin Kietzman7011722
Alina (Xi) Li6116131
Romain François566196
Sten Larsson554676
Kevin Gurney5137198
Joris Van den Bossche495334
Felipe Oliveira Carvalho4824281
Rok Mihevc449247

Showing top 25 of 1038 contributors.

Most shared files

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

FileContributorsPrimary ownerOwner share
python/pyarrow/includes/libarrow.pxd92Wes McKinney20.4%
cpp/cmake_modules/ThirdpartyToolchain.cmake91Sutou Kouhei32.7%
cpp/src/arrow/CMakeLists.txt85Antoine Pitrou21.5%
python/pyarrow/array.pxi85Wes McKinney16.7%
python/pyarrow/table.pxi70Wes McKinney17.4%
dev/tasks/tasks.yml69Sutou Kouhei29.4%
python/pyarrow/tests/test_array.py68Wes McKinney19.8%
cpp/CMakeLists.txt65Wes McKinney25.8%
python/pyarrow/_parquet.pyx60Wes McKinney24.0%
python/pyarrow/tests/test_dataset.py57Joris Van den Bossche24.4%
python/pyarrow/tests/test_compute.py57Rok Mihevc10.9%
python/pyarrow/types.pxi56Wes McKinney18.4%
docs/source/cpp/compute.rst56David Li22.5%
cpp/src/arrow/type.h53Wes McKinney32.0%
cpp/src/parquet/column_writer.cc51Antoine Pitrou15.6%
python/pyarrow/tests/test_table.py49Wes McKinney19.8%
python/pyarrow/_dataset.pyx49Joris Van den Bossche21.4%
cpp/thirdparty/versions.txt48Antoine Pitrou17.9%
docs/source/status.rst48Matt Topol18.2%
cpp/src/arrow/type.cc47Wes McKinney30.7%