# Ліцензії та атрибуція джерел даних

Матриця умов, на яких AlertsEU бере дані: що каже саме джерело, якого підпису воно вимагає і чи можна передавати
його дані далі — у наших Atom-фідах, читабельному JSON і Markdown-зведенні ([api.md](api.md)).

Навіщо окремий документ. Умови були розкидані по шапках конекторів і README, частина з них записана з пам'яті
(«вільне використання з посиланням»), а фіди й API — це вже не показ на власному сайті, а передача чужих даних
третім особам: там помилка в умовах стає порушенням від нашого імені. Тут одне місце, де видно, що перевірено
на сайті джерела, а що ні.

Цей самий файл під час збирання копіюється на сайт як `/licences.md` (`tools/site/build-head.mjs`), на нього веде
сторінка `/about`. Стислий англійський відбиток для машин — `SOURCE_INFO` у
[services/ingest/src/syndication.ts](../services/ingest/src/syndication.ts) (блок `attribution` у `api/active.json`,
таблиця джерел у `/llm.md`); для людей — таблиця «Licences and attribution» на `/about`.

**Як читати стовпець «Перевірено».** «Так» — формулювання взято з тексту самого джерела (сторінка умов, поле
ліцензії у фіді чи відповіді API) 4 жовтня 2026 року; поруч сказано, звідки саме. «Ні» — умов на сайті джерела
знайти або прочитати не вдалося; тоді в стовпці «Ліцензія» стоїть те, що записано в коді чи README, з позначкою
**не перевірено**, і покладатися на це як на дозвіл не можна. Це інженерна звірка, а не юридичний висновок.

## 1. Джерела подій

«Далі» в останньому стовпці означає: чи потрапляють події джерела у фіди, `api/active.json`, `api/countries.json`
і `/llm.md`, і на яких умовах це дозволено.

