{
 "schema_version": "1.2.0",
 "generated_at": "2026-09-23T16:40:54Z",
 "human_page": "https://govoss.cat/",
 "counts_note": "`entries` is the ACTIVE catalogue. /entries.json holds `rows_in_entries_json` rows, because a set-aside entry is flagged `excluded: true` with an `exclude_reason` rather than dropped \u2014 filter on `excluded` for the active catalogue. /v1/entries.json is an alias of /entries.json and carries the same rows. The curated browse indexes (/by-product.json, /by-category/, mcp-index.json) are active-only.",
 "counts": {
  "entries": 3054,
  "rows_in_entries_json": 3553,
  "with_publiccode": 1225,
  "with_wikidata": 651,
  "with_replaces": 244,
  "with_inherited_replaces": 7,
  "variants_linked": 12,
  "variant_cores": 9,
  "in_multiple_catalogues": 99,
  "with_entry_links": 2306,
  "digital_public_goods": 232,
  "dead_links": 27,
  "archived_repos": 39,
  "filtered_out": 499,
  "total_including_set_aside": 3553,
  "distinct_products_mapped": 314
 },
 "categories": [
  {
   "key": "case-workflow",
   "label": "Case & Workflow Management",
   "count": 367
  },
  {
   "key": "documents",
   "label": "Documents & Records",
   "count": 306
  },
  {
   "key": "web-content",
   "label": "Content & Web Publishing",
   "count": 281
  },
  {
   "key": "collaboration",
   "label": "Collaboration & Communication",
   "count": 333
  },
  {
   "key": "data-analytics",
   "label": "Data, Analytics & Visualisation",
   "count": 621
  },
  {
   "key": "geospatial",
   "label": "Geospatial & Mapping",
   "count": 203
  },
  {
   "key": "identity-security",
   "label": "Identity, Access & Security",
   "count": 205
  },
  {
   "key": "citizen-services",
   "label": "Citizen Services & Participation",
   "count": 135
  },
  {
   "key": "finance-procurement",
   "label": "Finance, Procurement & Accounting",
   "count": 98
  },
  {
   "key": "hr-workforce",
   "label": "HR & Workforce",
   "count": 22
  },
  {
   "key": "crm-service",
   "label": "CRM & Service Desk",
   "count": 111
  },
  {
   "key": "dev-tools",
   "label": "Developer Tools & Platform",
   "count": 416
  },
  {
   "key": "infrastructure",
   "label": "Infrastructure & Operations",
   "count": 188
  },
  {
   "key": "integration",
   "label": "Integration, APIs & Data Exchange",
   "count": 87
  },
  {
   "key": "learning-knowledge",
   "label": "Learning & Knowledge",
   "count": 98
  },
  {
   "key": "health-social",
   "label": "Health & Social Care",
   "count": 11
  },
  {
   "key": "environment-transport",
   "label": "Environment, Energy & Transport",
   "count": 25
  },
  {
   "key": "office",
   "label": "Office & Productivity",
   "count": 103
  },
  {
   "key": "registers",
   "label": "Registers & Reference Data",
   "count": 16
  }
 ],
 "countries": [
  {
   "code": "FR",
   "count": 679
  },
  {
   "code": "DE",
   "count": 602
  },
  {
   "code": "IT",
   "count": 537
  },
  {
   "code": "GLOBAL",
   "count": 254
  },
  {
   "code": "DK",
   "count": 213
  },
  {
   "code": "BG",
   "count": 180
  },
  {
   "code": "CH",
   "count": 164
  },
  {
   "code": "NL",
   "count": 120
  },
  {
   "code": "BE",
   "count": 101
  },
  {
   "code": "SE",
   "count": 79
  },
  {
   "code": "CA",
   "count": 66
  },
  {
   "code": "TW",
   "count": 57
  },
  {
   "code": "FI",
   "count": 54
  },
  {
   "code": "PT",
   "count": 39
  },
  {
   "code": "EU",
   "count": 11
  },
  {
   "code": "IE",
   "count": 2
  }
 ],
 "source_catalogues": [
  {
   "key": "IT/developers-italia",
   "label": "Developers Italia",
   "country": "IT",
   "site": "https://developers.italia.it/en/software",
   "api": "https://api.developers.italia.it/v1/software",
   "route": "REST API",
   "claim": "built for public administration"
  },
  {
   "key": "FR/sill",
   "label": "SILL",
   "country": "FR",
   "site": "https://code.gouv.fr/sill",
   "api": "https://code.gouv.fr/sill/api/sill.json",
   "route": "bulk JSON",
   "claim": "recommended to public agents"
  },
  {
   "key": "FR/awesome-codegouvfr",
   "label": "awesome-codegouvfr",
   "country": "FR",
   "site": "https://code.gouv.fr/",
   "api": "https://code.gouv.fr/data/awesome-codegouvfr.json",
   "route": "bulk JSON",
   "claim": "curated French public-sector"
  },
  {
   "key": "DE/openCode",
   "label": "openCode",
   "country": "DE",
   "site": "https://opencode.de/en/software",
   "api": "https://gitlab.opencode.de/api/v4/projects",
   "route": "GitLab API",
   "claim": "built for public administration"
  },
  {
   "key": "DE/opensource.muenchen.de",
   "label": "Munich Open Source",
   "country": "DE",
   "site": "https://opensource.muenchen.de/software/",
   "api": "https://github.com/it-at-m/opensource.muenchen.de/tree/main/software",
   "route": "markdown files in git",
   "claim": "built or used by the City of Munich"
  },
  {
   "key": "NL/code.overheid.nl",
   "label": "code.overheid.nl",
   "country": "NL",
   "site": "https://code.overheid.nl/",
   "api": "https://code.overheid.nl/api/v1/repos/search",
   "route": "Forgejo API",
   "claim": "published by Dutch government bodies"
  },
  {
   "key": "BE/iMio",
   "label": "iMio",
   "country": "BE",
   "site": "https://www.imio.be/",
   "api": "https://api.github.com/orgs/IMIO/repos",
   "route": "GitHub org",
   "claim": "built by Walloon municipalities"
  },
  {
   "key": "DK/os2",
   "label": "OS2 Denmark",
   "country": "DK",
   "site": "https://os2.eu/",
   "api": "https://api.github.com/orgs/OS2web/repos",
   "route": "GitHub orgs (20)",
   "claim": "built by Danish municipalities"
  },
  {
   "key": "BG/governmentbg",
   "label": "e-Government Ministry",
   "country": "BG",
   "site": "https://github.com/governmentbg",
   "api": "https://api.github.com/orgs/governmentbg/repos",
   "route": "GitHub org",
   "claim": "built for the Bulgarian government"
  },
  {
   "key": "SE/offentligkod",
   "label": "Offentligkod",
   "country": "SE",
   "site": "https://offentligkod.se/",
   "api": "https://gitlab.com/open-data-knowledge-sharing/katalogen",
   "route": "GNU recutils in git",
   "claim": "in use by Swedish public bodies"
  },
  {
   "key": "FI/avoinkoodi",
   "label": "Avoinkoodi",
   "country": "FI",
   "site": "https://avoinkoodi.fi/",
   "api": "https://avoinkoodi.fi/projects.json",
   "route": "static JSON",
   "claim": "Finnish public-sector project"
  },
  {
   "key": "CA/code.open.canada.ca",
   "label": "Open Resource Exchange",
   "country": "CA",
   "site": "https://code.open.canada.ca/en/index.html",
   "api": "https://code.open.canada.ca/code.json",
   "route": "code.json",
   "claim": "published by Canadian administrations"
  },
  {
   "key": "PT/arte",
   "label": "ARTE Portugal",
   "country": "PT",
   "site": "https://github.com/amagovpt",
   "api": "https://api.github.com/orgs/amagovpt/repos",
   "route": "GitHub org",
   "claim": "built by Portugal's state technology agency"
  },
  {
   "key": "CH/swiss",
   "label": "Swiss Confederation",
   "country": "CH",
   "site": "https://github.com/swiss/index",
   "api": "https://raw.githubusercontent.com/swiss/index/HEAD/README.md",
   "route": "GitHub index + orgs",
   "claim": "published by Swiss federal and cantonal bodies"
  },
  {
   "key": "SE/digg",
   "label": "DIGG",
   "country": "SE",
   "site": "https://github.com/diggsweden",
   "api": "https://api.github.com/orgs/diggsweden/repos",
   "route": "GitHub org",
   "claim": "built by the Swedish Agency for Digital Government"
  },
  {
   "key": "IE/ogcio",
   "label": "OGCIO Ireland",
   "country": "IE",
   "site": "https://github.com/ogcio",
   "api": "https://api.github.com/orgs/ogcio/repos",
   "route": "GitHub org",
   "claim": "built by the Irish government CIO office"
  },
  {
   "key": "TW/code.gov.tw",
   "label": "Public Code Platform (moda)",
   "country": "TW",
   "site": "https://code.gov.tw/",
   "api": "https://code.gov.tw/api/OpenDataSet/PublicProgramInfoData/json",
   "route": "official open-data export",
   "claim": "published by Taiwanese agencies"
  },
  {
   "key": "GLOBAL/dpg",
   "label": "Digital Public Goods Registry",
   "country": "GLOBAL",
   "site": "https://www.digitalpublicgoods.net/registry",
   "api": "https://app.digitalpublicgoods.net/api/dpgs",
   "route": "REST API",
   "claim": "vetted against the DPG Standard"
  },
  {
   "key": "EU/code.europa.eu",
   "label": "code.europa.eu",
   "country": "EU",
   "site": "https://code.europa.eu/",
   "api": "https://code.europa.eu/api/v4/projects",
   "route": "GitLab API",
   "claim": "built by EU institutions"
  }
 ],
 "surveyed_not_ingested": [
  {
   "country": "US",
   "flag": "\ud83c\uddfa\ud83c\uddf8",
   "name": "code.gov",
   "url": "https://code.gov",
   "status": "retired",
   "detail": "302s to a Digital.gov policy page; api.code.gov returns the same HTML. The federal inventory that defined the code.json schema is gone. Its schema outlived it - Canada still uses it."
  },
  {
   "country": "IN",
   "flag": "\ud83c\uddee\ud83c\uddf3",
   "name": "OpenForge",
   "url": "https://openforge.gov.in/",
   "status": "no-code",
   "detail": "Operational as a SERVICE but empty as a catalogue. Tuleap Community Edition 16.12 (current), CORS-open REST API, 1,502 active public projects with real names (DigiLocker toolkits, eGov SmartCity, EPrabandhan) - but ZERO accessible source code. /api/projects/<id>/git returns an empty repositories array for 40 of 40 sampled projects; frs_packages is empty; the file-release pages say \"empty\"; and 0 of 25 git plugin pages carry a clonable URL. Not auth-gated - there is simply nothing published. Adding it would inject 1,502 entries with no repository URL, which is both the dedupe identity and the whole promise of the catalogue. Re-check periodically: if code lands, this becomes the largest single source here."
  },
  {
   "country": "KR",
   "flag": "\ud83c\uddf0\ud83c\uddf7",
   "name": "oss.kr (Open Source Portal)",
   "url": "https://www.oss.kr/",
   "status": "wrong-shape",
   "detail": "Live and substantial, but it is a national OSS PROMOTION portal, not a catalogue of government-produced software: developer contests, a contribution academy, licence verification, Open Up centre, news. Its /opensource/hub/<id> pages profile UPSTREAM projects (Node.js and the like) rather than Korean public-sector code, with no adoption data. Closest analogue here is SILL's recommendation axis, minus the government-use signal that makes SILL worth having. Nothing to ingest without changing what the catalogue means."
  },
  {
   "country": "BR",
   "flag": "\ud83c\udde7\ud83c\uddf7",
   "name": "Portal do Software Publico",
   "url": "https://www.softwarepublico.gov.br/",
   "status": "broken",
   "detail": "TLS certificate expired; /social/ 404s. Historically the most ambitious public software portal outside Europe - worth re-checking."
  },
  {
   "country": "ES",
   "flag": "\ud83c\uddea\ud83c\uddf8",
   "name": "CTT",
   "url": "https://administracionelectronica.gob.es/ctt",
   "status": "bot-protected",
   "detail": "Centro de Transferencia de Tecnologia holds a real solutions directory, but every route is behind an F5/BIG-IP bot challenge (TSPD) that returns HTTP 200 with a CAPTCHA page instead of data - the HTML, the RSS feed and every /api/ path alike. Solving or bypassing a CAPTCHA is off the table, so this cannot be harvested as it stands. The legitimate route would be Spain asking to allowlist a harvester, or publishing the directory via datos.gob.es. Re-check rather than retry: the block is deliberate."
  },
  {
   "country": "global",
   "flag": "\ud83c\udf10",
   "name": "State of Public Code / Software Heritage",
   "url": "https://www.softwareheritage.org/2026/07/01/public_code_2026_launch/",
   "status": "different-shape",
   "detail": "288,411 repositories with at least one government-email contribution across all 193 UN member states. A measurement dataset, not a curated catalogue - it answers 'who contributes' rather than 'what can we adopt'. Useful as discovery input for finding catalogues we have missed."
  },
  {
   "country": "CY",
   "flag": "\ud83c\udde8\ud83c\uddfe",
   "name": "Cyprus - no code platform found",
   "url": "https://www.cyprus.gov.cy/",
   "status": "none-found",
   "detail": "Checked properly rather than left open. The Software Heritage domain registry has collected 634 responding Cyprus government domains and NONE is a code platform or forge; there is no Cyprus entry in its github-gov-orgs.csv; and its candidate list names only parliament.cy. Keyword matches for git/code/repo across the subdomain list are false positives (digitalcoalition, reportdruginfo). Cyprus appears simply not to publish government source code centrally. EGDI rank 38 of 193, so this is a genuine gap rather than a discovery failure."
  },
  {
   "country": "EU facets",
   "flag": "\ud83c\uddea\ud83c\uddfa",
   "name": "remaining EU catalogue facets",
   "url": "https://interoperable-europe.ec.europa.eu/eu-oss-catalogue",
   "status": "unresolved",
   "detail": "Reading the EU catalogue's SOURCE FACET NAMES from the page HTML resolved two of the three unknowns: hosting_platform:ogcio is Ireland's OGCIO, and hosting_platform:arte is Portugal's ARTE state technology agency - NOT the Franco-German broadcaster, which is what it was first read as here. Both are now ingested. Still unidentified: hosting_platform:city_of_ghent (a Belgian municipality, likely a handful of repos) and hosting_platform:dmrid_dits (github.com/DMRID is an individual user with one repo, not a registry)."
  },
  {
   "country": "DK/BG",
   "flag": "\u26a0",
   "name": "translation debt (OS2 + Bulgaria)",
   "url": "https://govoss.cat/sources.html",
   "status": "needs-research",
   "detail": "English coverage dropped from 100% to 91% when OS2 Denmark and Bulgaria were added: 265 strings remain untranslated (171 Bulgarian, 82 Danish, 12 other). Recorded rather than papered over - every entry still carries description_lang so a consumer can tell, and meta.json reports the real figure. The Bulgarian set is mostly long EU-funding project titles rather than software summaries, so it needs judgement about what is worth translating at all."
  },
  {
   "country": "meta",
   "flag": "\ud83d\udcd6",
   "name": "OSOR \"OSS repositories\" list",
   "url": "https://interoperable-europe.ec.europa.eu/collection/open-source-observatory-osor/oss-repositories",
   "status": "discovery-source",
   "detail": "The best discovery resource found so far, and it should have been checked first: a hand-curated, server-rendered directory of ~29 public-sector OSS catalogues with owner, language and geographic coverage. Unlike the EU OSS Catalogue on the same portal, this page renders fine. Every entry has now been evaluated (last pass 2026-09-22): OS2, Bulgaria, Switzerland and DIGG were ingested from it; GCHQ and Helsingborg are recorded below as candidates; ICT ReUse, the Adullact forge, Forja RedIRIS, OW2 and the Swedish community wiki are recorded below with why not. Awesome Free Software lists private publishers, not government software; Etalab's Public Sector Code is the 24,440-repo inventory excluded on purpose (harvest.py:fr()); Joinup is the EU catalogue already rejected. publiccode.directory is a dead domain."
  },
  {
   "country": "GB",
   "flag": "\ud83c\uddec\ud83c\udde7",
   "name": "GCHQ",
   "url": "https://github.com/gchq",
   "status": "ready",
   "detail": "Would be the first UK source. 58 active repos, 2 forks, every non-fork one described, CyberChef (36k stars) and Stroom among them, but NO publiccode.yml at all, so it is index tier only, like Ireland. A national-security agency's tooling is genuinely government-published; whether it fits 'software a government could adopt' is an editorial call."
  },
  {
   "country": "SE",
   "flag": "\ud83c\uddf8\ud83c\uddea",
   "name": "Helsingborg City",
   "url": "https://github.com/helsingborg-stad",
   "status": "needs-research",
   "detail": "Municipal and first-hand, but noisy: 291 active repos, 0 publiccode.yml, 78 of the 265 non-forks carry neither a description nor a star - mostly WordPress plugins around its Municipio theme. Index tier would add real municipal software (Municipio) and a lot of plumbing; worth it only with a filter rule written for WordPress plugin repos, reviewed like the iMio rules were."
  },
  {
   "country": "BE",
   "flag": "\ud83c\udde7\ud83c\uddea",
   "name": "ICT ReUse (Belgian social security)",
   "url": "https://www.ict-reuse.be/fr",
   "status": "no-code",
   "detail": "An INNER-SOURCE catalogue, not an open source one: ~36 reusable components for Belgian social-security institutions, mostly shared services and APIs (archiving-as-a-service, CSAM login, address lookup). Where code is linked it is git.smals.be, which does not resolve publicly, and repo.ict-reuse.be, a login page. Checked 2026-09-22."
  },
  {
   "country": "FR",
   "flag": "\ud83c\uddeb\ud83c\uddf7",
   "name": "Adullact forge (gitlab.adullact.net)",
   "url": "https://gitlab.adullact.net",
   "status": "bot-protected",
   "detail": "Behind an Anubis proof-of-work challenge: the first API call returned JSON, every later one an HTTP 200 'Making sure you're not a bot!' page. Solving it is not on the table, as with Spain's CTT. Low loss: Adullact's Comptoir du Libre (780 entries) is already used as the identity crosswalk. The legitimate route is asking Adullact to allowlist the harvester. Checked 2026-09-22."
  },
  {
   "country": "ES",
   "flag": "\ud83c\uddea\ud83c\uddf8",
   "name": "Forja RedIRIS",
   "url": "https://forja.rediris.es/",
   "status": "broken",
   "detail": "forja.rediris.es has no DNS record, and RedIRIS's services page does not mention a forge. Academic, not public administration, even when it existed. Checked 2026-09-22."
  },
  {
   "country": "global",
   "flag": "\ud83c\udf10",
   "name": "OW2 (gitlab.ow2.org)",
   "url": "https://gitlab.ow2.org",
   "status": "different-shape",
   "detail": "An industry consortium's forge, not a government catalogue: 1,824 projects, no publiccode.yml, dominated by upstream mirrors (Rocket.Chat 211, Bonita 103) and EU research projects. The government-relevant parts - GLPI, Sympa, Centreon - already arrive via SILL. One gap it exposes: Lutece, the City of Paris portal framework (482 repos), is in no catalogue harvested here."
  },
  {
   "country": "SE",
   "flag": "\ud83c\uddf8\ud83c\uddea",
   "name": "Swedish open-data community wiki catalogue",
   "url": "https://gitlab.com/open-data-knowledge-sharing/wiki/-/wikis/Katalog-%C3%B6ver-%C3%B6ppen-programvara-inom-offentlig-sektor",
   "status": "retired",
   "detail": "Superseded: the page says it has been replaced and that offentligkod.se is no longer updated from it. It was Offentligkod's upstream, and Offentligkod is already ingested. Checked 2026-09-22."
  },
  {
   "country": "MD",
   "flag": "\ud83c\uddf2\ud83c\udde9",
   "name": "OpenCode Moldova",
   "url": "https://opencode.md/en/registry/",
   "status": "needs-research",
   "detail": "\"Registry of Open Source Solutions\" - a real national portal covering DPGs, open licences, approved git repositories and requirements for open source solutions. But it is WordPress with only stock post types (no custom solutions type in /wp-json/wp/v2/types) and the registry page contains zero repository links, so what is published looks like policy and guidance rather than a structured software list. Worth a closer read before writing off - it would be a new country."
  },
  {
   "country": "FR",
   "flag": "\ud83c\uddeb\ud83c\uddf7",
   "name": "Comptoir du Libre (crosswalk)",
   "url": "https://comptoir-du-libre.org/api/v1/softwares.json",
   "status": "ready",
   "detail": "Not a national catalogue but a CROSSWALK, and an open one: 780 entries in a single JSON with url_repository, wikidata, sill, cnll, framalibre and wikipedia ids on the same row. Would improve dedupe rather than add coverage - it maps SILL ids to Wikidata QIDs to repo URLs, which is exactly the identity resolution this catalogue does by hand."
  },
  {
   "country": "n/a",
   "flag": "\u26a0",
   "name": "UNODC GlobE \"Directory of Open-Source Registries\"",
   "url": "https://globenetwork.unodc.org/globenetwork/en/directory-of-open-source-registries/index.html",
   "status": "false-lead",
   "detail": "NOT about open-source software. GlobE is UNODC's Global Operational Network of Anti-Corruption Law Enforcement Authorities, and \"open-source registries\" here means open-source INTELLIGENCE - publicly available official records such as company and beneficial-ownership registries. Its stated purpose: \"Information from open-source registries is useful for anti-corruption law enforcement authorities... collected by investigators and prosecutors without the need of a formal mutual legal assistance request.\" Recorded because it surfaced in a software-catalogue search and reads plausibly relevant from the title alone."
  },
  {
   "country": "NL",
   "flag": "\ud83c\uddf3\ud83c\uddf1",
   "name": "Dutch OSS register (api.developer.overheid.nl)",
   "url": "https://api.developer.overheid.nl/oss-register/v1",
   "status": "ready",
   "detail": "A real register, and the one source here that is blocked only by paperwork: every read returns 401 without an x-api-key, and a key has not been requested. Not urgent - the Dutch CODE PLATFORM at code.overheid.nl is harvested and needs no key, and is arguably the better source anyway (first-hand repositories rather than a register of pointers). Recorded here because it was previously visible only as a '0 records' warning on the status page; when that page merged into this one the warning had nowhere to live, and a known gap with no home is a gap that gets forgotten."
  }
 ],
 "sources": [
  {
   "name": "FR/sill",
   "count": 670
  },
  {
   "name": "IT/developers-italia",
   "count": 537
  },
  {
   "name": "DE/openCode",
   "count": 464
  },
  {
   "name": "DK/os2",
   "count": 298
  },
  {
   "name": "GLOBAL/dpg",
   "count": 254
  },
  {
   "name": "BE/iMio",
   "count": 236
  },
  {
   "name": "NL/code.overheid.nl",
   "count": 198
  },
  {
   "name": "BG/governmentbg",
   "count": 193
  },
  {
   "name": "SE/offentligkod",
   "count": 167
  },
  {
   "name": "CH/swiss",
   "count": 164
  },
  {
   "name": "DE/opensource.muenchen.de",
   "count": 142
  },
  {
   "name": "PT/arte",
   "count": 92
  },
  {
   "name": "CA/code.open.canada.ca",
   "count": 67
  },
  {
   "name": "TW/code.gov.tw",
   "count": 57
  },
  {
   "name": "FI/avoinkoodi",
   "count": 54
  },
  {
   "name": "SE/digg",
   "count": 44
  },
  {
   "name": "FR/awesome-codegouvfr",
   "count": 19
  },
  {
   "name": "EU/code.europa.eu",
   "count": 11
  },
  {
   "name": "IE/ogcio",
   "count": 5
  }
 ],
 "licences_spdx": [
  {
   "id": "EUPL-1.2",
   "count": 456
  },
  {
   "id": "MIT",
   "count": 391
  },
  {
   "id": "Apache-2.0",
   "count": 299
  },
  {
   "id": "AGPL-3.0-or-later",
   "count": 191
  },
  {
   "id": "GPL-2.0",
   "count": 142
  },
  {
   "id": "GPL-3.0-or-later",
   "count": 92
  },
  {
   "id": "AGPL-3.0-only",
   "count": 91
  },
  {
   "id": "GPL-3.0",
   "count": 84
  },
  {
   "id": "MPL-2.0",
   "count": 83
  },
  {
   "id": "GPL-2.0-only",
   "count": 72
  },
  {
   "id": "AGPL-3.0",
   "count": 72
  },
  {
   "id": "BSD-3-Clause",
   "count": 62
  },
  {
   "id": "GPL-3.0-only",
   "count": 57
  },
  {
   "id": "GPL-2.0-or-later",
   "count": 40
  },
  {
   "id": "NOASSERTION",
   "count": 38
  },
  {
   "id": "CC-BY-4.0",
   "count": 32
  },
  {
   "id": "GPL",
   "count": 30
  },
  {
   "id": "CC-BY-SA-4.0",
   "count": 28
  },
  {
   "id": "CC0-1.0",
   "count": 21
  },
  {
   "id": "LGPL-3.0-only",
   "count": 20
  },
  {
   "id": "LGPL-3.0",
   "count": 14
  },
  {
   "id": "LGPL",
   "count": 10
  },
  {
   "id": "0BSD",
   "count": 10
  },
  {
   "id": "BSD-2-Clause",
   "count": 10
  },
  {
   "id": "MIT-0",
   "count": 9
  },
  {
   "id": "LGPL-3.0-or-later",
   "count": 8
  },
  {
   "id": "BSD",
   "count": 8
  },
  {
   "id": "GPL3",
   "count": 8
  },
  {
   "id": "GNU",
   "count": 7
  },
  {
   "id": "LGPL-2.0-only",
   "count": 6
  },
  {
   "id": "EUPL",
   "count": 6
  },
  {
   "id": "CC-BY-NC-SA-4.0",
   "count": 5
  },
  {
   "id": "LGPL-2.1-only",
   "count": 5
  },
  {
   "id": "Apache",
   "count": 5
  },
  {
   "id": "CECILL-B",
   "count": 5
  },
  {
   "id": "EPL-2.0",
   "count": 4
  },
  {
   "id": "AGPL",
   "count": 4
  },
  {
   "id": "LGPL-2.0-or-later",
   "count": 4
  },
  {
   "id": "LGPL-2.1",
   "count": 4
  },
  {
   "id": "EPL",
   "count": 3
  },
  {
   "id": "EUPL-1.2-or-later",
   "count": 3
  },
  {
   "id": "agpl-3.0",
   "count": 3
  },
  {
   "id": "CPL-1.0",
   "count": 3
  },
  {
   "id": "EPL-1.0",
   "count": 3
  },
  {
   "id": "BSD-3-Clause-Modification",
   "count": 3
  },
  {
   "id": "AGPL-1.0-or-later",
   "count": 3
  },
  {
   "id": "BSD-3-Clause-Clear",
   "count": 2
  },
  {
   "id": "EUPL-1.1",
   "count": 2
  },
  {
   "id": "CC-BY-NC-SA-3.0",
   "count": 2
  },
  {
   "id": "OdbL-1.0",
   "count": 2
  },
  {
   "id": "LGPL-2.1-or-later",
   "count": 2
  },
  {
   "id": "CECILL-2.1",
   "count": 2
  },
  {
   "id": "GPLv2+CPE",
   "count": 2
  },
  {
   "id": "PostgreSQL",
   "count": 2
  },
  {
   "id": "AGPL-3",
   "count": 2
  },
  {
   "id": "FREEWARE",
   "count": 1
  },
  {
   "id": "BSD-3",
   "count": 1
  },
  {
   "id": "GPLv3.0",
   "count": 1
  },
  {
   "id": "NSP",
   "count": 1
  },
  {
   "id": "OSL-2.0",
   "count": 1
  },
  {
   "id": "other",
   "count": 1
  },
  {
   "id": "PolyForm-Noncommercial-1.0.0",
   "count": 1
  },
  {
   "id": "WTFPL",
   "count": 1
  },
  {
   "id": "AFL-1.1",
   "count": 1
  },
  {
   "id": "NLPL",
   "count": 1
  },
  {
   "id": "EUPL-v1.2",
   "count": 1
  },
  {
   "id": "OSL-3.0",
   "count": 1
  },
  {
   "id": "SSPL",
   "count": 1
  },
  {
   "id": "CC0",
   "count": 1
  },
  {
   "id": "LGPLv2",
   "count": 1
  },
  {
   "id": "LPPL",
   "count": 1
  },
  {
   "id": "LGPL-v2.1-only",
   "count": 1
  },
  {
   "id": "gpl-3.0",
   "count": 1
  },
  {
   "id": "Artistic-2.0",
   "count": 1
  },
  {
   "id": "Freemium",
   "count": 1
  },
  {
   "id": "CC-BY-SA-3.0",
   "count": 1
  },
  {
   "id": "ODC-By-1.0",
   "count": 1
  },
  {
   "id": "OLDAP-2.8",
   "count": 1
  },
  {
   "id": "ODbL",
   "count": 1
  },
  {
   "id": "Freeware",
   "count": 1
  },
  {
   "id": "LGPLv2.1",
   "count": 1
  },
  {
   "id": "Zlib",
   "count": 1
  },
  {
   "id": "OSL-1.0",
   "count": 1
  },
  {
   "id": "XXXXXXXXX",
   "count": 1
  },
  {
   "id": "NPOSL-3.0",
   "count": 1
  },
  {
   "id": "CPA",
   "count": 1
  },
  {
   "id": "X11",
   "count": 1
  },
  {
   "id": "CC-BY-NC-4.0",
   "count": 1
  },
  {
   "id": "Ms-PL",
   "count": 1
  },
  {
   "id": "gnu",
   "count": 1
  },
  {
   "id": "CDDL-1.0",
   "count": 1
  },
  {
   "id": "EULA",
   "count": 1
  },
  {
   "id": "AFL-2.0",
   "count": 1
  },
  {
   "id": "ISC",
   "count": 1
  },
  {
   "id": "GPL-3",
   "count": 1
  },
  {
   "id": "BSD-3.0",
   "count": 1
  },
  {
   "id": "Zimbra-1.3",
   "count": 1
  }
 ],
 "replaces_disclaimer": "CURATED AND PARTIAL. Hand-seeded, not exhaustive, not authoritative. Absence of a mapping is NOT evidence that no replacement exists.",
 "confidence_values": {
  "strong": "like-for-like functional substitute for the common use case",
  "partial": "covers the main use case with real gaps",
  "adjacent": "same domain, different shape - needs a workflow change"
 },
 "kind_values": {
  "software": "replaces the software itself",
  "service": "the paid item is a hosted SERVICE or CONTENT subscription; self-hosting this replaces the software but you still need hosting/content. Drupal does not replace hosting; Moodle does not produce training content.",
  "paid-tier": "the paid item is a commercial edition of software that is ALREADY open source. Usually the cheapest win in a procurement review - often no migration at all, just a licence you stop renewing."
 },
 "files": {
  "entries": "/entries.json",
  "meta": "/meta.json",
  "by_product": "/by-product.json",
  "by_category": "/by-category/<category-key>.json",
  "by_country": "/by-country/<ISO-3166-alpha-2>.json (plus EU, GLOBAL)",
  "sources": "/sources.json",
  "status": "/status.json",
  "versioned": "/v1/entries.json"
 },
 "known_gaps": {
  "note": "Absence is a finding: a category with no entries tells a European public-sector audience where the gaps in their own commons are.",
  "no_results_observed_for": [
   "social media scheduling / management",
   "SMS / mass notification platforms",
   "mobile field data collection",
   "digital signage"
  ],
  "not_replaceable_by_software": [
   "managed hosting (Pantheon, WP Engine) \u2014 a CMS does not replace hosting",
   "training content subscriptions (LinkedIn Learning, Pluralsight, GO1) \u2014 an LMS does not produce course content"
  ],
  "unresolved_national_catalogues": [
   "IE",
   "PT",
   "CY"
  ],
  "needs_api_key": [
   "NL"
  ]
 },
 "replaces_seed_orphans": []
}