UK public sector / I am not the first person to count this

There are at least six projects measuring UK public sector code on GitHub. One of them has already solved the problem I wrote off as unsolvable two days ago.

16 August 2026 · credit method open data

This site was built on the assumption that nobody had counted UK public sector code properly. That assumption survived exactly as long as it took to look, which is a lesson about research order rather than about anybody's work.

publicsectorcodebyorg.co.uk

Public Sector Code by Organisation is maintained by Chris Hyland, in a personal capacity, unaffiliated with any organisation. As observed on 16 August 2026 it tracked 126 organisations and 24,454 live repositories, of which 7,712 were active — its definition being unarchived and updated within 180 days.

Those numbers are close enough to this project's to be worth saying plainly: two people working separately, from the same public API, arrived at roughly the same estate. That is the most reassuring thing on this page. A wildly different total would have meant one of us was wrong, and there would have been no way to tell which.

The thing it does that this project does not

It knows how big the organisations are. Every row carries total full-time-equivalent staff and, separately, digital and data FTE — joined from the Local Government Association's Quarterly Workforce Survey and Civil Service Statistics.

Two days ago I wrote the organisation register for this site and left headcount out on purpose. The note in the code says the sources “are three publications on three schedules with three definitions of an employee, and a single size column stitched from them would look comparable without being so”.

That reasoning is not wrong. It is just the reasoning of somebody who decided the join was too hard before attempting it, and dressed the decision up as rigour. Somebody else did the join, published it, and named the sources. The correct response is to use it, credit it, and be slightly embarrassed.

It matters more than it sounds. Every comparison on this site is currently a raw count — repositories, committers, commits — which flatters large organisations and buries small ones. A department of 80,000 people with 1,100 repositories and a team of 30 with 40 look nothing alike on a bar chart and might be doing identically well. Repositories per digital FTE is the number that would actually mean something, and this project has been unable to compute it for six months because it did not have the denominator.

The second thing, which is a modelling error on my side

Its front page says: a mapping of UK public sector organisations to their GitHub accounts, because each organisation has up to 20 accounts.

This project's register is one GitHub handle to one organisation. The Ministry of Justice appears here as ministryofjustice, and also as hmcts, and also as moj-analytical-services, and every figure on this site treats them as three unrelated bodies.

The uncomfortable part is that the data to fix it was already there and unused. The organisation register built for this site two days ago records hmcts's parent as ministry-of-justice, straight from the GOV.UK register — 45 of the 210 organisations here carry a parent like that. Nothing reads the field. moj-analytical-services is worse: it does not appear on the GOV.UK register at all, so no amount of reading fields would connect it, and it needs the kind of hand-maintained mapping Chris Hyland has actually sat down and written.

So this is not one missing feature. It is a limitation in every organisation-level number this site publishes, it was never stated, and I had not noticed it was one.

And it tracks what has gone

“Unavailable” is a first-class column: repositories that were on GitHub and are not any more. This project has that data — from Jonty Wareing's deletion log — but keeps it in a writeup rather than in the comparison table, which means it informs an argument instead of informing every number.

Everyone else

Once you look, the field is crowded, and it has been for years:

Add the odileeds register work and x-govuk and the picture is a small ecosystem of people, mostly unpaid, mostly working alone, counting the same estate from different angles and largely unaware of each other. That is itself the finding, and it is not a happy one: the reason six people independently built an inventory of government code is that government has not published one.

What this project still does that the others do not

Not a defence, a division of labour. The peer projects above count repositories. This one is built on commit metadata — who committed, from which email domain, when, and what that says about whether an organisation's code is written by its own staff or its suppliers. That is where the identity work, the contractor analysis and the domain security measurements come from, and none of it falls out of a repository listing.

It also asks what is inside the repositories — see contents — maps who hosts the estate, went looking for the forges that are not GitHub, and is the only one of these that measures the estate against the published standards rather than just describing it.

What changes here as a result

Third-party figures observed 16 August 2026 and quoted with that date rather than re-fetched on every build; they belong to somebody else's site and keeping a comparison artificially fresh would be both rude and pointless. No data was taken from any of these projects to produce this page. Where their approach is adopted, it is named. See Method.

← All writeups