| Конектор | Джерело | Ліцензія за словами джерела | Обов'язкова атрибуція | Передача далі | Перевірено |
|---|---|---|---|---|---|
| `meteoalarm` | MeteoAlarm, погодні попередження національних метеослужб (EUMETNET) | «terms equivalent to CC BY 4.0» **плюс додаткові вимоги до тих, хто передає далі** (див. 1.1) | «EUMETNET – MeteoAlarm», коли дані охоплюють кілька країн; назва національної служби, коли одну; час випуску; посилання на www.meteoalarm.org; обов'язкове застереження про затримки | дозволено за умов 1.1; у фідах — погода від Severe | Так: Terms and Conditions (meteoalarm.org, розділ 5) і поле `<rights>` фіда |
| `fmi` | Фінський метеорологічний інститут, CAP-фід попереджень | CC BY 4.0 | назва інституту, ліцензія, позначка про зміни | дозволено | Так: `<copyright>` у фіді («Licensed under Creative Commons BY 4.0») і сторінка Open data licence |
| `chmu` | ČHMÚ, відкриті дані (CAP) | у коді записано «відкриті дані» — **не перевірено** | невідомо; підписуємо «ČHMÚ» з посиланням | дозволу не підтверджено | Ні: у каталозі opendata.chmi.cz і в документації CAP тексту ліцензії не знайдено |
| `nina` | NINA / MoWaS, BBK (Німеччина) | у коді записано «тексти попереджень без змін, некомерційне використання» — **не перевірено** | «BBK / NINA» з посиланням на warnung.bund.de | заголовок — без змін і з посиланням; опис попередження далі не передається | Ні: сторінки warnung.bund.de складає скрипт, тексту умов прочитати не вдалося |
| `vma` | Sveriges Radio, Viktigt meddelande till allmänheten | для VMA API умов не опубліковано — **не перевірено** | «Sveriges Radio» з посиланням | дозволу не підтверджено | Ні: в описі API (Swagger) ліцензії немає; загальні умови відкритого API SR кажуть лише, що матеріал не можна використовувати на шкоду незалежності й довірі до SR, і чи стосуються вони VMA — не з'ясовано |
| `emsc` | EMSC-CSEM, seismicportal.eu (FDSN event) | для параметрів землетрусів ліцензію не названо; README каже «вільне використання з посиланням» — **не перевірено** | «EMSC-CSEM» з посиланням на seismicportal.eu | дозволу не підтверджено; подаємо лише факти (час, місце, магнітуда) і посилання | Частково: сторінка Terms of Use містить відмову від відповідальності, а CC BY 4.0 оголошує тільки для свідчень відчутності |
| `cems` | Copernicus EMS Rapid Mapping, активації | «free, full and open access» за Регламентом (ЄС) 2021/696; хто поширює дані, мусить назвати джерело | «© European Union, Copernicus Emergency Management Service»; точну форму цитування задають Citation Guidelines — їх **не перевірено** | дозволено з назвою джерела | Так: Terms and Conditions на mapping.emergency.copernicus.eu. У README досі стоїть «CC BY 4.0» — на сторінці умов такого немає |
| `effis` | EFFIS (Copernicus EMS), контури згарищ | CC BY 4.0 для вмісту, що належить ЄС | «© European Union, Copernicus EMS / EFFIS»; позначити зміни (у нас — агрегат по районах) | дозволено | Так: сторінка Data License на forest-fire.emergency.copernicus.eu |
| `gdacs` | GDACS (EC JRC, UN OCHA) | public domain | не вимагається; називаємо GDACS | дозволено | Так: `<copyright>public domain</copyright>` у RSS GDACS; сторінка умов містить лише відмову від відповідальності |
| `firms` | NASA FIRMS (LANCE/ESDIS), термоточки | відкриті дані NASA («full and open sharing of data») | «NASA FIRMS»; у публікаціях — «We acknowledge the use of data from NASA's FIRMS (https://earthdata.nasa.gov/firms), part of NASA's ESDIS» | дозволено; у фідах цих подій немає (Q3) | Так: FAQ FIRMS на earthdata.nasa.gov. LANCE Disclaimer не читали |
| `gpsjam` | gpsjam.org (John Wiseman), добові агрегати перешкод GPS | ліцензії **не опубліковано** | називаємо gpsjam.org; першоджерело — дані ADS-B від airplanes.live і ADS-B Exchange | дозволу немає; публікуємо лише власний підрахунок по країнах, у фідах немає (Q3) | Так, що умов немає: сторінки About і FAQ їх не містять. Умови airplanes.live та ADS-B Exchange — **не перевірено** |
| `mdofficial` | органи влади Молдови (IGSU, поліція, уряд, AAC, прикордонна поліція) | явної відкритої ліцензії сайти не публікують (за шапкою конектора) — **не перевірено** | назва органу й посилання на оригінал | лише заголовок і посилання | Ні |
| `uaalerts` | повітряні тривоги України через API alerts.in.ua; без токена — публічні дзеркала | ліцензії немає; діють правила API: ліміт запитів, для публічних сервісів — лише через власний сервер, токен не розкривати, «не використовуйте API для критичної інфраструктури» | не вимагається; називаємо alerts.in.ua з посиланням | з жовтня 2026 Україна — країна покриття: тривоги в `api/active.json`, `countries.json` і `/llm.md`; у фіди потрапляють за загальним правилом (Q1, клас air) | Так для API (devs.alerts.in.ua). Дзеркала vadimklimenko.com та ubilling.net.ua — **не перевірено** |
| `uaspill` | розрахункова оцінка AlertsEU на основі alerts.in.ua | власний результат; вхідні дані — як у `uaalerts` | «AlertsEU, за даними alerts.in.ua» | у фідах немає (оцінка, не тривога) | — |
| `news` | RSS новинних видань і агенцій | ліцензії немає: заголовки й тексти — об'єкти авторського права видань; у ЄС діє ще й суміжне право видавців преси (Директива 2019/790, ст. 15), яке не зачіпає лише окремі слова й дуже короткі уривки | назва видання і посилання на оригінал | **ніколи**: далі передаються лише тип події, територія, назва видання й посилання (див. 1.2) | — |
| `ukalerts` | GOV.UK Emergency Alerts | Open Government Licence | «Contains public sector information licensed under the Open Government Licence v3.0»; назвати видавця і сторінку gov.uk/alerts | дозволено, зокрема комерційно | Так: `<rights>` фіда («Released under the Open Government Licence (OGL), citation of publisher and online resource required on reuse») і текст OGL v3.0 |
| `ukfloods` | Environment Agency, попередження про паводки (Англія) | Open Government Licence v3.0 | «this uses Environment Agency flood and river level data from the real-time data API (Beta)» | дозволено | Так: `meta.licence` у відповіді API і довідка API |
| `uksepa` | SEPA Floodline (Шотландія) | у фіді не зазначено — **не перевірено** | «SEPA» з посиланням | дозволу не підтверджено; лише назва зони, рівень і посилання | Ні |
| `ukbgs` | British Geological Survey, землетруси | у фіді не зазначено — **не перевірено** (відкриті набори BGS зазвичай під OGL з підписом «Contains British Geological Survey materials © UKRI») | «British Geological Survey © UKRI» з посиланням | дозволу не підтверджено; лише факти й посилання | Ні |
| `afad` | AFAD (Управління з надзвичайних ситуацій Туреччини), землетруси | відкритої ліцензії не опубліковано — **не перевірено** | «AFAD» з посиланням на deprem.afad.gov.tr | дозволу не підтверджено; лише факти (час, місце, магнітуда) і посилання | Ні: на сайті AFAD умов повторного використання не знайдено |
| `ukelexon` | Elexon BMRS, системні попередження оператора мережі | **не перевірено** | «Elexon BMRS» з посиланням | дозволу не підтверджено; лише факти й посилання, текст дослівно не публікуємо | Ні: сторінка ліцензії BMRS закрита (403) |

