@mailwoman/corpus 10.2.2 → 10.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -17
- package/data/PROVENANCE.md +273 -273
- package/data/address-source-register.json +517 -23
- package/data/license-decisions.json +120 -0
- package/data/licenses/PROVENANCE.md +5 -5
- package/data/licenses/cdla-permissive-2.0.md +6 -6
- package/data/licenses/geonames-publication.md +5 -5
- package/data/licenses/licence-ouverte-2.0.md +3 -3
- package/data/licenses/national-address-database.md +12 -12
- package/data/licenses/nlod-2.0.md +3 -3
- package/data/licenses/sirene-publication.md +13 -6
- package/data/licenses/whosonfirst-licenses.md +4 -4
- package/data/source-resolutions.json +11 -0
- package/lib/adapters/cordis/adapter.ts +8 -8
- package/lib/adapters/gleif/adapter.ts +7 -8
- package/lib/adapters/po-box/adapter.ts +1 -1
- package/lib/adapters/source-id.ts +1 -1
- package/lib/adapters.ts +2 -2
- package/lib/au/adapters/gnaf/adapter.ts +1 -1
- package/lib/be/adapters/brussels/adapter.ts +2 -2
- package/lib/be/adapters/vlaanderen/adapter.ts +1 -1
- package/lib/build.ts +1 -1
- package/lib/cz/adapters/cuzk/adapter.ts +1 -1
- package/lib/cz/tools/fetch/cuzk.ts +4 -4
- package/lib/de/recipes/locale.ts +1 -1
- package/lib/dk/adapters/inspire/adapter.ts +1 -1
- package/lib/ee/tools/fetch/ads.ts +2 -2
- package/lib/es/adapters/bizkaia/adapter.ts +1 -1
- package/lib/es/adapters/navarra/adapter.ts +2 -2
- package/lib/es/cadastre.ts +2 -2
- package/lib/es/tools/fetch/bizkaia.ts +7 -7
- package/lib/es/tools/fetch/catastro.ts +6 -6
- package/lib/es/tools/fetch/navarra.ts +4 -4
- package/lib/fingerprints.ts +3 -3
- package/lib/fr/adapters/finess/adapter.ts +6 -5
- package/lib/fr/adapters/finess/voie-type.ts +1 -1
- package/lib/fr/tools/fetch/annuaire-education.ts +3 -3
- package/lib/gb/constituent-country.ts +52 -0
- package/lib/inspire/address.ts +3 -3
- package/lib/international/recipes/locale.ts +41 -7
- package/lib/it/adapters/anac/adapter.ts +4 -3
- package/lib/jp/adapters/wof-admin/adapter.ts +2 -2
- package/lib/kr/adapters/juso/label-rows.ts +1 -1
- package/lib/kr/adapters/localdata/key-index.ts +2 -1
- package/lib/lu/adapters/bd-adresses/adapter.ts +1 -1
- package/lib/nl/adapters/kadaster/adapter.ts +2 -2
- package/lib/nl/tools/fetch/kadaster.ts +1 -1
- package/lib/parquet/shuffle.ts +2 -2
- package/lib/parquet/span-sql.ts +8 -6
- package/lib/parquet/streams.ts +1 -1
- package/lib/parquet/writers.ts +2 -2
- package/lib/pl/tools/fetch/emuia.ts +2 -2
- package/lib/recipes/scaffold.ts +2 -2
- package/lib/recipes/sources.ts +3 -3
- package/lib/recipes/sub/venue/render.ts +1 -1
- package/lib/recipes/sub/venue/sources.ts +4 -3
- package/lib/recipes/sub/venue.ts +4 -3
- package/lib/recipes/venue.ts +11 -11
- package/lib/ro/adapters/retea-scolara/adapter.ts +2 -2
- package/lib/runner.ts +3 -3
- package/lib/sk/tools/fetch/inspire.ts +3 -3
- package/lib/source-register/effective-manifest.ts +2 -2
- package/lib/source-register/types.ts +2 -2
- package/lib/subvenue/harvest.ts +6 -5
- package/lib/subvenue/promotions.ts +3 -3
- package/lib/subvenue/table.ts +6 -6
- package/lib/surfaces/locale.ts +1 -1
- package/lib/synthesizers/anchor-absorption.ts +1 -1
- package/lib/synthesizers/boundary-stress.ts +3 -2
- package/lib/synthesizers/no-street.ts +1 -1
- package/lib/synthesizers/po-box.ts +1 -1
- package/lib/synthesizers/tail.ts +2 -2
- package/lib/test-kit/corpus-recipe.ts +1 -1
- package/lib/tools/align-canonical.ts +3 -2
- package/lib/tools/audit.ts +1 -1
- package/lib/tools/corpus-stats.ts +1 -1
- package/lib/tools/fetch/download/network.ts +1 -1
- package/lib/tools/fetch/geonames/dump.ts +1 -1
- package/lib/tools/fetch/gleif.ts +1 -1
- package/lib/tools/fetch/header.ts +1 -1
- package/lib/tools/fetch/inspire-addresses.ts +1 -1
- package/lib/tools/fetch/vlaanderen-ad.ts +1 -1
- package/lib/tools/fetch/wfs-harvest.ts +6 -6
- package/lib/tools/fetch/zip-archive.ts +2 -2
- package/lib/tools/golden/expand.ts +1 -1
- package/lib/tools/golden/promote.ts +3 -3
- package/lib/tools/golden/relabel-street/directory.ts +2 -1
- package/lib/tools/lint/recipe-output/vocab.ts +2 -2
- package/lib/tools/overlay/manifest.ts +62 -10
- package/lib/tools/overlay/split-slice.ts +2 -10
- package/lib/tools/postcode-triples.ts +2 -2
- package/lib/tools/sub/venue/head-nouns.ts +4 -3
- package/lib/types.ts +3 -3
- package/lib/us/adapters/state/tx-notaries/adapter.ts +1 -1
- package/lib/us/adapters/usgov/irs-bmf/adapter.ts +2 -2
- package/lib/us/adapters/usgov/nppes/adapter.ts +1 -1
- package/lib/us/synthesizers/intersection.ts +4 -4
- package/lib/us/synthesizers/street.ts +3 -3
- package/lib/us/tools/fetch/nad.ts +2 -2
- package/lib/utils/split.ts +59 -6
- package/lib/utils/wof-json.ts +1 -1
- package/out/adapters/cordis/adapter.d.ts +7 -7
- package/out/adapters/cordis/adapter.js +8 -8
- package/out/adapters/cordis/adapter.js.map +1 -1
- package/out/adapters/gleif/adapter.d.ts +7 -8
- package/out/adapters/gleif/adapter.d.ts.map +1 -1
- package/out/adapters/gleif/adapter.js +7 -8
- package/out/adapters/gleif/adapter.js.map +1 -1
- package/out/adapters/po-box/adapter.d.ts +1 -1
- package/out/adapters/source-id.d.ts +1 -1
- package/out/adapters/source-id.js +1 -1
- package/out/adapters.d.ts +2 -2
- package/out/adapters.js +2 -2
- package/out/au/adapters/gnaf/adapter.js +1 -1
- package/out/be/adapters/brussels/adapter.d.ts +1 -1
- package/out/be/adapters/brussels/adapter.js +2 -2
- package/out/be/adapters/vlaanderen/adapter.d.ts +1 -1
- package/out/build.js +1 -1
- package/out/build.js.map +1 -1
- package/out/cz/adapters/cuzk/adapter.d.ts +1 -1
- package/out/cz/adapters/cuzk/adapter.js +1 -1
- package/out/cz/tools/fetch/cuzk.d.ts +2 -2
- package/out/cz/tools/fetch/cuzk.js +2 -2
- package/out/de/recipes/locale.d.ts +1 -1
- package/out/de/recipes/locale.js +1 -1
- package/out/dk/adapters/inspire/adapter.js +1 -1
- package/out/ee/tools/fetch/ads.d.ts +2 -2
- package/out/ee/tools/fetch/ads.js +1 -1
- package/out/es/adapters/bizkaia/adapter.js +1 -1
- package/out/es/adapters/navarra/adapter.d.ts +2 -2
- package/out/es/adapters/navarra/adapter.js +2 -2
- package/out/es/cadastre.d.ts +2 -2
- package/out/es/cadastre.js +2 -2
- package/out/es/tools/fetch/bizkaia.d.ts +5 -5
- package/out/es/tools/fetch/bizkaia.js +5 -5
- package/out/es/tools/fetch/catastro.d.ts +4 -4
- package/out/es/tools/fetch/catastro.js +2 -2
- package/out/es/tools/fetch/navarra.d.ts +2 -2
- package/out/es/tools/fetch/navarra.js +2 -2
- package/out/fingerprints.d.ts +3 -3
- package/out/fingerprints.js +3 -3
- package/out/fr/adapters/finess/adapter.d.ts +6 -5
- package/out/fr/adapters/finess/adapter.d.ts.map +1 -1
- package/out/fr/adapters/finess/adapter.js +6 -5
- package/out/fr/adapters/finess/adapter.js.map +1 -1
- package/out/fr/adapters/finess/voie-type.d.ts +1 -1
- package/out/fr/adapters/finess/voie-type.js +1 -1
- package/out/fr/tools/fetch/annuaire-education.d.ts +3 -3
- package/out/fr/tools/fetch/annuaire-education.js +3 -3
- package/out/gb/constituent-country.d.ts +36 -0
- package/out/gb/constituent-country.d.ts.map +1 -0
- package/out/gb/constituent-country.js +30 -0
- package/out/gb/constituent-country.js.map +1 -0
- package/out/inspire/address.d.ts +3 -3
- package/out/inspire/address.js +3 -3
- package/out/international/recipes/locale.d.ts +6 -0
- package/out/international/recipes/locale.d.ts.map +1 -1
- package/out/international/recipes/locale.js +29 -7
- package/out/international/recipes/locale.js.map +1 -1
- package/out/it/adapters/anac/adapter.d.ts +1 -1
- package/out/it/adapters/anac/adapter.d.ts.map +1 -1
- package/out/it/adapters/anac/adapter.js +4 -3
- package/out/it/adapters/anac/adapter.js.map +1 -1
- package/out/jp/adapters/wof-admin/adapter.d.ts +2 -2
- package/out/jp/adapters/wof-admin/adapter.js +2 -2
- package/out/kr/adapters/juso/label-rows.d.ts +1 -1
- package/out/kr/adapters/localdata/key-index.d.ts +2 -1
- package/out/kr/adapters/localdata/key-index.d.ts.map +1 -1
- package/out/kr/adapters/localdata/key-index.js +2 -1
- package/out/kr/adapters/localdata/key-index.js.map +1 -1
- package/out/lu/adapters/bd-adresses/adapter.d.ts +1 -1
- package/out/lu/adapters/bd-adresses/adapter.js +1 -1
- package/out/nl/adapters/kadaster/adapter.js +2 -2
- package/out/nl/tools/fetch/kadaster.d.ts +1 -1
- package/out/nl/tools/fetch/kadaster.js +1 -1
- package/out/parquet/shuffle.d.ts +2 -2
- package/out/parquet/shuffle.js +2 -2
- package/out/parquet/span-sql.d.ts +8 -6
- package/out/parquet/span-sql.d.ts.map +1 -1
- package/out/parquet/span-sql.js +8 -6
- package/out/parquet/span-sql.js.map +1 -1
- package/out/parquet/streams.d.ts +1 -1
- package/out/parquet/writers.d.ts +2 -2
- package/out/parquet/writers.js +1 -1
- package/out/pl/tools/fetch/emuia.d.ts +2 -2
- package/out/recipes/scaffold.d.ts +2 -2
- package/out/recipes/sources.d.ts +2 -2
- package/out/recipes/sources.js +3 -3
- package/out/recipes/sources.js.map +1 -1
- package/out/recipes/sub/venue/render.d.ts +1 -1
- package/out/recipes/sub/venue/render.js +1 -1
- package/out/recipes/sub/venue/sources.d.ts +4 -3
- package/out/recipes/sub/venue/sources.d.ts.map +1 -1
- package/out/recipes/sub/venue/sources.js +4 -3
- package/out/recipes/sub/venue/sources.js.map +1 -1
- package/out/recipes/sub/venue.d.ts +3 -2
- package/out/recipes/sub/venue.d.ts.map +1 -1
- package/out/recipes/sub/venue.js +2 -2
- package/out/recipes/sub/venue.js.map +1 -1
- package/out/recipes/venue.d.ts +7 -6
- package/out/recipes/venue.d.ts.map +1 -1
- package/out/recipes/venue.js +11 -10
- package/out/recipes/venue.js.map +1 -1
- package/out/ro/adapters/retea-scolara/adapter.d.ts +2 -2
- package/out/ro/adapters/retea-scolara/adapter.js +2 -2
- package/out/runner.d.ts +3 -3
- package/out/runner.js +2 -2
- package/out/sk/tools/fetch/inspire.d.ts +3 -3
- package/out/sk/tools/fetch/inspire.js +1 -1
- package/out/source-register/effective-manifest.d.ts +2 -2
- package/out/source-register/types.d.ts +2 -2
- package/out/subvenue/harvest.d.ts +4 -3
- package/out/subvenue/harvest.d.ts.map +1 -1
- package/out/subvenue/harvest.js +6 -5
- package/out/subvenue/harvest.js.map +1 -1
- package/out/subvenue/promotions.d.ts +2 -2
- package/out/subvenue/promotions.js +3 -3
- package/out/subvenue/promotions.js.map +1 -1
- package/out/subvenue/table.d.ts +6 -6
- package/out/subvenue/table.js +1 -1
- package/out/surfaces/locale.d.ts +1 -1
- package/out/surfaces/locale.js +1 -1
- package/out/synthesizers/boundary-stress.d.ts.map +1 -1
- package/out/synthesizers/boundary-stress.js +2 -1
- package/out/synthesizers/boundary-stress.js.map +1 -1
- package/out/synthesizers/tail.d.ts +2 -2
- package/out/synthesizers/tail.js +2 -2
- package/out/test-kit/corpus-recipe.d.ts +1 -1
- package/out/test-kit/corpus-recipe.js +1 -1
- package/out/tools/align-canonical.d.ts.map +1 -1
- package/out/tools/align-canonical.js +3 -2
- package/out/tools/align-canonical.js.map +1 -1
- package/out/tools/audit.js +1 -1
- package/out/tools/corpus-stats.d.ts +1 -1
- package/out/tools/fetch/download/network.d.ts +1 -1
- package/out/tools/fetch/download/network.js +1 -1
- package/out/tools/fetch/geonames/dump.d.ts +1 -1
- package/out/tools/fetch/geonames/dump.js +1 -1
- package/out/tools/fetch/gleif.d.ts +1 -1
- package/out/tools/fetch/gleif.js +1 -1
- package/out/tools/fetch/header.d.ts +1 -1
- package/out/tools/fetch/header.js +1 -1
- package/out/tools/fetch/inspire-addresses.d.ts +1 -1
- package/out/tools/fetch/vlaanderen-ad.d.ts +1 -1
- package/out/tools/fetch/wfs-harvest.d.ts +3 -3
- package/out/tools/fetch/wfs-harvest.js +4 -4
- package/out/tools/fetch/wfs-harvest.js.map +1 -1
- package/out/tools/fetch/zip-archive.d.ts +2 -2
- package/out/tools/fetch/zip-archive.js +2 -2
- package/out/tools/golden/expand.js +1 -1
- package/out/tools/golden/expand.js.map +1 -1
- package/out/tools/golden/promote.d.ts +1 -1
- package/out/tools/golden/promote.js +3 -3
- package/out/tools/golden/promote.js.map +1 -1
- package/out/tools/golden/relabel-street/directory.d.ts +2 -1
- package/out/tools/golden/relabel-street/directory.d.ts.map +1 -1
- package/out/tools/golden/relabel-street/directory.js.map +1 -1
- package/out/tools/lint/recipe-output/vocab.js +2 -2
- package/out/tools/overlay/manifest.d.ts +15 -2
- package/out/tools/overlay/manifest.d.ts.map +1 -1
- package/out/tools/overlay/manifest.js +41 -10
- package/out/tools/overlay/manifest.js.map +1 -1
- package/out/tools/overlay/split-slice.d.ts.map +1 -1
- package/out/tools/overlay/split-slice.js +2 -9
- package/out/tools/overlay/split-slice.js.map +1 -1
- package/out/tools/postcode-triples.d.ts +1 -1
- package/out/tools/postcode-triples.js +2 -2
- package/out/tools/postcode-triples.js.map +1 -1
- package/out/tools/sub/venue/head-nouns.d.ts +1 -1
- package/out/tools/sub/venue/head-nouns.d.ts.map +1 -1
- package/out/tools/sub/venue/head-nouns.js +4 -3
- package/out/tools/sub/venue/head-nouns.js.map +1 -1
- package/out/types.d.ts +3 -3
- package/out/types.js +1 -1
- package/out/us/adapters/state/tx-notaries/adapter.d.ts +1 -1
- package/out/us/adapters/state/tx-notaries/adapter.js +1 -1
- package/out/us/adapters/usgov/irs-bmf/adapter.d.ts +1 -1
- package/out/us/adapters/usgov/irs-bmf/adapter.js +2 -2
- package/out/us/synthesizers/intersection.js +4 -4
- package/out/us/synthesizers/intersection.js.map +1 -1
- package/out/us/synthesizers/street.js +3 -3
- package/out/us/synthesizers/street.js.map +1 -1
- package/out/us/tools/fetch/nad.d.ts +2 -2
- package/out/us/tools/fetch/nad.js +2 -2
- package/out/utils/split.d.ts +21 -0
- package/out/utils/split.d.ts.map +1 -1
- package/out/utils/split.js +49 -5
- package/out/utils/split.js.map +1 -1
- package/out/utils/wof-json.d.ts +1 -1
- package/out/utils/wof-json.js +1 -1
- package/package.json +14 -14
|
@@ -9,6 +9,94 @@
|
|
|
9
9
|
"$sharedReadings": "One publisher can hold a licence over several jurisdictions, and the register scopes a decision to one publisher in one jurisdiction, so reading that publisher's terms once produces several decisions with the same body. A decision reads `sameAs` to name a body declared here, which keeps each licence id's own decision while the prose behind it has one home. The build refuses a `sameAs` naming a reading this file does not declare.",
|
|
10
10
|
"$ocpRegistryStatements": "Five of the decisions below rest on the OCP Data Registry's own licence statement rather than on the publisher's page. Each of those register rows records its access as OCDS bulk through that registry and its `sourceURL` as the registry, so the copy this repository would fetch is the registry's and the licence it publishes is the one governing that copy. AusTender is the exception: its publisher's own terms were retrieved, which is the stronger record. Retrieving each of the five publishers' own pages would raise them to the same standard and is not done.",
|
|
11
11
|
"sharedReadings": {
|
|
12
|
+
"ogl-uk-3.0-gb-ordnance-survey-opendata": {
|
|
13
|
+
"state": "elected",
|
|
14
|
+
"electedTerms": "Open Government Licence v3.0",
|
|
15
|
+
"spdx": "OGL-UK-3.0",
|
|
16
|
+
"termsVersion": "3.0",
|
|
17
|
+
"retrievedCopy": "internal/strategy/rights-receipts/gb-os-opendata-2026-10-14/",
|
|
18
|
+
"retrievedAt": "2026-10-14",
|
|
19
|
+
"electedBecause": "Ordnance Survey licenses four OS OpenData products, Code-Point Open, OS Open Names, OS Open Roads and OS Open USRN, under the Open Government Licence v3.0. Each download ships a `licence.txt`, and each one states `Your use of OS OpenData is subject to the terms at http://os.uk/opendata/licence` (Code-Point Open words it `Your use of data is subject to terms at www.ordnancesurvey.co.uk/opendata/licence`). Both addresses redirected on 2026-10-14 to `https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/`, 10,450 bytes, sha256 `f5b2b9f2af63647cde889fa6c3508f5705925295b74912c68caa28dd37e64aa5`. OS's own `docs.os.uk` terms page, 2,936 bytes, sha256 `83e7e1047ff833d4144e451f596290543b5673915733d3a26b8d48cac5253d7e`, states that the OS OpenData terms `are contained within the Open Government Licence` and that the attribution statement `can be found in the licence file downloaded with the data`. The licence files read are Code-Point Open 2026-08, 346 bytes, sha256 `2273fa3818d2b009ab38c11f3cfc9563e48c0e9e940bf73c1a3685b3188255ad`; OS Open Names 2026-07, 438 bytes, sha256 `1be838dcdba14daa10f6a5015833100858711fcda9e495a9442c9295d357f99f`; OS Open Roads 2026-04, 190 bytes, sha256 `65f3f555aa3e42e93b4db24a29ad277beefd12bc4871076d558c1cc41a6b216d`; and OS Open USRN 2026-10, 442 bytes, sha256 `41e89b74974c31cbb39efec9d78db825107e8fca565611e7098f92c94c6be62e`. The attribution differs by product. Open Roads requires `Contains Ordnance Survey data © Crown copyright and database right 2026`. Code-Point Open and Open Names add `Contains Royal Mail data © Royal Mail copyright and database right 2026` and `Contains National Statistics data © Crown copyright and database right 2026`. Open USRN requires `Contains OS data © Crown Copyright and database rights 2026` and, `Where you use data relating to Scotland`, `This product contains data created and maintained by Scottish Local Government.` No licence file or page read restricts the Royal Mail-derived postcode data beyond that acknowledgement, which is a statement about the text read; the OGL's own exemption for `third party rights the Information Provider is not authorised to license` stays in force. Code-Point Open's `product-supply` page, 4,936 bytes, sha256 `3f71e7910ce3a0107af8217563eb8e193a715c37e91bb5166078fae8ebeb942a`, states `Code-Point Open covers postcodes for Great Britain`, and the 2026-08 release has no BT area, so no Northern Ireland postcode and no Land & Property Services term reaches these sources. This reading covers the licence only. A row that joins a real street to a real postcode and synthesizes a house number can reproduce a residential address, which is a question for the personal-data review in `source-resolutions.json`, not for this reading.",
|
|
20
|
+
"operations": {
|
|
21
|
+
"fetch": {
|
|
22
|
+
"permission": "permitted",
|
|
23
|
+
"basis": "publisher-grant",
|
|
24
|
+
"because": "OGL v3.0 grants the right to copy, publish, distribute and transmit the Information."
|
|
25
|
+
},
|
|
26
|
+
"extract": {
|
|
27
|
+
"permission": "permitted",
|
|
28
|
+
"basis": "publisher-grant",
|
|
29
|
+
"because": "OGL v3.0 grants the right to adapt the Information, which covers reading street names, postcodes and coordinates out of the published files."
|
|
30
|
+
},
|
|
31
|
+
"transform": {
|
|
32
|
+
"permission": "permitted",
|
|
33
|
+
"basis": "publisher-grant",
|
|
34
|
+
"because": "OGL v3.0 grants the right to adapt the Information, which covers joining postcodes to street centrelines and synthesizing a house number."
|
|
35
|
+
},
|
|
36
|
+
"train": {
|
|
37
|
+
"permission": "permitted",
|
|
38
|
+
"basis": "publisher-grant",
|
|
39
|
+
"because": "OGL v3.0 grants adaptation and commercial and non-commercial exploitation, and fitting a model adapts and exploits the Information."
|
|
40
|
+
},
|
|
41
|
+
"redistribute-data": {
|
|
42
|
+
"permission": "permitted",
|
|
43
|
+
"basis": "publisher-grant",
|
|
44
|
+
"because": "OGL v3.0 grants publication and distribution, conditioned on the per-product attribution statements in each download's `licence.txt`, including the Scottish Local Government acknowledgement for Open USRN data relating to Scotland."
|
|
45
|
+
},
|
|
46
|
+
"redistribute-model": {
|
|
47
|
+
"permission": "unreviewed",
|
|
48
|
+
"because": "Whether trained weights carry the attribution condition is the question `internal/strategy/counsel-briefing-2026-09-27-part-2.md` records for attribution licenses, and the OGL text does not answer it."
|
|
49
|
+
},
|
|
50
|
+
"commercial-sublicense": {
|
|
51
|
+
"permission": "unreviewed",
|
|
52
|
+
"because": "OGL v3.0 grants a worldwide, royalty-free, perpetual, non-exclusive license and states no sublicensing right. Whether that satisfies a commercial agreement is a drafting question."
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"ogl-uk-3.0-gb-organization-registers": {
|
|
57
|
+
"state": "elected",
|
|
58
|
+
"electedTerms": "Open Government Licence v3.0",
|
|
59
|
+
"spdx": "OGL-UK-3.0",
|
|
60
|
+
"termsVersion": "3.0",
|
|
61
|
+
"retrievedCopy": "internal/strategy/rights-receipts/gb-org-registers-2026-10-12/",
|
|
62
|
+
"retrievedAt": "2026-10-12",
|
|
63
|
+
"electedBecause": "Five Great Britain publishers of organization registers license the register under the Open Government Licence v3.0, and the pages read for each are retained in the receipt directory. Three state the license for the data itself. CQC's `using-cqc-data` page, 76,786 bytes, sha256 `2db3eec0967e349830b9e5622e7887e6e5284760d4212f3f66801415147f7ba2`, states `Our data is made available under the Open Government Licence. By using it you are accepting the conditions of this licence.` The Food Standards Agency's terms page, 99,851 bytes, sha256 `b301243640a0230e84a75316267df54d1621fc8cdbd75ff8b835872f42360dbf`, states `Use of proprietary food hygiene ratings information and services is subject to the terms of the Open Government Licence (OGL).` NHS England's TRUD terms, 20,140 bytes, sha256 `b2c90ebee42abff95b1ad5c963eae1ace22e4449e326b4b9a3aa781d95e97e7f`, state `you can use NHS England Content, including copying it, adapting it, and using it for any purpose, including commercially, provided you follow these terms and conditions and the terms of the OGL`, and the Organisation Data Service item page, 16,610 bytes, sha256 `d8d9e77435333049425de7289e89915e4f9a8871a16797fedd1f6c26c63d35d7`, applies `Open Government Licence for SDS`. TRUD excludes `Information owned by third parties which we are not authorised to licence on to you`, which `will be clearly marked`. Two rest on the GOV.UK footer alone, `All content is available under the Open Government Licence v3.0, except where otherwise stated`: DVSA's active MOT test stations publication, 76,532 bytes, sha256 `58184d539a607e2046a1d47f0860c98b2185488bd0c0fadac4c5e59273788a15`, and the Get Information about Schools downloads page, 47,303 bytes, sha256 `270a0e64ae36c363de65c25a2363bcfe255f5ccdcb115da340d44b14a78352be`. Neither page states anything otherwise. **None of the pages read restricts the address fields the way MHCLG's energy performance notice restricts its AddressBase- and PAF-derived fields**, and that is a statement about the text read rather than about where each publisher's address columns came from. GIAS and CQC are the two most likely to have matched addresses against AddressBase, so their field documentation is the read that would settle it. The Food Standards Agency withholds address and geocoding data where an establishment operates from a private address, per `ratings.food.gov.uk/open-data`, 397,874 bytes, sha256 `364a2f3293febbe54f52ff09bf5ac0b71fafce052ff6463566493d9d0069fb4e`.",
|
|
64
|
+
"operations": {
|
|
65
|
+
"fetch": {
|
|
66
|
+
"permission": "permitted",
|
|
67
|
+
"basis": "publisher-grant",
|
|
68
|
+
"because": "OGL v3.0 grants the right to copy, publish, distribute and transmit the Information."
|
|
69
|
+
},
|
|
70
|
+
"extract": {
|
|
71
|
+
"permission": "permitted",
|
|
72
|
+
"basis": "publisher-grant",
|
|
73
|
+
"because": "OGL v3.0 grants the right to adapt the Information, which covers reading the address columns out of the published file."
|
|
74
|
+
},
|
|
75
|
+
"transform": {
|
|
76
|
+
"permission": "permitted",
|
|
77
|
+
"basis": "publisher-grant",
|
|
78
|
+
"because": "OGL v3.0 grants the right to adapt the Information."
|
|
79
|
+
},
|
|
80
|
+
"train": {
|
|
81
|
+
"permission": "permitted",
|
|
82
|
+
"basis": "publisher-grant",
|
|
83
|
+
"because": "OGL v3.0 grants adaptation and commercial and non-commercial exploitation, and fitting a model adapts and exploits the Information."
|
|
84
|
+
},
|
|
85
|
+
"redistribute-data": {
|
|
86
|
+
"permission": "permitted",
|
|
87
|
+
"basis": "publisher-grant",
|
|
88
|
+
"because": "OGL v3.0 grants publication and distribution, conditioned on the attribution statement the publisher specifies."
|
|
89
|
+
},
|
|
90
|
+
"redistribute-model": {
|
|
91
|
+
"permission": "unreviewed",
|
|
92
|
+
"because": "Whether trained weights carry the attribution condition is the question `internal/strategy/counsel-briefing-2026-09-27-part-2.md` records for attribution licenses, and the OGL text does not answer it."
|
|
93
|
+
},
|
|
94
|
+
"commercial-sublicense": {
|
|
95
|
+
"permission": "unreviewed",
|
|
96
|
+
"because": "OGL v3.0 grants a worldwide, royalty-free, perpetual, non-exclusive license and states no sublicensing right. Whether that satisfies a commercial agreement is a drafting question."
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
12
100
|
"ocp-registry-cc0-1.0": {
|
|
13
101
|
"state": "elected",
|
|
14
102
|
"electedTerms": "Creative Commons CC0 1.0 Universal Public Domain Dedication",
|
|
@@ -544,6 +632,38 @@
|
|
|
544
632
|
"publisherStatement": "CHECK NATIONAL / DATASET TERMS",
|
|
545
633
|
"refusedBecause": "The Central Bank of Libya reserves all rights in its own footer, `© All rights reserved 2026، The Central Bank of Libya.`, and its site carries no data license and no reuse permission. Its English home page holds no licensing term in 222,200 bytes and it publishes no terms-of-use page; `/en/terms-of-use/` answers HTTP 404 and the contact page, 147,508 bytes, sha256 `765d8a3adabde677eee5c8afcc2d4be1cf36d26b2e6d8d2498586cc2974750a4`, carries the footer and nothing further. The only address the site publishes is `webdesign@email.ly`, which belongs to whoever built the site rather than to the bank, so a request goes through the contact form at `https://cbl.gov.ly/en/contact/`. Do not substitute a third party's dataset: a humdata query for Libya returns five `cc-by` datasets, every one published by the World Bank Group or the AfDB rather than by the central bank."
|
|
546
634
|
},
|
|
635
|
+
"unchecked-access-free-registration-gb-gb-property-building-2": {
|
|
636
|
+
"state": "refused",
|
|
637
|
+
"publisherStatement": "Free-reg",
|
|
638
|
+
"retrievedCopy": "internal/strategy/rights-receipts/gb-epc-2026-10-12/",
|
|
639
|
+
"retrievedAt": "2026-10-12",
|
|
640
|
+
"refusedBecause": "MHCLG licenses the energy performance of buildings data in two parts, and the part this register needs is the restricted one. `https://get-energy-performance-data.communities.gov.uk/guidance/licensing-restrictions`, 19,402 bytes, sha256 `e2164d92b85e88b35db873985b278d02e0cc94576b70b9dca4ddb8ccf5682226`, states that `All data fields other than the address and postcode data` are under the Open Government Licence v3.0, UPRNs included. The address fields, address 1 to 3 and the postcode, were `processed against Ordnance Survey's Address Base Premium product, which incorporates Royal Mail's PAF® database`, and Ordnance Survey and Royal Mail `reserve all their respective copyright, database rights`. The notice permits the address data `solely for specific purposes related to the energy performance of buildings`, plus non-commercial research and private study, and states that `Any use of address data which is not specified in this notice … requires an appropriate licence from Ordnance Survey.` Training a general-purpose address parser and redistributing weights fitted on these strings fall outside the permitted purposes, so the route to permission is an Ordnance Survey license. The OGL fields alone carry a UPRN without an address string, which gives the corpus no labeled address text. The same service's `/guidance/data-protection-requirements`, 19,054 bytes, sha256 `599a56a0722221c25bdac7057bf9b6152b46c8971b0ee118c79782b0e41a6668`, states `Address level data concerning the energy performance of buildings constitute personal data`, which is a second, independent refusal under the 2026-09-30 decision that the corpus carries organization addresses only."
|
|
641
|
+
},
|
|
642
|
+
"unchecked-access-free-gb-gb-health-1": { "sameAs": "ogl-uk-3.0-gb-organization-registers" },
|
|
643
|
+
"unchecked-access-free-gb-gb-health-2": { "sameAs": "ogl-uk-3.0-gb-organization-registers" },
|
|
644
|
+
"unchecked-access-free-gb-gb-food-pharma-1": { "sameAs": "ogl-uk-3.0-gb-organization-registers" },
|
|
645
|
+
"unchecked-access-free-gb-gb-education-1": { "sameAs": "ogl-uk-3.0-gb-organization-registers" },
|
|
646
|
+
"unchecked-access-free-gb-driver-and-vehicle-standards-agency": {
|
|
647
|
+
"sameAs": "ogl-uk-3.0-gb-organization-registers"
|
|
648
|
+
},
|
|
649
|
+
"unchecked-access-free-gb-gb-public-administration-1": { "sameAs": "ogl-uk-3.0-gb-ordnance-survey-opendata" },
|
|
650
|
+
"unchecked-access-free-gb-gb-public-administration-2": { "sameAs": "ogl-uk-3.0-gb-ordnance-survey-opendata" },
|
|
651
|
+
"unchecked-access-free-gb-gb-transport-1": { "sameAs": "ogl-uk-3.0-gb-ordnance-survey-opendata" },
|
|
652
|
+
"unchecked-access-free-gb-gb-transport-2": { "sameAs": "ogl-uk-3.0-gb-ordnance-survey-opendata" },
|
|
653
|
+
"unchecked-access-free-gb-gb-property-building-3": {
|
|
654
|
+
"state": "refused",
|
|
655
|
+
"publisherStatement": "Free",
|
|
656
|
+
"retrievedCopy": "internal/strategy/rights-receipts/gb-org-registers-2026-10-12/",
|
|
657
|
+
"retrievedAt": "2026-10-12",
|
|
658
|
+
"refusedBecause": "The Valuation Office Agency publishes the non-domestic rating lists under its own restricted terms and states that the Open Government Licence does not apply. Its download page, `https://voaratinglists.blob.core.windows.net/html/rlidata.htm`, 33,414 bytes, sha256 `dafa09c510cf68e3575adbdd256a7b95ff86f1193ecaeda5dce6bd355df49be0`, reads `VO Rating List Downloads are only available under our restricted` license terms and `open government licence does not apply`, and `The information must be used in line with the restricted license terms and conditions`. The row's note describes the lists as the commercial complement to Price Paid Data, which makes this the largest Great Britain business-premises register refused so far. The route to permission is the VOA's restricted license, whose clauses this reading did not open."
|
|
659
|
+
},
|
|
660
|
+
"unchecked-access-free-gb-general-pharmaceutical-council": {
|
|
661
|
+
"state": "refused",
|
|
662
|
+
"publisherStatement": "Free",
|
|
663
|
+
"retrievedCopy": "internal/strategy/rights-receipts/gb-org-registers-2026-10-12/",
|
|
664
|
+
"retrievedAt": "2026-10-12",
|
|
665
|
+
"refusedBecause": "The General Pharmaceutical Council reserves commercial use in its web terms. `https://www.pharmacyregulation.org/web-terms-use`, 88,394 bytes, sha256 `c33632ff36e296d16919b1111b121206e59f261c0b6bad7a546f64e42b88983b`, states `You cannot use any of the content or material from or any part of our websites for commercial purposes without obtaining a licence to do so from either us or our licensors.` The registered premises list is published on that website, and this reading found no separate data license for it. A request to the council could produce one."
|
|
666
|
+
},
|
|
547
667
|
"unchecked-national-terms-km-banque-centrale-des-comores": {
|
|
548
668
|
"state": "refused",
|
|
549
669
|
"publisherStatement": "CHECK NATIONAL / DATASET TERMS",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
This directory holds the copies that license decisions are read from. `ElectedLicense.retrievedCopy` in the source
|
|
4
4
|
register points to a file here, so a later reviewer checks the same text instead of the page as it reads that day.
|
|
5
5
|
|
|
6
|
-
A publisher's page changes over time. A license is versioned but the page that
|
|
6
|
+
A publisher's page changes over time. A license is versioned but the page that publishes it is not, so a decision
|
|
7
7
|
recorded against the page cannot be rechecked once the page changes. Each file here holds the text as retrieved, with
|
|
8
8
|
the URL and the retrieval date at its head, and is never edited after that. A correction requires a new retrieval.
|
|
9
9
|
|
|
@@ -26,19 +26,19 @@ The first filename keeps the publisher's own spelling, because it is the name of
|
|
|
26
26
|
|
|
27
27
|
Five of the seven files are here although no register source points to them. The four runtime bundles' rights records
|
|
28
28
|
cite those terms, and an operator acts on them today. A file that covers a bundle instead of a register source is the
|
|
29
|
-
ordinary case. The terms for a source that
|
|
29
|
+
ordinary case. The terms for a source that no operator can ingest can wait, but the terms for a database that somebody
|
|
30
30
|
downloads this week cannot.
|
|
31
31
|
|
|
32
32
|
The National Address Database is the strongest reason for putting bundles first. Its rows are 85,482,142 of the `us` bundle's
|
|
33
|
-
125,276,536,
|
|
33
|
+
125,276,536, or 68.2%. The bundle's record mentioned neither the database nor the Department of Transportation
|
|
34
34
|
until a census of the shipped databases' own `source` column found them.
|
|
35
35
|
|
|
36
36
|
Three of the five retrievals changed a record instead of only supporting one. The Who's On First page lists Ordnance
|
|
37
37
|
Survey of Northern Ireland and Ordnance Survey Ireland and never mentions Royal Mail, so half of the `candidate`
|
|
38
38
|
bundle's open question concerned a body absent from the text. CDLA-Permissive-2.0 §3.1 states that the agreement
|
|
39
39
|
imposes no restriction or obligation on Results, and §5.4 defines Results to include machine learning models. The
|
|
40
|
-
`poi` bundle's conditions therefore separate what redistributing the database requires from what the model
|
|
41
|
-
The National Address Database's page states both that the data
|
|
40
|
+
`poi` bundle's conditions therefore separate what redistributing the database requires from what the model must include.
|
|
41
|
+
The National Address Database's page states both that the data has no copyright under 17 U.S.C. § 105 and that it
|
|
42
42
|
is not intended for use as a mailing list under state statutes. A record that kept only the first statement would lose
|
|
43
43
|
the second.
|
|
44
44
|
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
- Publisher: The Linux Foundation, as the steward of the agreement
|
|
6
6
|
- Version stated in the text: 2.0
|
|
7
7
|
|
|
8
|
-
This is the grant the Overture Maps Foundation places its Places theme under
|
|
8
|
+
This is the grant the Overture Maps Foundation places its Places theme under. That theme is the `poi`
|
|
9
9
|
runtime bundle. The text was taken from the SPDX license list rather than from `cdla.dev`, because
|
|
10
|
-
SPDX publishes it as plain text and the two
|
|
10
|
+
SPDX publishes it as plain text and the two contain the same words.
|
|
11
11
|
|
|
12
12
|
## Data-sharing terms (quoted)
|
|
13
13
|
|
|
@@ -16,7 +16,7 @@ SPDX publishes it as plain text and the two carry the same words.
|
|
|
16
16
|
|
|
17
17
|
That is the one condition the agreement places on redistributing the database, and it is a condition
|
|
18
18
|
to supply this text rather than to name a contributor. This repository hosts `poi.db` for download,
|
|
19
|
-
so the condition attaches to that hosting
|
|
19
|
+
so the condition attaches to that hosting. This file is committed to meet it.
|
|
20
20
|
|
|
21
21
|
## A model trained on the data, quoted
|
|
22
22
|
|
|
@@ -28,14 +28,14 @@ so the condition attaches to that hosting, which is why this file is committed.
|
|
|
28
28
|
> 5.4. "Results" means any result obtained by computational analysis of Data, including for example
|
|
29
29
|
> machine learning models and models' insights.
|
|
30
30
|
|
|
31
|
-
Read together, the agreement states that a machine-learning model is a Result and that it
|
|
31
|
+
Read together, the agreement states that a machine-learning model is a Result and that it is subject to no
|
|
32
32
|
restriction or obligation under the agreement. Among the grants this repository reads, this is the
|
|
33
33
|
one that addresses a trained model in its own text rather than leaving it to be argued from the
|
|
34
34
|
definition of a derived work.
|
|
35
35
|
|
|
36
36
|
Two things that does not establish. It makes no statement about the terms of whatever sources Overture
|
|
37
|
-
itself drew each row from
|
|
38
|
-
is a statement about this agreement
|
|
37
|
+
itself drew each row from. The `poi` bundle's record still lists those terms as an open question. And
|
|
38
|
+
it is a statement about this agreement only, so it does not decide the question for any other source.
|
|
39
39
|
|
|
40
40
|
## What this text does not settle
|
|
41
41
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
- Publisher: GeoNames
|
|
7
7
|
- Version stated in the text: Creative Commons Attribution 4.0, in the export readme
|
|
8
8
|
|
|
9
|
-
GeoNames folds into the `candidate` runtime bundle
|
|
9
|
+
GeoNames folds into the `candidate` runtime bundle. That bundle's record identifies its terms. Two of the
|
|
10
10
|
publisher's own pages state them and only one gives a version.
|
|
11
11
|
|
|
12
12
|
## What the export readme states, quoted in full
|
|
@@ -24,11 +24,11 @@ publisher's own pages state them and only one gives a version.
|
|
|
24
24
|
The about page names no version. The readme beside the files themselves names 4.0. That readme travels
|
|
25
25
|
with the data, so the bundle's record states 4.0 and names this file.
|
|
26
26
|
|
|
27
|
-
Both sources matter because the two pages give different information.
|
|
28
|
-
version unknown. Creative Commons Attribution's conditions differ across versions.
|
|
27
|
+
Both sources matter because the two pages give different information. Read without the readme, the about
|
|
28
|
+
page leaves the version unknown. Creative Commons Attribution's conditions differ across versions.
|
|
29
29
|
|
|
30
30
|
## What this text does not settle
|
|
31
31
|
|
|
32
32
|
Which GeoNames records reached the `candidate` bundle, and therefore what has to be attributed for
|
|
33
|
-
which rows. GeoNames itself integrates data from other sources
|
|
34
|
-
words
|
|
33
|
+
which rows. GeoNames itself integrates data from other sources. Its about page states that in those
|
|
34
|
+
words. This text makes no statement about the terms of those. No election is made here.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
- Version stated in the text: 2.0
|
|
7
7
|
|
|
8
8
|
The canonical page `https://www.etalab.gouv.fr/licence-ouverte-open-licence/` now redirects to
|
|
9
|
-
`https://www.data.gouv.fr/`, so the text was taken from Etalab's own repository
|
|
9
|
+
`https://www.data.gouv.fr/`, so the text was taken from Etalab's own repository. The page sourced its text from that repository.
|
|
10
10
|
|
|
11
11
|
## Rights granted, quoted
|
|
12
12
|
|
|
@@ -27,10 +27,10 @@ adapting, modifying, distributing, and exploiting the information commercially.
|
|
|
27
27
|
- The reuser must not mislead a third party about the content, source or update date of the information.
|
|
28
28
|
- The information is provided `telle que produite ou reçue, sans autre garantie expresse ou tacite`, with no warranty
|
|
29
29
|
against defects, errors, or continued availability.
|
|
30
|
-
- The reuser
|
|
30
|
+
- The reuser bears sole responsibility for the reuse.
|
|
31
31
|
|
|
32
32
|
## What this text does not settle
|
|
33
33
|
|
|
34
34
|
It grants reuse of the information. Whether model weights trained on that information are themselves a reuse under this
|
|
35
35
|
grant, and what attribution discharges the condition for a trained model where no individual record is recoverable, are
|
|
36
|
-
readings the text does not make. The grant
|
|
36
|
+
readings the text does not make. The grant imposes no share-alike condition.
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
- Version stated in the text: none. The page states it was last updated 2026-01-09.
|
|
7
7
|
|
|
8
8
|
The National Address Database supplies 85,482,142 of the 125,276,536 address points in the `us`
|
|
9
|
-
runtime bundle
|
|
9
|
+
runtime bundle. That count is 68.2% of the bundle. The bundle's record mentioned neither the database nor its
|
|
10
10
|
publisher until this text was read. The rows reach the bundle through the Overture Maps Foundation.
|
|
11
|
-
Overture stamps each row `NAD`, so the bundle
|
|
11
|
+
Overture stamps each row `NAD`, so every row in the bundle identifies the publisher.
|
|
12
12
|
|
|
13
13
|
## What the disclaimer states about reuse, quoted
|
|
14
14
|
|
|
@@ -20,22 +20,22 @@ Overture stamps each row `NAD`, so the bundle carries the publisher on every row
|
|
|
20
20
|
> Although the NAD is open data, it is not intended for use as a mailing list and is subject to
|
|
21
21
|
> individual state statutes that prohibit it's use as a mailing list.
|
|
22
22
|
|
|
23
|
-
These two sentences appear on the same page, and a record that
|
|
24
|
-
U.S.C. § 105" would lose the second one. The first sentence
|
|
25
|
-
restriction. The second states a restriction from another source
|
|
26
|
-
the page neither names nor lists
|
|
23
|
+
These two sentences appear on the same page, and a record that states only "no copyright under 17
|
|
24
|
+
U.S.C. § 105" would lose the second one. The first sentence states that copyright imposes no
|
|
25
|
+
restriction. The second states a restriction from another source on one particular use. That source is
|
|
26
|
+
individual state statutes, and the page neither names nor lists them. A postal address product is close to that
|
|
27
27
|
use, so the restriction belongs in the record and not in a footnote.
|
|
28
28
|
|
|
29
29
|
This text does not establish which states have those statutes, what they prohibit, or whether any of
|
|
30
30
|
them applies to what this repository does with the rows.
|
|
31
31
|
|
|
32
|
-
## What the disclaimer states about NAD's own sources
|
|
32
|
+
## What the disclaimer states about NAD's own sources
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
The disclaimer states that the National Address Database (NAD) is, with few exceptions, aggregated from state
|
|
35
|
+
data. The state data is in turn aggregated from local data.
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
The disclaimer also states that the states partnering with USDOT provide NAD data voluntarily and under no
|
|
38
|
+
obligation. It adds that not every contributing state has complete coverage.
|
|
39
39
|
|
|
40
40
|
NAD is therefore itself an aggregate. The federal-work statement covers NAD as published and does not
|
|
41
41
|
cover each contributing state's own publication.
|
|
@@ -43,4 +43,4 @@ cover each contributing state's own publication.
|
|
|
43
43
|
## What this text does not settle
|
|
44
44
|
|
|
45
45
|
The text does not say which state or local body supplied a given NAD row, or what that body requires.
|
|
46
|
-
The bundle's rows
|
|
46
|
+
The bundle's rows have the source `overture:NAD` and record no finer source. This file elects no license.
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
- Source: `https://raw.githubusercontent.com/spdx/license-list-data/main/text/NLOD-2.0.txt`, with
|
|
4
4
|
`https://data.norge.no/nlod/en/2.0` returning HTTP 200 on the same date
|
|
5
5
|
- Retrieved: 2026-09-21
|
|
6
|
-
- Publisher: the responsible Norwegian ministry
|
|
6
|
+
- Publisher: the responsible Norwegian ministry. The text identifies it as the Ministry of Local
|
|
7
7
|
Government and Modernisation
|
|
8
8
|
- Version stated in the text: 2.0
|
|
9
9
|
|
|
10
10
|
An earlier pass recorded `data.norge.no/nlod/en/2.0` as returning HTTP 406 to an automated fetch. It
|
|
11
11
|
returned HTTP 200 on 2026-09-21, so that record was a transient failure rather than a refusal, and
|
|
12
|
-
`PROVENANCE.md` is corrected. The text below is from SPDX
|
|
12
|
+
`PROVENANCE.md` is corrected. The text below is from SPDX. SPDX publishes it as plain text.
|
|
13
13
|
|
|
14
14
|
This is the grant the register's Brønnøysund entity register row would be read against.
|
|
15
15
|
|
|
@@ -60,7 +60,7 @@ not covered by the licence.
|
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
The first exemption carves personal data out of the grant itself. A source under this license is
|
|
63
|
-
therefore not fully granted by the license
|
|
63
|
+
therefore not fully granted by the license text. For that reason `AddressSourceRecord` stores a
|
|
64
64
|
`personalDataReview` apart from its license decision.
|
|
65
65
|
|
|
66
66
|
## The attribution condition
|
|
@@ -3,19 +3,26 @@
|
|
|
3
3
|
- Source: `https://www.data.gouv.fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/`
|
|
4
4
|
- Retrieved: 2026-09-21
|
|
5
5
|
- Publisher: Institut national de la statistique et des études économiques (INSEE)
|
|
6
|
-
- Terms
|
|
6
|
+
- Terms the page identifies: `Licence Ouverte / Open Licence version 2.0`, archived beside this as
|
|
7
7
|
`licence-ouverte-2.0.md`
|
|
8
8
|
- Last update stated on the page: 2026-09-01
|
|
9
9
|
|
|
10
10
|
## What the publication offers
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
The page offers twelve primary files, as six pairs in ZIP and Parquet. The six datasets are these:
|
|
13
|
+
|
|
14
|
+
- the stock of legal units, active and ceased
|
|
15
|
+
- historicized values of legal units
|
|
16
|
+
- the stock of establishments, active and closed
|
|
17
|
+
- historicized values of establishments
|
|
18
|
+
- establishment succession links
|
|
19
|
+
- SIREN duplicates
|
|
20
|
+
|
|
21
|
+
Twelve documentation files accompany them, in PDF and CSV.
|
|
15
22
|
|
|
16
23
|
## Personal data, quoted and paraphrased
|
|
17
24
|
|
|
18
|
-
The page states the dataset
|
|
25
|
+
The page states the dataset contains personal data subject to the GDPR and French data-protection law, and that a reuser
|
|
19
26
|
must respect its dissemination-status codes.
|
|
20
27
|
|
|
21
28
|
For a sole trader or a legal representative who has filed an opposition, INSEE masks specific fields:
|
|
@@ -33,6 +40,6 @@ present in the resource is a question the files answer and this page does not. C
|
|
|
33
40
|
mapping is not evidence of presence.
|
|
34
41
|
|
|
35
42
|
**Whether the masking suffices for what we do.** INSEE masks an opposed sole trader's identity, municipality address
|
|
36
|
-
and geolocation at the source
|
|
43
|
+
and geolocation at the source. That masking is a stronger starting position than a dataset with no opt-out. Whether a model
|
|
37
44
|
trained on the unmasked remainder can memorize an address, and what measures that calls for, is a separate reading from
|
|
38
45
|
the license.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
- Publisher: Who's On First, originally Mapzen
|
|
7
7
|
- Version stated in the text: none. The page states it was generated by `bin/docs.py` on 2020-02-21.
|
|
8
8
|
|
|
9
|
-
Two pages
|
|
9
|
+
Two pages publish the terms. They differ in length but agree in substance. The repository's
|
|
10
10
|
`LICENSE.md` is four paragraphs and links to the page. The page repeats those paragraphs and adds the
|
|
11
11
|
list of contributing sources.
|
|
12
12
|
|
|
@@ -48,13 +48,13 @@ Four entries bear on questions this repository has open:
|
|
|
48
48
|
| Yahoo! GeoPlanet | the publisher's own page |
|
|
49
49
|
| GeoNames | the publisher's own page |
|
|
50
50
|
|
|
51
|
-
**Royal Mail does not appear anywhere on the page.** The `candidate` bundle's record
|
|
51
|
+
**Royal Mail does not appear anywhere on the page.** The `candidate` bundle's record held an open
|
|
52
52
|
question about "the Ordnance Survey and Royal Mail notice". The page does list the two Ordnance
|
|
53
53
|
Survey bodies, but it does not mention Royal Mail.
|
|
54
54
|
|
|
55
55
|
A separate census already addressed the GeoPlanet entry. Across the four Who's On First
|
|
56
|
-
bundles in the local data root, **zero of 7,189,494 `name:*` variant keys
|
|
57
|
-
suffix**, and neither postalcode bundle
|
|
56
|
+
bundles in the local data root, **zero of 7,189,494 `name:*` variant keys end in the `_p` GeoPlanet
|
|
57
|
+
suffix**, and neither postalcode bundle contains a `name:*` key at all, so no GeoPlanet-derived string
|
|
58
58
|
reaches a corpus row through those bundles.
|
|
59
59
|
|
|
60
60
|
## What this text does not settle
|
|
@@ -9,6 +9,17 @@
|
|
|
9
9
|
"$sireneSecondAddress": "SIRENE's establishment file carries a second address family, the `2`-suffixed columns, which INSEE labels only `adresse secondaire` — `complementAdresse2Etablissement` reads `Complément d'adresse secondaire`. What role that address plays is unstated, so it takes no entry in `addressRoles` rather than a guessed one, and the coverage text names it so a reader knows the column exists.",
|
|
10
10
|
"$ocdsPartyRoles": "An OCDS release keys its addresses by party role, so `addressRoles` names roles rather than columns for those sources. A role is assigned only where OCDS's own codelist defines it, retrieved from `https://standard.open-contracting.org/1.1/en/codelists/partyRole.csv`: `buyer`, `procuringEntity`, `payer`, `funder` and `reviewBody` are bodies acting in the process, so their address is an office they operate and reads `facility`; `supplier` and `tenderer` are the transacting party, so theirs reads `counterparty`. Germany's release also uses eight roles from an extension whose codelist neither the 1.1 nor the latest list defines — `processContactPoint`, `reviewContactPoint`, `submissionReceiptBody`, `mediationBody`, `evaluationBody`, `procurementServiceProvider`, `leadTenderer`, `subcontractor` — and those take no role here rather than a guessed one.",
|
|
11
11
|
"resolutions": {
|
|
12
|
+
"gb-mixed-regulatory-2": {
|
|
13
|
+
"addressRoles": {
|
|
14
|
+
"Address1,Address2,Address3,Town,Postcode": "facility"
|
|
15
|
+
},
|
|
16
|
+
"coverage": "DVSA's active MOT test stations CSV, `https://assets.publishing.service.gov.uk/media/6abcee45943e890cb55e5d00/active-mot-stations.csv`, read 2026-10-12: 2,391,015 bytes, sha256 `1feeed6fa09140db3cde595c59b0503aa597cdc75a4846444c11122a6e5241c4`, 22,988 data rows over 14 columns with 0 ragged rows under a quote-aware parse; 923 lines carry a quote character. One row is one approved test premises. 22,969 of 22,988 postcodes take a valid Great Britain postcode shape and 121 postcode areas are present, including AB 217, EH 309 and G 369 in Scotland and CF 386, SA 342 and LL 282 in Wales; BT, Northern Ireland, has 0 rows, because Northern Ireland tests vehicles through its own agency. 7,126 rows open `Address1` with a digit, so about a third carry a house number and the rest open with a building, unit or estate name.",
|
|
17
|
+
"upstreamLineage": ["https://www.gov.uk/government/publications/active-mot-test-stations"],
|
|
18
|
+
"personalDataReview": {
|
|
19
|
+
"reading": "present",
|
|
20
|
+
"because": "The address columns locate test premises, and the `Trading_Name` column names a natural person on some rows. Among 22,988 trading names, 235 take an initial-and-surname shape without a business word, as `J J GRIFFITHS`, `R C WILSON`, `V WILLIAMS` and `S BISHOP` do, and 106 carry `AND SON` or `& SONS`, some of which are limited companies. A sole trader's name beside the premises where that person trades identifies them, which is the reading this register gave Enhetsregisteret's sole proprietorships. The shape count is a lower bound. **Whether a build that reads only the five address columns and never `Trading_Name` changes this reading is the same open question recorded for swisstopo's `BDG_NAME`**, and it is the operator's and counsel's to answer: an approved MOT premises is a commercial site with test equipment, so the address alone locates a business."
|
|
21
|
+
}
|
|
22
|
+
},
|
|
12
23
|
"es-mixed-regulatory-1": {
|
|
13
24
|
"adapterID": "es-catastro",
|
|
14
25
|
"addressRoles": {
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
*
|
|
72
72
|
* ## The street line
|
|
73
73
|
*
|
|
74
|
-
* `street` holds the whole street line as the participant typed it,
|
|
74
|
+
* `street` holds the whole street line as the participant typed it, in most records but not all in the
|
|
75
75
|
* country's own order: `THE WELLCOME TRUST LIMITED` writes `EUSTON ROAD 215 GIBBS BUILDING`, a
|
|
76
76
|
* number-last line in a number-first country. The house number is therefore split off only on the
|
|
77
77
|
* side the country's order puts it, and {@linkcode streetOrderForCountry} reads that side from codex's
|
|
@@ -110,11 +110,11 @@
|
|
|
110
110
|
*
|
|
111
111
|
* ## License
|
|
112
112
|
*
|
|
113
|
-
* The CORDIS legal notice at `https://cordis.europa.eu/about/legal`, read 2026-10-03,
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
113
|
+
* The CORDIS legal notice at `https://cordis.europa.eu/about/legal`, read 2026-10-03, authorizes reuse
|
|
114
|
+
* of the EU-owned editorial content on the site under Creative Commons Attribution 4.0 International
|
|
115
|
+
* (CC BY 4.0), except where an individual copyright notice states otherwise. The same notice states
|
|
116
|
+
* that Commission Decision 2011/833/EU of 12 December 2011, on the reuse of Commission documents,
|
|
117
|
+
* implements the Commission's reuse policy, and the
|
|
118
118
|
* data.europa.eu records for `cordisfp7projects`, `cordish2020projects` and
|
|
119
119
|
* `cordis-eu-research-projects-under-horizon-europe-2021-2027` label each CSV distribution with that
|
|
120
120
|
* decision (`COM_REUSE`). CC BY requires credit and a statement that changes were made, so every row
|
|
@@ -603,7 +603,7 @@ export function readCORDISRecord(record: CORDISOrganizationRecord, lexicon: Pers
|
|
|
603
603
|
if (!aligned.street && !aligned.postcode) return { refused: CORDISRefusal.ComponentsTooFew, country }
|
|
604
604
|
|
|
605
605
|
// A layout with no slot for a component leaves it out of `raw`, as the United Arab Emirates'
|
|
606
|
-
// leaves the locality, and the count records
|
|
606
|
+
// leaves the locality, and the count records the number of published values that went unwritten.
|
|
607
607
|
for (const tag of rendered.unplaced) {
|
|
608
608
|
discarded.push(`component:${tag}:unplaced`)
|
|
609
609
|
}
|
|
@@ -633,7 +633,7 @@ export interface CORDISRecordReading {
|
|
|
633
633
|
/**
|
|
634
634
|
* Every distinct published record under `inputPath`, read once each.
|
|
635
635
|
*
|
|
636
|
-
* A record is distinct on the five fields that reach a row, so an organization that took part in
|
|
636
|
+
* A record is distinct on the five fields that reach a row, so an organization that took part in several
|
|
637
637
|
* projects with one address is read once, and one whose address changed is read once per version.
|
|
638
638
|
* `onDuplicate` is called once for every participation row a record already read covers.
|
|
639
639
|
*
|
|
@@ -14,12 +14,11 @@
|
|
|
14
14
|
*
|
|
15
15
|
* ## License
|
|
16
16
|
*
|
|
17
|
-
* GLEIF's LEI Data Terms of Use, at {@linkcode GLEIF_LICENSE_URL}, read on 2026-10-03,
|
|
18
|
-
* data
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* provided under a Creative Commons (CC0) license." The same terms ask a user not to create the
|
|
17
|
+
* GLEIF's LEI Data Terms of Use, at {@linkcode GLEIF_LICENSE_URL}, read on 2026-10-03, place the
|
|
18
|
+
* data served through the Access Service under CC0 1.0 Universal. The terms define the Access
|
|
19
|
+
* Service as the facility for looking up or downloading single LEIs, their related reference data,
|
|
20
|
+
* or the whole LEI set or a subset of it. The golden copy falls under that definition. GLEIF's open-data page
|
|
21
|
+
* also places the data on GLEIF's website under CC0. The same terms ask a user not to create the
|
|
23
22
|
* impression that derived data or services are provided or endorsed by GLEIF. That is why
|
|
24
23
|
* {@linkcode GLEIF_ATTRIBUTION} credits the source rather than the corpus.
|
|
25
24
|
*
|
|
@@ -60,7 +59,7 @@
|
|
|
60
59
|
* becomes `po_box` rather than a street.
|
|
61
60
|
*
|
|
62
61
|
* **A line holding a digit the split could not place refuses the address**, and so does a line with
|
|
63
|
-
* no digit at all: in this register a digitless first line is
|
|
62
|
+
* no digit at all: in this register a digitless first line is a building about as frequently (`UGLAND HOUSE`,
|
|
64
63
|
* `KYDD BUILDING`) as a street, and no field separates the two. An English ordinal inside a street name
|
|
65
64
|
* (`5TH AVENUE`) is a name rather than a number.
|
|
66
65
|
*
|
|
@@ -126,7 +125,7 @@ export const GLEIF_ADAPTER_ID = "gleif-lei"
|
|
|
126
125
|
* Countries whose sampled rows show a labeling defect the street split cannot detect,
|
|
127
126
|
* so none of their rows is emitted until the split handles them.
|
|
128
127
|
*
|
|
129
|
-
* - `AE`: the first address line
|
|
128
|
+
* - `AE`: the first address line can be an office or unit number before a building name,
|
|
130
129
|
* as in `601 سويس تاور` and `501 LE SOLARIUM`, which the split reads as a house number and a street.
|
|
131
130
|
* - `HK`: a floor such as `6F` comes out as the house number, as in `6F MANULIFE PLACE`.
|
|
132
131
|
* - `BS`: codex records the Bahamas as number-last while its published lines are number-first
|
|
@@ -49,7 +49,7 @@ export interface PoBoxInputRow extends PoBoxBaseTuple {
|
|
|
49
49
|
|
|
50
50
|
export interface PoBoxAdapterOptions {
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
52
|
+
* The number of PO box variants to emit per input tuple, each picking a different leader
|
|
53
53
|
* (and possibly a different number or noise level); default 1.
|
|
54
54
|
*/
|
|
55
55
|
variantsPerInput?: number
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* The deterministic row id for a source that publishes no primary key of its own.
|
|
7
7
|
*
|
|
8
|
-
* A CSV row or GeoJSON feature
|
|
8
|
+
* A CSV row or GeoJSON feature can lack a stable identifier. The runner still needs one, so
|
|
9
9
|
* deduplication and holdout manifests agree across reruns and a run can resume. These functions
|
|
10
10
|
* derive it by hashing the adapter id together with a canonical serialization of the row's values.
|
|
11
11
|
*
|
package/lib/adapters.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* what the adapter reads: BAN covers France and ten overseas jurisdictions, Matrikkelen covers
|
|
20
20
|
* Norway and Svalbard, and Ryhti's one national file covers Åland beside the Finnish mainland.
|
|
21
21
|
*
|
|
22
|
-
* Flanders is the counter-case
|
|
22
|
+
* Flanders is the counter-case. Its adapter sits under `be` and covers the Flemish
|
|
23
23
|
* Region only, because Brussels and Wallonia publish the INSPIRE theme through their own
|
|
24
24
|
* services, so Belgium needs three adapters rather than one.
|
|
25
25
|
*
|
|
@@ -88,7 +88,7 @@ import { usgovNPPESAdapter } from "#us/adapters/usgov/nppes/adapter"
|
|
|
88
88
|
/**
|
|
89
89
|
* Built-in adapters.
|
|
90
90
|
*
|
|
91
|
-
* Order
|
|
91
|
+
* Order matters, because `corpus build` iterates this list to drive every adapter in turn.
|
|
92
92
|
* The order runs coarse-first (admin, then postcode), then street-level
|
|
93
93
|
* (BAN FR, tiger US, OpenAddresses global), then adversarial-source (FCC BDC US, HRSA fqhc US).
|
|
94
94
|
*
|
|
@@ -45,7 +45,7 @@ interface GNAFTuple {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
|
-
* The address layouts an AU address
|
|
48
|
+
* The address layouts an AU address arrives in.
|
|
49
49
|
*
|
|
50
50
|
* The model already handles postcode-trailing (canonical); the two postcode-leading
|
|
51
51
|
* forms are the ones it fails, so they show the change.
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
* Nine addresses write `<ad:component xlink:href=""/>` in the postal-zone slot, so those nine state
|
|
52
52
|
* no postcode: `BE.BRUSSELS.BRIC.ADM.ADPT.220623`, `.220631`, `.220635`, `.256972`, `.257005` and
|
|
53
53
|
* four more, in Bruxelles and Schaerbeek. `componentHrefs` skips an empty href, so an unwary reader
|
|
54
|
-
* yields those rows with
|
|
54
|
+
* yields those rows with no postcode and no error. This adapter refuses them and
|
|
55
55
|
* counts them under {@link Refusals.noPostcode}, because a postcode the publisher left unstated is
|
|
56
56
|
* not a postcode this repository may read as absent from the address.
|
|
57
57
|
*
|
|
@@ -224,7 +224,7 @@ const COMPONENT_TYPES = ["ad:ThoroughfareName", "ad:PostalDescriptor", "ad:Admin
|
|
|
224
224
|
* An address reaching the reader with fewer readable references has written one of them empty.
|
|
225
225
|
*
|
|
226
226
|
* That count is how the nine postcode-less addresses are told apart from an
|
|
227
|
-
* address whose reference
|
|
227
|
+
* address whose reference does not resolve.
|
|
228
228
|
*/
|
|
229
229
|
const COMPONENTS_PER_ADDRESS = 7
|
|
230
230
|
|
|
@@ -282,7 +282,7 @@ export function componentResourceID(href: string): string | null {
|
|
|
282
282
|
* A Flemish street name read apart from the homonym discriminator that follows it.
|
|
283
283
|
*
|
|
284
284
|
* `gn:text` on an `ad:ThoroughfareName` states more than the street name: the name,
|
|
285
|
-
* an underscore, and a discriminator that is
|
|
285
|
+
* an underscore, and a discriminator that is empty in most identifiers.
|
|
286
286
|
* Over 20,000 values at twenty offsets, 19,979 end with `_` and the remaining
|
|
287
287
|
* 21 have a discriminator after it.
|
|
288
288
|
*
|
package/lib/build.ts
CHANGED
|
@@ -104,7 +104,7 @@ export async function buildCorpus(opts: BuildCorpusOptions): Promise<BuildCorpus
|
|
|
104
104
|
opts.onProgress?.("parquet", "writing parquet files")
|
|
105
105
|
|
|
106
106
|
// Each split gets its own generator seeded from one base, so a split's row order does
|
|
107
|
-
// not depend on
|
|
107
|
+
// not depend on the number of rows the earlier splits happened to contain.
|
|
108
108
|
const shuffled = (path: PathBuilderLike, salt: number) =>
|
|
109
109
|
shuffleWithinWindow(streamJSONL<LabeledRow>(path), makeMulberry32(shuffleSeed + salt), shuffleWindow)
|
|
110
110
|
|