The share-alike field should have held 65, not 7

regions-plugin challenged the record I had just written, and they were right. I gave the 7 explicitly-named
ShareAlike countries their own field because share-alike is a stronger duty than attribution — and by that
same reasoning the field should hold 65. Open Data Commons ODbL 1.0 is itself a SHARE-ALIKE licence for
databases: alongside attribution it requires a Derivative Database be offered under ODbL, and it carries a
keep-open provision. So my 58 ODbL countries are the same class as my 7, and separating them buried exactly
what the field existed to surface.

★ WHAT CONVINCED ME WAS THIS REPO, NOT THE LICENCE TEXT. regions pointed at
library/scripts/posters/data/README.md:36-50, and I read it: Natural Earth's 1:10m ROADS were requested and
DELIBERATELY NOT SHIPPED because of an ODbL attribution obligation. Someone here already dropped a whole
dataset over this class of duty. An argument from the licence would have been my reading of a clause; an
argument from a decision already taken in this tree is evidence.

THE RECORD NOW SPLITS THREE WAYS, with the iso3 lists so each is checkable:
    32  duty-free              (28 Public Domain + 4 CC0)
    65  attribution-only
    65  SHARE-ALIKE CLASS      (58 ODbL 1.0 + 7 explicit ShareAlike)
That is a materially different picture from "130 need attribution, 7 are stronger": it says HALF the
duty-bearing countries may constrain how a derivative is licensed, not merely how it is credited.

⚠ AND IT IS EXPLICITLY NOT A LEGAL CONCLUSION. Whether a redistributed boundary file is a "Derivative
Database" under ODbL is precisely the clause a giveaway needs a real answer on, and neither regions-plugin
nor I is qualified to give it. The record says so in _duty_classes._open and the question goes up with the
other licensing items — visible rather than settled by omission, which is the same failure the empty
`licences: {}` was.

The table stays here as the single source of truth; regions' data/boundaries/ATTRIBUTION references it by
path rather than copying it, because one table in two places drifts.
This commit is contained in:
Doxa Maps 2026-09-28 01:51:24 +00:00
parent 304a4c1206
commit 66d4ebd72e

View file

@ -5,8 +5,197 @@
"endpoint": "https://www.geoboundaries.org/api/current/gbOpen/<ISO3>/<LEVEL>/",
"note": "gbOpen passes through each country UPSTREAM licence — this collection is MIXED-LICENCE with per-country attribution duties.",
"adm0_features": 162,
"_duty": "130 of the 162 countries carry an ATTRIBUTION or SHARE-ALIKE duty that travels with any redistribution of boundaries/world-adm0*.geojson. Only 32 are duty-free (Public Domain or CC0). This matters because the repo is intended to be given away: CC BY obligations are not discharged by shipping the file, they are discharged by naming the source. See data/boundaries/ATTRIBUTION.",
"_shareAlike": "These 7 are ShareAlike, a STRONGER duty than attribution — a derivative may have to be licensed alike. Flagged separately because a blanket 'CC BY' summary would hide them: AGO, GAB, GEO, GIN, MMR, NER, TUR",
"_duty": "130 of the 162 countries carry a duty that travels with any redistribution of boundaries/world-adm0*.geojson; only 32 are duty-free. The 130 split TWO ways and the split matters more than the total: 65 are attribution-only, and 65 are SHARE-ALIKE CLASS (58 ODbL + 7 explicit ShareAlike), which can constrain how a derivative is licensed rather than merely how it is credited. See _duty_classes. This matters because the repo is intended to be given away: these obligations are not discharged by shipping the file. See data/boundaries/ATTRIBUTION, which references this table by path.",
"_duty_classes": {
"_why": "THREE CLASSES, NOT TWO — corrected 2026-09-28 after regions-plugin's challenge, which was right. I first gave only the 7 explicitly-named ShareAlike countries their own field on the reasoning that share-alike is a stronger duty than attribution. By that same reasoning the field should hold 65: Open Data Commons ODbL 1.0 is itself a SHARE-ALIKE licence for databases — alongside attribution it requires a Derivative Database be offered under ODbL, and it has a keep-open provision. Separating 7 from 58 buried exactly the thing the field existed to surface.",
"_precedent": "THIS REPO ALREADY TREATS ODbL AS CONSEQUENTIAL, which is the evidence rather than my reading of the licence: library/scripts/posters/data/README.md:36-50 records that Natural Earth's 1:10m ROADS were requested and DELIBERATELY NOT SHIPPED because of an ODbL attribution obligation. Someone here dropped a dataset over this class of duty.",
"_open": "NOT A LEGAL CONCLUSION. Whether a redistributed boundary file is a 'Derivative Database' under ODbL is exactly the clause a giveaway needs a real answer on, and neither regions-plugin nor I is qualified to give it. Recorded here, and raised with the licensing items, so the question is visible rather than settled by omission.",
"duty_free": {
"count": 32,
"iso3": [
"AFG",
"ALB",
"AND",
"ARE",
"ATG",
"BEN",
"BGD",
"BGR",
"BHS",
"BIH",
"BOL",
"BRN",
"CHN",
"CIV",
"COL",
"DJI",
"ECU",
"GHA",
"IND",
"IRN",
"IRQ",
"JAM",
"KEN",
"LBN",
"LBY",
"LCA",
"MLT",
"PAN",
"PER",
"SLB",
"USA",
"VEN"
]
},
"attribution_only": {
"count": 65,
"iso3": [
"ABW",
"ARM",
"ASM",
"AZE",
"BFA",
"BLM",
"BLR",
"BMU",
"BRA",
"BRB",
"BTN",
"CAF",
"CMR",
"COK",
"CUW",
"CYM",
"CZE",
"DMA",
"ESP",
"FRO",
"FSM",
"GGY",
"GLP",
"GMB",
"GRC",
"GUF",
"GUM",
"GUY",
"ISL",
"JOR",
"JPN",
"LBR",
"MDV",
"MLI",
"MNP",
"MRT",
"MSR",
"MYT",
"NAM",
"NCL",
"NGA",
"NIU",
"NPL",
"NZL",
"PHL",
"PRK",
"PRY",
"PSE",
"PYF",
"SDN",
"SEN",
"SHN",
"SLE",
"SOM",
"SSD",
"SWE",
"TCA",
"TZA",
"VGB",
"VIR",
"VNM",
"WLF",
"ZAF",
"ZMB",
"ZWE"
]
},
"share_alike_class": {
"count": 65,
"odbl_1_0": {
"count": 58,
"iso3": [
"BHR",
"COD",
"COG",
"COM",
"CUB",
"CYP",
"DZA",
"EGY",
"ERI",
"ETH",
"FIN",
"FJI",
"GNB",
"GNQ",
"GRD",
"IDN",
"ISR",
"KAZ",
"KGZ",
"KHM",
"KIR",
"KWT",
"LAO",
"LIE",
"LKA",
"LUX",
"MAR",
"MHL",
"MNE",
"MNG",
"MOZ",
"MUS",
"MWI",
"MYS",
"OMN",
"PAK",
"PLW",
"PNG",
"QAT",
"RUS",
"SAU",
"SMR",
"STP",
"SUR",
"SWZ",
"SYR",
"TCD",
"TGO",
"THA",
"TJK",
"TON",
"TUN",
"UGA",
"UZB",
"VCT",
"VUT",
"WSM",
"YEM"
]
},
"explicit_sharealike": {
"count": 7,
"iso3": [
"AGO",
"GAB",
"GEO",
"GIN",
"MMR",
"NER",
"TUR"
]
}
}
},
"summary": {
"countries": 162,
"duty_free": 32,