# Lizenzen Dieses Repo trägt **zwei** Lizenzen. Welche gilt, hängt vom Verzeichnis ab. | Was | Lizenz | Datei | |---|---|---| | `server/`, `web/`, `Tools/`, `docs/` | **GPL-2.0-only** | [`LICENSE`](LICENSE) | | `Halo/`, `HaloTV/`, `HaloTopShelf/`, `HaloUITests/`, `DownloadWidget/`, `Packages/HaloKit/` | **MPL-2.0** | [`LICENSE-MPL-2.0`](LICENSE-MPL-2.0) | ## Warum zweierlei **Der Server steht unter GPL-2.0-only**, derselben Lizenz wie Jellyfin. Damit darf aus deren Quellcode übernommen werden — bei ffmpeg-Argumenten und Empfänger-Ansteuerung spart das echte Wochen. **Die Apps stehen unter MPL-2.0, weil GPL und App Store sich nicht vertragen.** Apple entfernte 2011 VLC aus dem Store, nachdem ein Rechteinhaber sich auf Abschnitt 6 der GPL berufen hatte — „keine weiteren Einschränkungen" gegen Apples Bedingungen zu Gerätezahl und Kopierschutz. MPL-2.0 ist Copyleft je Datei, kennt keine Relink-Pflicht und ist App-Store-tauglich. ## Was das für Beiträge bedeutet **Abhängigkeiten im Server müssen GPL-2.0-verträglich sein: MIT, BSD oder GPL-2.0.** Apache-2.0 ist **ausgeschlossen** — dessen Patentklausel gilt unter GPL-2.0 Abschnitt 6 als „weitere Einschränkung". Ein nennenswerter Teil des .NET-Umfelds steht unter Apache-2.0, deshalb: vor jedem `PackageReference` die Lizenz prüfen und sie im Commit nennen. Dasselbe gilt für Werkzeuge, die nur beim Entwickeln laufen. Das Testwerk ist aus diesem Grund NUnit (MIT) und nicht xUnit (Apache-2.0). **ffmpeg** wird als eigener Prozess aufgerufen und nicht eingebunden. Das hält die Lizenzen getrennt — und erlaubt nebenbei, die Argumente zu protokollieren.