# Lizenzübersicht für DocuMentor

## Verwendete Bibliotheken und ihre Lizenzen

### Python-Abhängigkeiten (aus pyproject.toml)

| Bibliothek | Version | Lizenz | Einschränkungen |
|------------|---------|--------|-----------------|
| **PySide6** | ≥6.9.1 | **LGPL-3.0 ODER GPL-2.0 ODER GPL-3.0** | ⚠️ Copyleft-Lizenz, siehe unten |
| Pydantic | ≥2.9.1 | MIT | ✅ Keine Einschränkungen |
| Pydantic-Settings | ≥2.9.1 | MIT | ✅ Keine Einschränkungen |
| Pydantic-YAML | ≥1.5.1 | MIT | ✅ Keine Einschränkungen |
| Polars | ≥1.31.0 | MIT | ✅ Keine Einschränkungen |
| ConnectorX | (via Polars) | MIT | ✅ Keine Einschränkungen |
| PyArrow | (via Polars) | Apache 2.0 | ✅ Keine Einschränkungen |
| pyqtdarktheme | ≥2.1.0 | MIT | ✅ Keine Einschränkungen |
| Ruff | ≥0.14.8 | MIT | ✅ Keine Einschränkungen (nur Dev) |

### Externe Tools (nicht in Python integriert)

| Tool | Lizenz | Verwendung | Einschränkungen |
|------|--------|------------|-----------------|
| **Saxon-HE** | Mozilla Public License 2.0 (MPL-2.0) | XSLT-Transformationen | ⚠️ Weak Copyleft |
| **Apache FOP** | Apache License 2.0 | PDF-Generierung | ✅ Keine Einschränkungen |
| diff-pdf | GPL-2.0 (vermutlich) | PDF-Vergleich | ⚠️ Nur externes Tool |

---

## Kritische Lizenz: PySide6 (LGPL-3.0)

### Was bedeutet LGPL-3.0 für DocuMentor?

**LGPL (Lesser GNU Public License)** ist eine "schwächere" Version der GPL und wurde speziell für Bibliotheken entwickelt.

#### ✅ Was ist ERLAUBT:
- **Kommerzielle Nutzung** - Du kannst DocuMentor verkaufen
- **Proprietärer Code** - Dein Code muss NICHT Open Source sein
- **Private Nutzung** - Keine Verpflichtungen
- **Dynamisches Linking** - In Python automatisch gegeben (via pip/import)

#### ⚠️ Was ist ERFORDERLICH:
1. **LGPL-Lizenztext beilegen** - Du musst die LGPL-Lizenz mit verteilen
2. **Copyright-Hinweise** - Erwähne PySide6 und Qt in deiner Software
3. **Nutzern Bibliotheks-Austausch ermöglichen** - Bei Python automatisch erfüllt, da:
   - Nutzer können `pip install pyside6==andere-version` ausführen
   - Python-Module sind dynamisch geladen
4. **Änderungen an PySide6 veröffentlichen** - Falls du PySide6 selbst änderst (sehr unwahrscheinlich)

#### ❌ Was ist NICHT erforderlich:
- **Dein eigener Code** muss NICHT unter LGPL stehen
- **Dein Source Code** muss NICHT veröffentlicht werden
- **Deine Änderungen** an DocuMentor müssen NICHT Open Source sein

### Praktische Umsetzung für Python-Anwendungen

Da Python-Pakete über pip installiert werden und dynamisch importiert werden, sind die LGPL-Anforderungen bereits erfüllt:
- ✅ Dynamisches Linking durch `import PySide6`
- ✅ Nutzer können andere PySide6-Versionen installieren
- ✅ Keine statische Kompilierung in Binary

**Fazit:** Du kannst DocuMentor unter praktisch jeder Lizenz veröffentlichen, auch proprietär.

---

## Empfohlene Lizenzen für DocuMentor

### Option 1: MIT License (EMPFOHLEN) ⭐

**Vorteile:**
- ✅ Einfachste und permissivste Lizenz
- ✅ Kompatibel mit LGPL und allen anderen verwendeten Lizenzen
- ✅ Erlaubt kommerzielle Nutzung ohne Einschränkungen
- ✅ Kurz und leicht verständlich
- ✅ Sehr verbreitet in der Open-Source-Community
- ✅ Gleiche Lizenz wie die meisten Dependencies (Pydantic, Polars, etc.)

**Nachteile:**
- Kein Patent-Schutz
- Keine Copyleft-Schutz (andere können proprietäre Forks erstellen)

**Wann verwenden:**
Wenn du maximale Freiheit für Nutzer möchtest und Open Source fördern willst, ohne strenge Bedingungen.

---

### Option 2: Apache License 2.0

**Vorteile:**
- ✅ Kompatibel mit allen Dependencies
- ✅ Expliziter Patent-Schutz
- ✅ Erlaubt kommerzielle Nutzung
- ✅ Professioneller für größere Projekte
- ✅ Gleiche Lizenz wie Apache FOP

