CS EN SK DE PL
← Impressum

Komponenty open-source

Biblioteki stron trzecich i ich licencje używane w usłudze Protulox.

# Licence knihoven třetích stran

Tento projekt používá následující knihovny a runtime komponenty. Jejich licence umožňují komerční použití; při **redistribuci** softwaru (instalační balíček, zdrojový kód třetím stranám, on‑premise dodávka) zachovej licenční texty a atribuci autorů.

| Knihovna / komponenta | Verze | Licence | Kde / účel | Odkaz na licenci |
|----------------------|-------|---------|------------|------------------|
| d3-contour | 4.x | ISC | `index.html` – izolinie | https://github.com/d3/d3-contour/blob/main/LICENSE |
| jsPDF | 2.5.1 | MIT | `index.html`, `js/pdf.js` – klientský PDF export | https://github.com/parallax/jsPDF/blob/master/LICENSE |
| html2pdf.js | 0.10.1 | MIT | `index.html` – HTML → PDF v prohlížeči | https://github.com/eKoopmans/html2pdf.js/blob/master/LICENSE |
| html2canvas | 1.x (bundled) | MIT | transitivní v `html2pdf.bundle.min.js` | https://github.com/niklasvh/html2canvas/blob/master/LICENSE |
| es6-promise | (bundled) | MIT | transitivní v `html2pdf.bundle.min.js` | https://github.com/stefanpenner/es6-promise/blob/master/LICENSE |
| polygon-clipping | 0.15.7 | MIT | `js/isolines.js`, `js/task-zones.js` | https://github.com/mfogel/polygon-clipping/blob/master/LICENSE |
| tesseract.js | 5.x | Apache-2.0 | `index.html`, `js/batchInput.js` – OCR luxmetru | https://github.com/naptha/tesseract.js/blob/master/LICENSE.md |
| tesseract.js-core | 5.x | Apache-2.0 | `js/batchInput.js` (corePath CDN) | https://github.com/naptha/tesseract.js-core/blob/master/LICENSE |
| Tesseract traineddata (eng) | – | Apache-2.0 | stahuje tesseract.js z CDN / tessdata | https://github.com/tesseract-ocr/tessdata/blob/main/LICENSE |
| OpenCV.js (@techstark/opencv-js) | 4.8.0 | Apache-2.0 | `index.html` – předzpracování OCR | https://opencv.org/license/ |
| JSZip | 3.10.1 | MIT | `js/files.js` – export/import ZIP | https://github.com/Stuk/jszip/blob/main/LICENSE.markdown |
| Tabler Icons | inline SVG | MIT | `index.html`, `js/files.js` – UI ikony | https://github.com/tabler/tabler-icons/blob/main/LICENSE |
| Lucide Icons | inline SVG | MIT | `js/help-icons.js`, `index.html` – tvary ikon v nápovědě a lištách | https://github.com/lucide-icons/lucide/blob/main/LICENSE |
| Flask | ≥3.0 | BSD-3-Clause | Python server, API | https://github.com/pallets/flask/blob/main/LICENSE.txt |
| Werkzeug | (via Flask) | BSD-3-Clause | hash hesel, HTTP stack | https://github.com/pallets/werkzeug/blob/main/LICENSE.txt |
| Jinja2 | ≥3.1 | BSD-3-Clause | e‑mailové šablony, HTML render | https://github.com/pallets/jinja/blob/main/LICENSE.txt |
| Flask-Limiter | ≥3.8 | MIT | `rate_limit.py` | https://github.com/alisaifee/flask-limiter/blob/master/LICENSE.txt |
| python-dotenv | ≥1.0 | BSD-3-Clause | načtení `.env` | https://github.com/theskumar/python-dotenv/blob/main/LICENSE |
| gunicorn | ≥21.0 | MIT | produkční WSGI server | https://github.com/benoitc/gunicorn/blob/master/LICENSE |
| PyJWT | ≥2.12.1 | MIT | JWT autentizace | https://github.com/jpadilla/pyjwt/blob/master/LICENSE |
| Playwright (Python) | ≥1.40 | Apache-2.0 | `services/pdf_export.py` – render PDF z HTML | https://github.com/microsoft/playwright-python/blob/main/LICENSE |
| Chromium (via Playwright) | (runtime) | multi (BSD/LGPL/…) | `playwright install chromium` – headless prohlížeč | https://chromium.googlesource.com/chromium/src/+/HEAD/LICENSE |
| pypdf | ≥6.9.2 | BSD-3-Clause | merge PDF, patičky, TOC, vodoznaky | https://github.com/py-pdf/pypdf/blob/main/LICENSE |
| pypdfium2 | ≥4.0 | BSD-3-Clause | rasterizace stránek PDF příloh | https://github.com/pypdfium2-team/pypdfium2/blob/main/LICENSES/BSD-3-Clause.txt |
| reportlab | ≥4.0 | BSD-like (RPSL) | overlay PDF (vodoznaky, patičky, přílohy) | https://www.reportlab.com/dev/documentation/opensource/license/ |
| Pillow | ≥10.0 | HPND | OCR, obrázky, vodoznaky | https://github.com/python-pillow/Pillow/blob/main/LICENSE |
| pytesseract | ≥0.3.10 | Apache-2.0 | Python wrapper pro OCR | https://github.com/madmaze/pytesseract/blob/master/LICENSE |
| Tesseract OCR (binárka) | – | Apache-2.0 | `routes/ocr.py` – systémový balík | https://github.com/tesseract-ocr/tesseract/blob/main/LICENSE |

## Externí služby (ne open-source licence)

Tyto služby nejsou knihovnami v repozitáři; vztah se řídí smluvními podmínkami poskytovatele:

| Služba | Kde | Poznámka |
|--------|-----|----------|
| Paddle.js | `js/main-account-bootstrap.js` | platební brána – ToS Paddle |
| Plausible | `js/analytics.js`, landing (volitelně) | **nyní neaktivní** – načte se jen při `PLAUSIBLE_DOMAIN` v `.env` |
| ProfitWell | jen CSP v `index.html` | v kódu se nenačítá |

## Poznámky

- Frontendové skripty jsou načítány z CDN (jsDelivr, esm.sh) nebo mohou být v budoucnu servírovány z vlastního zdroje. Licence se vztahuje na zdrojový kód knihoven bez ohledu na způsob doručení.
- Fonty v UI: pouze systémový stack (`system-ui`, Segoe UI, Roboto…), bez embedovaných souborů `.woff`/`.ttf`.
- Vlastní ikony v `/icons/` jsou obsahem Protulox (viz kořenový `LICENSE`).

## Musí být seznam veřejně viditelný?

**Ne nutně.** U permisivních licencí (MIT, BSD, Apache, ISC, HPND) pro **SaaS**, kde uživatelům **nedistribuuješ** zdrojový kód ani instalační balíček aplikace, stačí mít licenční informace **k dispozici** (repozitář, interní dokumentace, případně stránka „Právní informace“). Povinnost uvádět copyright notice a licenční texty je nejsilnější při **redistribuci** (prodej/on‑premise dodávka, open‑source release, bundlování knihoven do stažitelného produktu).

Složka `licenses/` je v aplikaci **záměrně neveřejná** (blokovaná ve `routes/static_routes.py`). Veřejný přehled je na **`/opensource`** (odkaz z `/legal`). Není to technicky nutné pro běžný provoz webové služby, ale je to dobrá praxe.

Při přidání nové závislosti třetí strany ji doplň do tabulky výše.