# Dependencies & Lizenzen

AURA setzt auf native Bibliotheken für Rendering, Fenster, Medien und Laufzeitdienste. Diese Übersicht nennt die im Build festgelegten Versionen und verlinkt die Lizenztexte. Systembibliotheken richten sich nach der Zielumgebung; ein eigener Skia-Build kann das vorkonfigurierte Paket ersetzen.

## Framework-Bibliotheken

Die Modulspalte zeigt, welcher Teil des Frameworks die Bibliothek verwendet. `AURA_WITH_UI`, `AURA_WITH_NET` und `AURA_WITH_SCRIPT` steuern die jeweiligen Gruppen.

| Komponente | Version | Aufgabe | Lizenz / Lizenztext | Modul |
|---|---|---|---|---|
| SDL3 | 3.4.18 | Fenster, Eingabe, GL-Kontext | [zlib](../../downloads/licenses/sdl3.txt) | `UI` |
| Skia / skia-pack | m144-e2e6623374-4 | 2D-Rendering, Text, SVG und Bilder | [BSD-3-Clause + Drittkomponenten](https://skia.googlesource.com/skia/+/refs/heads/main/LICENSE) | `UI` |
| Rive runtime | 0.1.656 | Rive-Animationen | [MIT](../../downloads/licenses/rive.txt) | `UI` |
| libvpx | 1.17.0 | VP9-Video | [BSD-3-Clause](../../downloads/licenses/libvpx.txt) | `UI` |
| libwebm | 1.0.0.32 | WebM-Container / mkvparser | [BSD-3-Clause](../../downloads/licenses/libwebm.txt) | `UI` |
| Nayuki qrcodegen | 1.8.0 | QR-Code-Erzeugung | [MIT](https://github.com/nayuki/QR-Code-generator/blob/v1.8.0/cpp/qrcodegen.cpp) | `UI` |
| libcurl | 8.23.0 | HTTP(S)-Client | [curl](../../downloads/licenses/curl.txt) | `Net` |
| cpp-httplib | 0.64.0 | HTTP(S)-Server | [MIT](../../downloads/licenses/cpp-httplib.txt) | `Net` |
| OpenSSL | System | TLS und Kryptografie | [Apache-2.0 (OpenSSL ≥ 3)](https://openssl-library.org/source/license/) | `Net` |
| zlib | System | Kompression | [Zlib](https://zlib.net/zlib_license.html) | `Core / Net` |
| nlohmann/json | 3.11.3 | JSON hinter AuraJson | [MIT](../../downloads/licenses/nlohmann-json.txt) | `Core` |
| rapidyaml | 0.16.0 | YAML hinter AuraJson | [MIT](https://github.com/biojppm/rapidyaml/blob/v0.16.0/LICENSE.txt) | `Core` |
| pugixml | 1.14 | XML hinter AuraXml | [MIT](../../downloads/licenses/pugixml.txt) | `Core` |
| QuickJS-ng | 0.17.0 | JavaScript-Engine | [MIT](../../downloads/licenses/quickjs-ng.txt) | `Script` |
| Lua | 5.4.9 | Lua-Engine | [MIT](https://www.lua.org/license.html) | `Script` |

Die curl-Lizenz ist eine eigene permissive Lizenz. Die Apache-2.0-Angabe für OpenSSL gilt ab Version 3; bei einem älteren System-OpenSSL gilt dessen mitgelieferter Lizenztext.

## Optionale Komponenten

| Komponente | Version | Aufgabe | Lizenz / Lizenztext | Modul |
|---|---|---|---|---|
| libheif | ≥ 1.14 (System) | HEIF/HEIC-Bilder | [LGPL-3.0-or-later](https://github.com/strukturag/libheif/blob/master/COPYING) | `AURA_WITH_HEIF` |
| libde265 | System / Decoder-Plugin | HEVC-Decoder für libheif | [LGPL-3.0-or-later](https://github.com/strukturag/libde265/blob/master/COPYING) | `HEIF` |
| CEF / Chromium | 156.0.14 / Chromium 156.0.8078.48 | Webseiten im Szenengraph | [BSD-3-Clause + Drittkomponenten](https://github.com/chromiumembedded/cef/blob/master/LICENSE.txt) | `AURA_WITH_WEBVIEW` |

- **HEIF:** `AURA_WITH_HEIF` ist standardmäßig eingeschaltet. CMake sucht `libheif` über pkg-config; fehlt es, wird die Unterstützung deaktiviert. AURA linkt `libheif` dynamisch. Der tatsächlich verwendete Decoder hängt von den installierten libheif-Plugins ab; `libde265` ist der HEVC-Decoder im dokumentierten Setup. Diese Bibliotheken sind LGPL-lizenziert.
- **WebView:** `AURA_WITH_WEBVIEW` ist standardmäßig ausgeschaltet. CEF bringt Chromium und weitere Drittkomponenten mit eigenen Lizenzhinweisen mit. Die CEF-Lizenz allein beschreibt nicht alle Bestandteile der Distribution.

## Text, Codecs und weitere transitive Abhängigkeiten

Skia bringt unter anderem HarfBuzz für Textformung (MIT), ICU für Unicode-Verarbeitung (Unicode-Lizenz) sowie Bild-Codecs und weitere Bibliotheken mit. Umfang und Versionen hängen vom verwendeten skia-pack oder eigenen Skia-Build ab. Für diese Bestandteile gelten ihre jeweiligen Lizenztexte im Skia-Checkout und in der Binärdistribution. Entsprechendes gilt für Plugins, Systembibliotheken und Chromium.

Die Tabelle ist die Übersicht der direkt eingebundenen Bibliotheken, kein vollständiges komponentengenaues SBOM einer bestimmten ausgelieferten Anwendung.

## Tests, Demo und Website

| Komponente | Version | Aufgabe | Lizenz / Lizenztext | Modul |
|---|---|---|---|---|
| doctest | 2.4.11 | Unit-Tests | [MIT](../../downloads/licenses/doctest.txt) | `AURA_TESTS` |
| DejaVu Sans | 2.37 | Galerie, Demo und visuelle Tests | [Bitstream Vera / DejaVu Public Domain](../../downloads/licenses/dejavu.txt) | `Tests / Demo` |
| markdown-it-py | 3.0.0 | Statischer Website-Build | [MIT](https://github.com/executablebooks/markdown-it-py/blob/v3.0.0/LICENSE) | `Website` |
| mdurl | 0.1.2 | URL-Helfer von markdown-it-py | [MIT](https://github.com/executablebooks/mdurl/blob/0.1.2/LICENSE) | `Website` |

Die Demo enthält außerdem ein MIT-lizenziertes Rive-Beispiel aus rive-runtime; Herkunft und Lizenz stehen in `examples/demo/assets/NOTICE`. Das WebM-Testvideo ist ein synthetisches FFmpeg-Testmuster. Die Website selbst benötigt zur Laufzeit keine JavaScript-Bibliothek, keinen CDN-Dienst und keine extern geladenen Schriften. `markdown-it-py` und `mdurl` werden ausschließlich beim Erzeugen der statischen Seiten verwendet.

## Quellen und Stand

Versionen: `cmake/AuraDependencies.cmake`, `cmake/SDL3.cmake`, `cmake/Skia.cmake`, `cmake/Rive.cmake`, `cmake/Video.cmake`, `cmake/Curl.cmake` und `cmake/Cef.cmake`. Lizenztexte wurden mit den lokal verwendeten Quellpaketen und Upstream-Angaben abgeglichen. Lokale Lizenzdownloads sind unveränderte Kopien aus diesen Quellen. Stand: 1. November 2026.