**Nachteile:**
- Etwas komplexer als MIT
- Erfordert NOTICE-Datei für Änderungen

**Wann verwenden:**
Wenn du Patent-Schutz möchtest und ein professionelleres Image für Enterprise-Nutzer brauchst.

---

### Option 3: GPL-3.0 (Copyleft)

**Vorteile:**
- ✅ Kompatibel mit PySide6 (gleiche Lizenz)
- ✅ Starker Copyleft-Schutz - Alle Derivate müssen Open Source sein
- ✅ Schützt vor proprietären Forks
- ✅ Für reine Open-Source-Projekte ideal

**Nachteile:**
- ❌ Strenge Copyleft-Anforderungen
- ❌ Nutzer können DocuMentor nicht in proprietäre Software integrieren
- ❌ Weniger flexibel für kommerzielle Nutzung

**Wann verwenden:**
Wenn du sicherstellen willst, dass alle Modifikationen Open Source bleiben.

---

### Option 4: LGPL-3.0

**Vorteile:**
- ✅ Gleiche Lizenz wie PySide6 (konsistent)
- ✅ Schwächerer Copyleft als GPL
- ✅ Erlaubt Verwendung in proprietärer Software

**Nachteile:**
- Komplexere Anforderungen als MIT/Apache
- Weniger verbreitet für Anwendungen (eher für Bibliotheken)

**Wann verwenden:**
Wenn du einen Kompromiss zwischen GPL und MIT möchtest.

---

## Lizenz-Kompatibilitätsmatrix

```
DocuMentor Lizenz → Kompatibilität mit Dependencies

MIT                 ✅ Kompatibel mit allen
Apache 2.0          ✅ Kompatibel mit allen
GPL-3.0             ✅ Kompatibel mit allen
LGPL-3.0            ✅ Kompatibel mit allen
Proprietär          ✅ Kompatibel mit allen (LGPL-Bedingungen beachten)
```

Alle genannten Lizenzen sind mit den verwendeten Bibliotheken kompatibel!

---

## Konkrete Empfehlung

### Für DocuMentor: **MIT License** ⭐

**Begründung:**
1. ✅ Die meisten Dependencies (Pydantic, Polars, pyqtdarktheme) sind MIT-lizenziert
2. ✅ LGPL-3.0 (PySide6) erlaubt die Verwendung in MIT-lizenzierter Software
3. ✅ Maximale Freiheit für Nutzer und Entwickler
4. ✅ Einfach und unkompliziert
5. ✅ Fördert Adoption und Beiträge

---

## Nächste Schritte

### 1. LICENSE-Datei erstellen

Erstelle eine `LICENSE` Datei im Root-Verzeichnis mit dem MIT-Lizenztext:

```
MIT License

Copyright (c) 2025 [Dein Name]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```

### 2. pyproject.toml aktualisieren

```toml
[project]
name = "DocuMentor"
version = "0.1.0"
license = {text = "MIT"}  # Füge diese Zeile hinzu
# ... rest bleibt gleich
```

### 3. Copyright-Hinweise hinzufügen

Füge in jede Quellcode-Datei einen Header ein:

```python
# Copyright (c) 2025 [Dein Name]
# Licensed under the MIT License
```

### 4. THIRD_PARTY_LICENSES.txt erstellen

Erstelle eine Datei, die alle verwendeten Bibliotheken und ihre Lizenzen auflistet:

```
DocuMentor verwendet folgende Open-Source-Bibliotheken:

1. PySide6 - LGPL-3.0 OR GPL-2.0 OR GPL-3.0
   https://www.qt.io/qt-for-python

2. Pydantic - MIT License
   https://github.com/pydantic/pydantic

3. Polars - MIT License
   https://github.com/pola-rs/polars

... (alle weiteren Bibliotheken)
```

---

## Externe Tools (Saxon, Apache FOP)

**Wichtig:** Saxon-HE und Apache FOP sind **externe Programme**, die nicht in DocuMentor eingebettet sind.

- **Saxon-HE**: MPL-2.0 - Du darfst es verwenden, musst aber nicht deine Software unter MPL lizenzieren
- **Apache FOP**: Apache 2.0 - Kompatibel mit MIT

Da diese Tools nur **aufgerufen** werden (nicht eingebettet), hast du keine zusätzlichen Verpflichtungen.

---

## Quellen

- [PySide6 License](https://doc.qt.io/qtforpython-6/licenses.html)
- [Pydantic MIT License](https://github.com/pydantic/pydantic/blob/main/LICENSE)
- [Polars License](https://github.com/pola-rs/polars)
- [PyQtDarkTheme License](https://github.com/5yutan5/PyQtDarkTheme)
- [Apache FOP License](https://xmlgraphics.apache.org/fop/license.html)
- [Saxon License](https://github.com/Saxonica/Saxon-HE)

---

**Stand:** Januar 2025
**Autor:** Lizenzanalyse für DocuMentor