Британські конектори (`uk*`) додано в цьому циклі; рядки про них відбивають те, що записано в шапках конекторів,
а для `ukalerts` і `ukfloods` — звірено з джерелом.

### 1.1. MeteoAlarm: що вимагається від того, хто передає дані далі

Terms and Conditions (розділ 5) дозволяють використання й передачу «under terms equivalent to CC BY 4.0» з
додатковими вимогами. Ліворуч — вимога, праворуч — як її виконано.

| Вимога | Стан |
|---|---|
| змінену інформацію передавати разом із тією самою інформацією без суттєвих змін | заголовок попередження наводиться дослівно (у `<summary>` запису фіда, у `title` JSON); наш підпис «тип - територія» стоїть поруч, а не замість |
| дані кількох країн підписувати «EUMETNET – MeteoAlarm» | саме так названо джерело в `SOURCE_INFO`, на `/about`, у фідах і зведенні |
| дані однієї країни підписувати назвою національної служби | **не виконано**: назви служби в події немає, фід країни теж підписаний «EUMETNET – MeteoAlarm» |
| наводити час випуску | `<updated>` і `<published>` запису, `start` і `updated` у JSON |
| інтернет-застосунок мусить посилатися на www.meteoalarm.org | `rel="via"` запису веде на сторінку MeteoAlarm; посилання є на `/about` |
| оперативна передача — у реальному часі: затримка в середньому до 5 хв і ніколи понад 10 хв | джерело опитується раз на 2 хв, фід переписується з наступним снапшотом; сама затримка **не вимірюється**, і під час збою джерела події лишаються у фідах до відновлення |
| опублікувати застереження «Time delays between this website and the www.meteoalarm.org website are possible. For the most up-to-date awareness information as published by the participating National Meteorological and Hydrological Services, please refer to www.meteoalarm.org.» | є на `/about` (обома мовами сторінки), у `<rights>` кожного фіда, у `/llm.md` і в блоці `attribution` читабельного JSON; у вікні «Про сервіс» самого застосунку — **немає** |

### 1.2. Новини: що показується і що не передається

- У застосунку: заголовок, короткий уривок і посилання на оригінал; назва видання — поруч. Довжину уривка
  задає `MAX_DESC` у `services/ingest/src/connectors/news.ts` (зараз 300 символів; суміжне право видавців не
  зачіпає лише «дуже короткі уривки», тож цю межу варто зменшити).
