← all organisations

TechnologyEnhancedLearning / People

1,265 human committers, 8 bots, and what the commit timestamps reveal about how GDS works.

Every commit carries an author name and email. Collapsing 3,578 per-repository author records by email gives 1,273 distinct identities - 1,265 people and 8 machines. Identity is keyed on email because it is the only stable key git offers; one person using both a work and a personal address will appear twice.

People

1,265
human committers
resolved by GitHub id, address or full name
8
automated identities
3% of all commits
32%
committed exactly once
409 people, one commit each
162
committed over 5+ years
the institutional memory

What stands out

The top 1% of committers wrote 34% of the human commits.

12 people out of 1,265 account for 51.7k commits. The top ten alone wrote 30%. This is the usual open-source power law, but it is worth noting in a government context: institutional knowledge is concentrated in very few hands.

32% of people committed exactly once.

409 of 1,265 committers made a single commit and never returned. 96% touched only one repository. A public organisation attracts drive-by contributors, and the numbers show GDS accepted them.

9.1% of commits land at the weekend.

Weekday work dominates, as you would expect from a civil-service delivery organisation with a strong stated position on sustainable pace. The residual weekend activity is concentrated in incident response and personal-time open-source work.

3% of all commits were made by machines.

4.2k commits come from 8 automated identities - overwhelmingly Dependabot. GOV.UK's documented policy is to auto-merge dependency upgrades where possible, and the commit history shows that policy working at scale.

47% of live repositories rest on a single person.

In 16 of the 34 live repositories with meaningful history, one individual wrote more than half of all commits. That is the ordinary shape of a large estate with many small tools, but it is worth knowing which ones - they are listed below.

Who writes the code

Top 25 committers by commit count

Humans only. Bots are charted separately below.

moodlermoodler: 7.9k7.9kEloy Lafuente (stronk7)Eloy Lafuente (stronk7): 6.8k6.8kAndrew NicolsAndrew Nicols: 5.8k5.8kDan PoltawskiDan Poltawski: 5.3k5.3kSam HemelrykSam Hemelryk: 3.9k3.9kskodakskodak: 3.8k3.8kkevwhitt-heekevwhitt-hee: 3.6k3.6kstronk7stronk7: 3.3k3.3kJun PataletaJun Pataleta: 3.2k3.2kDavid MonllaoDavid Monllao: 2.8k2.8kDamyon WieseDamyon Wiese: 2.7k2.7kSara ArjonaSara Arjona: 2.5k2.5kPetr SkodaPetr Skoda: 2.4k2.4kTim HuntTim Hunt: 2.4k2.4kBernhard FischerBernhard Fischer: 2.3k2.3kPetr SkodaPetr Skoda: 2.2k2.2kMarina GlancyMarina Glancy: 2.1k2.1kDavid MudrakDavid Mudrak: 2k2ktjhunttjhunt: 1.8k1.8kPaul HoldenPaul Holden: 1.7k1.7kGeorg MaißerGeorg Maißer: 1.7k1.7kAdamChrimesAdamChrimes: 1.6k1.6kFrederic MassartFrederic Massart: 1.4k1.4kmitsmits: 1.4k1.4kAndrii SemenetsAndrii Semenets: 1.3k1.3k

Who they work for

Committers by email domain

A rough proxy for employment. GDS staff use gov.uk addresses; GitHub's privacy setting hides the rest, and a long tail commit from personal accounts.

Other organisationOther organisation: 759759Personal email (gmail etc)Personal email (gmail etc): 262262UnparseableUnparseable: 156156GitHub private emailGitHub private email: 8080gov.uk addressgov.uk address: 44Misconfigured (.local etc)Misconfigured (.local etc): 44

Churn and tenure

Distinct people committing each year

Counting anyone whose active span covers that year. The shape tracks GDS headcount and the delivery peaks of the mid-2010s.

269201.8134.567.2011: 1311112: 1781213: 1901314: 2191415: 2441516: 2241617: 2181718: 2451819: 2341920: 2372021: 2692122: 2562223: 2562324: 2142425: 1242526: 5326

How long people stay

Span from first to last commit anywhere in the org.

445333.8222.5111.20same day: 445same day< 1 mth: 81< 1 mth1-3 mth: 881-3 mth3-12 mth: 1663-12 mth1-2 yr: 1331-2 yr2-4 yr: 1432-4 yr4-7 yr: 1084-7 yr7 yr +: 1017 yr +

When the work happens

Commits by hour of day

Author local time as recorded in the commit. A clean single-peak working day.

24.2k18.1k12.1k6k000: 8.2k0001: 4.8k02: 5.3k0203: 5k04: 3.4k0405: 3.9k06: 5.1k0607: 7.5k08: 13.4k0809: 20k10: 22.6k1011: 24.2k12: 20.2k1213: 19.5k14: 22.9k1415: 22.8k16: 21.6k1617: 15.4k18: 9.3k1819: 6.8k20: 6.8k2021: 6.7k22: 6.9k2223: 6.1k

Commits by day of week

59.2k44.4k29.6k14.8k0Sun: 13.8kSunMon: 53.4kMonTue: 59.2kTueWed: 54.2kWedThu: 53.2kThuFri: 42kFriSat: 12.4kSat

Reading the pattern

Weekend commits account for 9.1% of all activity. The working day peaks between 10:00 and 16:00 with a visible lunch dip, and tails off sharply after 18:00 - the signature of an organisation that does not run on overtime.

