Ліцензії

Код DryRights поширюється за AGPL-3.0-or-later, редакційні тексти — статті, пояснення, гайди — за CC BY 4.0, а фактологічні дані — реєстри джерел, органів, форм — за CC0 1.0 (суспільне надбання). Повний розподіл того, що під якою ліцензією, — нижче.

License coverage map

Rights holder: ФОП Малiборський Вiталiй (Vitalii Maliborskyi), trading as DryRights. Year: 2026.

This repository mixes three kinds of material under three different licenses. This file is the authoritative map of what is covered by what. If a file or directory is not explicitly listed below, the closing rule at the end of this document applies to it — nothing is unlicensed by omission.

Both editorial text and factual data may additionally embed facts that are not copyrightable subject matter at all — see "A note on legal facts" below.


1. AGPL-3.0-or-later — code

Everything under these paths, except where a more specific rule below overrides it:

  • apps/**
  • packages/** (except the CC BY / CC0 / not-covered exceptions listed in sections 2, 3 and 5)
  • scripts/**
  • infra/**
  • Root and per-workspace build/config files: package.json, pnpm-lock.yaml, pnpm-workspace.yaml, tsconfig*.json, eslint.config.js, .prettierrc.json, .editorconfig, .dockerignore, .gitignore, .node-version, .env.example

Additionally, explicitly (see section 4 for why these are called out by name rather than left to the closing rule):

  • artifacts/** — internal pilot-run working materials, not published content. AGPL, not "no license" — see closing rule.
  • docs/** — internal engineering documentation, not published content. AGPL, not "no license" — see closing rule.
  • data/migration/ui-strings.json — application UI/interface copy. Part of the product surface, not editorial content; translating the interface is product work, not authorship of an article.
  • packages/navigator/src/data/rule_registry.json, packages/navigator/src/data/route_templates.json, packages/navigator/src/data/governance_registry.json, packages/navigator/src/data/acceptance_scenarios.json, packages/navigator/src/data/content-gaps.json — machine-readable rule definitions, routing/step-machine configuration, and internal QA/governance tracking. No user-facing prose; short technical labels (rule titles, condition expressions) are not editorial text.
  • data/migration/legal-instruments.jsonsources, documents, expressions arrays — factual metadata about legal instruments (issuing authority, identifier, title). See section 5 for the rest of this file, which is split three ways.

packages/navigator note: this package's committed data (mostly the PDFs in packages/navigator/src/data/legal/, ~16 MB of ~17 MB) outweighs its own code (~1.4 MB) by volume. The "license" field in its package.json still declares AGPL-3.0-or-later because that field describes the package's own code, per npm/SPDX convention — it does not relicense the data files shipped alongside it, which are governed by sections 2, 3 and 5 of this document instead.

2. CC BY 4.0 — editorial text

  • packages/navigator/src/data/content/en-GB/*.md
  • packages/navigator/src/data/content/uk-UA/*.md
  • data/migration/static-pages.json — "trust page" articles (about, methodology, etc.)
  • data/migration/horizon-pages.json — DryRights' own explanatory/grant pages
  • apps/control-plane/data/migration/navigator-pl-status-documents.json — generated Lexical-JSON export of the same guide articles as content/*.md, for control-plane import. CC BY, not CC0: it carries full article prose, not registry facts.
  • packages/navigator/src/data/question_registry.json — user-facing question wording and answer-option labels (uk-UA/en-GB)
  • packages/navigator/src/data/document_card_registry.json — user-facing document-card explanatory fields (name, issuer, confirms, does_not_confirm, validity, how_to_get, if_lost, renewal_replacement)
  • data/migration/legal-instruments.jsontranslations array — DryRights-produced (machine) translations of instrument text. The translation is DryRights' own derivative editorial output, distinct from the untranslated official text in the same file (see section 5).

3. CC0 1.0 — factual reference data

  • packages/navigator/src/data/source_registry.json
  • packages/navigator/src/data/guide_registry.json
  • packages/navigator/src/data/form_registry.json
  • apps/control-plane/data/migration/institutions.json
  • apps/control-plane/data/migration/voivodeship-requisites.json
  • data/migration/legal-instruments.jsonsources, documents, expressions arrays (also listed in section 1 as the AGPL-excluded part of that file — its nature is factual reference, so CC0 is the correct label, not "no license by omission")

4. Internal working material — AGPL by the closing rule, not "unlicensed"

artifacts/** and docs/** are internal working materials, not published content, but per the closing rule at the bottom of this document an unlisted directory does not mean "all rights reserved" — it means the default AGPL-3.0-or-later applies. Listed here explicitly rather than left implicit, at the owner's instruction, precisely so nothing falls through a gap silently.

5. Not covered by any DryRights license — official government text

These files reproduce or embed verbatim text issued by a public authority. Under Polish law (and most jurisdictions' government-works doctrine), official normative/legislative text is generally excluded from copyright protection. DryRights holds no copyright in this material and makes no license claim over it — there is nothing here for AGPL, CC BY or CC0 to grant, because there is no underlying exclusive right.

  • packages/navigator/src/data/legal/*.pdf (17 files) — official Polish Dziennik Ustaw legislative texts (Foreigners Act, Citizenship Act, Administrative Procedure Code, Stamp Duty Act, and others). Source: Dziennik Ustaw (dziennikustaw.gov.pl) / ELI (eli.gov.pl), per the DzU_YYYY_NNNN identifier encoded in each filename; retrieval date not separately tracked per file at this time.
  • data/migration/legal-instruments.jsonunits array (10,653 entries) — verbatim text extracted from official instruments (e.g. ECHR articles, the EU AI Act), keyed by expressionKey/eId back to the documents/ expressions metadata in section 3 of this same file. Same doctrine as the PDFs above: DryRights did not author this text and claims nothing over it.

⚠ This section requires legal review before any funding application (e.g. Horizon Europe) references this repository's licensing. The "government work, no copyright" classification above is DryRights' good-faith engineering assessment, not a legal opinion, and Polish-law provenance should be confirmed source-by-source by counsel before it is relied on externally.

A note on legal facts

Factual legal information — fee amounts, deadlines, the names of competent authorities, references to specific articles of law — is not copyrightable subject matter, and DryRights does not claim it as proprietary, regardless of which file it happens to live in (registry JSON, guide markdown, or a TypeScript literal in a *_domain.ts module). AGPL-3.0-or-later covers DryRights' code — the extraction, structuring, and presentation logic — never the underlying facts about Polish law themselves. Reproducing "the stamp duty for a residence card is 340 PLN" is not something this license restricts, because DryRights does not own that fact in the first place. This distinction matters for how this repository's licensing should be read: it is not an attempt to enclose public legal information, which would run directly counter to what this project exists to do.

6. *_domain.ts — code with embedded facts, still code

packages/navigator/src/*_domain.ts (business, consumer, education, family, healthcare, housing, language, money_tax, problems, procedural_registry, support, transport, work) mix real logic with factual legal data (fees, deadlines, citations) expressed as TypeScript object literals. These files are AGPL-3.0-or-later under section 1's packages/** rule — a fact embedded in a source-code literal does not stop the file around it from being code. See "A note on legal facts" above for why this does not mean the facts themselves are DryRights' property.

Closing rule

Anything in this repository not explicitly listed above is AGPL-3.0-or-later. A new directory added later, or anything this survey missed, defaults to AGPL until someone deliberately re-licenses it here — never to "all rights reserved" by silent omission.

Повний текст GNU AGPL-3.0

Джерело: vitalii/dryrights-content-service@6086bf6, скопійовано 20.09.2026