- Далі не передається нічого з тексту видання. У фідах, `api/countries.json`, `/llm.md` і `api/active.json`
  подія з новин — це тип, територія, назва видання й посилання на оригінал; поле `title` для неї порожнє. Це
  перевіряє `syndication.test.ts` (мітки заголовків не можуть з'явитися в жодному похідному файлі).
- Типово подій із новин немає у фідах, серед «значущих» і в `top` країни зовсім — навіть без заголовка
  (`ALERTSEU_FEED_NEWS`, див. [api.md](api.md)).
- Компактний снапшот `/snap/v1/active.json` — формат самого застосунку: заголовки й уривки в ньому є, бо саме
  звідти застосунок їх показує. Він публічний технічно, але не є каналом передачі; `docs/api.md` каже про це прямо.

### 1.3. Описи попереджень

Поле опису (`d` компактного снапшота) у читабельний JSON і фіди не йде для жодного джерела: для NINA умова
«без змін і некомерційно» не підтверджена, а для новин це чужий текст. Заголовки офіційних джерел наводяться
дослівно.

## 2. Мапа, назви, шрифт

| Що | Джерело | Ліцензія | Атрибуція | Перевірено |
|---|---|---|---|---|
| межі країн і районів NUTS3 (зокрема Велика Британія, NUTS 2021) | Eurostat GISCO | README: «© EuroGeographics for the administrative boundaries»; повні умови завантаження GISCO — **не перевірено** | «© EuroGeographics for the administrative boundaries» — на `/about` і у вікні «Про сервіс» | Ні: сторінка GISCO підвантажує текст умов скриптом. Перед будь-яким комерційним використанням умови треба перечитати — вони можуть його обмежувати |
| області України (усі 27 одиниць), регіони стеження Росії й Білорусі, міста | Natural Earth | public domain | не вимагається; називаємо | Так: Terms of Use на naturalearthdata.com |
| відповідність рад і районів Великої Британії | ONS (Office for National Statistics) | зазвичай OGL v3 — **не перевірено** (у метаданих шару ліцензії немає) | «Source: Office for National Statistics» | Ні |
| шрифт Fira Sans і Fira Sans Extra Condensed 4.203 | репозиторій google/fonts (файли Mozilla / Carrois) | SIL Open Font License 1.1, без зарезервованої назви | рядок про авторські права й текст ліцензії їдуть разом зі шрифтом: `apps/web/public/fonts/OFL.txt`, поля name у самих файлах | Так: `OFL.txt` у каталозі шрифту (`tools/site/make-fonts.py` звіряє його SHA-256) |

## 3. Де атрибуція показана

- `/about` (англійською й українською) — таблиця джерел з обов'язковими формулюваннями, застереження MeteoAlarm,
  посилання на цей документ.
- Вікно «Про сервіс» у застосунку (`apps/web/src/about.ts`) — перелік джерел; застереження MeteoAlarm і підписів
  британських джерел там ще немає.
- `api/active.json` → `attribution` — джерело кожної події, назва, адреса й умови.
- Atom-фіди → `<rights>` і `rel="via"` кожного запису.
- `/llm.md` → таблиця «Source health» зі стовпцем умов і примітки наприкінці.

## 4. Коли додається нове джерело

1. Прочитати умови на сайті джерела (сторінка ліцензії, поле `rights`/`copyright`/`licence` у самих даних) і
   дописати рядок сюди — із тим, звідки взято формулювання. Немає умов — так і записати, без «мабуть, відкрите».
2. Додати запис у `SOURCE_INFO` (`syndication.ts`): назва так, як її вимагає джерело, і короткі умови англійською.
3. Якщо джерело вимагає певного тексту підпису — додати його на `/about` (обидві мовні версії) і у вікно
   «Про сервіс».
4. Якщо передача далі не дозволена або не підтверджена — події мають іти у фіди й API лише фактами з посиланням
   на оригінал (як новини) або не йти зовсім.

## 5. Що лишилося зробити

- MeteoAlarm: назва національної служби для подій однієї країни; застереження у вікні «Про сервіс»; замір
  затримки від публікації на MeteoAlarm до появи у фіді.
- Підтвердити умови ČHMÚ, NINA (BBK), Sveriges Radio VMA, EMSC, SEPA, BGS, Elexon, GISCO, ONS і дзеркал тривог
  України — листом до розпорядника, якщо на сайті їх немає.
- README, розділ «Ліцензійні атрибуції»: «CC BY 4.0» для Rapid Mapping і «вільне використання» для EMSC записані
  без підтвердження — узгодити з цією таблицею.
- Уривок новини в застосунку: зменшити `MAX_DESC`.