Concentration of knowledge

For each live repository with more than fifty human commits, how many people it takes to account for over half of them. One is a genuine key-person risk; four or more is a healthily shared codebase. 34 repositories qualify for the measure.

Bus factor across live repositories

Fewest contributors accounting for more than half the commits.

16128401 person: 161 person2 people: 102 people3 people: 13 people4 people: 34 people5 people: 25 people6 or more: 26 or more

Where a single person wrote most of it

Share of commits by the largest single contributor, for the most concentrated repositories.

DLSBinonTestDLSBinonTest: 99%99%DLS-LEGACYDLS-LEGACY: 98%98%moodle-tool_mulibmoodle-tool_mulib: 96%96%UK.NHS.CookieBannerUK.NHS.CookieBanner: 94%94%TELBlazor-DevShowCaseTELBlazor-DevShowCase: 94%94%MVCBlazorMVCBlazor: 87%87%GitPageBlazorWASMGitPageBlazorWASM: 83%83%PrototypingPrototyping: 83%83%GitPageBlazorWASM-TestGHPageGitPageBlazorWASM-TestGHPage: 83%83%nhsuk-frontend-razornhsuk-frontend-razor: 82%82%TELBlazor-CodeReportTELBlazor-CodeReport: 80%80%LearningHub.Nhs.MessageQueueProcesLearningHub.Nhs.MessageQueueProces: 75%75%

The machines

Top automated committers

Dependabot dominates. GOV.UK runs an in-house govuk-dependabot-merger service that auto-merges qualifying upgrade PRs, which is why bot commit volume is so high.

dependabot[bot]dependabot[bot]: 3.5k3.5ksemantic-release-botsemantic-release-bot: 583583github-actions[bot]github-actions[bot]: 146146copilot-swe-agent[bot]copilot-swe-agent[bot]: 77Travis CITravis CI: 44dependabot[bot]dependabot[bot]: 33Jenkins AutomationJenkins Automation: 11Travis NollTravis Noll: 11

Top 60 committers

CommitterEmail typeCommits ReposFirstLast Years
moodlerunknown7,94812002-102009-107.0
Eloy Lafuente (stronk7)other-org6,81512007-022024-0617.4
Andrew Nicolsother-org5,80812013-042025-0311.9
Dan Poltawskipersonal5,32912008-032018-0810.4
Sam Hemelrykother-org3,86012009-102020-0810.8
skodakunknown3,83212004-092009-105.1
kevwhitt-heeother-org3,619172020-092026-085.9
stronk7unknown3,26912003-042009-106.5
Jun Pataletaother-org3,20112015-072025-039.6
David Monllaoother-org2,84412011-122020-018.0
Damyon Wieseother-org2,70912012-052019-067.1
Sara Arjonaother-org2,50812017-102025-037.4
Petr Skodaother-org2,41912006-032023-0917.5
Tim Huntother-org2,37612009-102024-1115.1
Bernhard Fischerother-org2,32812021-042026-075.3
Petr Skodaother-org2,18912009-102021-1212.1
Marina Glancyother-org2,12512011-062024-1213.5
David Mudrakother-org2,01812009-102025-0115.3
tjhuntunknown1,75812006-032009-103.6
Paul Holdenother-org1,71612012-012025-0313.2
Georg Maißerother-org1,70012021-052026-065.1
AdamChrimesother-org1,56822018-032021-103.6
Frederic Massartother-org1,36212012-052017-024.8
mitsunknown1,35512002-122009-076.6
Andrii Semenetspersonal1,33212022-122026-063.6
binonpersonal1,299162023-032026-073.4
Phil-NHSother-org1,28662024-062026-072.0
Jake Dallimoreother-org1,26812016-052024-108.4
nicolasconnaultunknown1,24712007-022009-102.7
martignoniunknown1,22112003-102006-022.3
toyomoyounknown1,20112005-112007-122.1
Alex Jacksonother-org1,18512021-042022-061.2
AMOS botother-org1,15712010-082025-0314.6
Magdalena Holczikother-org1,14612024-042026-072.2
Ilya Tregubovother-org1,14112016-072025-028.6
Huong Nguyenpersonal1,12012018-012025-037.1
Mark Nelsonpersonal1,09312011-092021-089.9
Adrian Greeveother-org1,05112011-112022-1111.0
koenrunknown1,04312003-052007-084.3
Juan Leyvapersonal1,02212012-042024-0712.3
rshrirohitgithub-private1,00212023-052026-083.2
Shamim Rezaieother-org97412013-012024-1211.9
Simey Lamezeother-org95512014-032025-0310.9
AnjuJose011github-private93572024-012026-082.6
dongshengunknown85812008-032010-072.4
Rajesh Tanejaother-org82612011-052017-035.8
martinunknown82512001-112002-090.8
gustav_deliusunknown80812004-012007-103.7
Andrew Davispersonal80112009-112021-0411.4
defacerunknown79212004-032007-032.9
davidhunter08personal78922018-032024-116.7
Aparup Banerjeeother-org76512010-072014-104.2
Colin Beebyother-org764182023-022026-083.5
moodlerobotunknown76012008-022009-101.7
Jonathan Bloxsomother-org75112021-042022-081.4
Moodle Robotother-org72012009-102012-113.0
martinlanghoffunknown69112004-112008-023.3
mjollnir_unknown67612004-082009-085.0
OliZorother-org66612021-072022-081.1
thepurpleblobunknown66212003-052009-035.8