Lizenzierung: MIT License und Dokumentation
Projekt unter MIT License veröffentlicht: - LICENSE-Datei mit MIT-Lizenztext - LICENSES.md mit detaillierter Lizenzanalyse aller Dependencies - THIRD_PARTY_LICENSES.txt mit allen verwendeten Bibliotheken - README.md mit vollständiger Projektdokumentation - pyproject.toml mit Lizenz-Metadaten aktualisiert Lizenz-Übersicht: - PySide6: LGPL-3.0/GPL-2.0/GPL-3.0 (kompatibel mit MIT) - Pydantic, Polars, pyqtdarktheme: MIT - PyArrow: Apache 2.0 - Saxon-HE: MPL-2.0 (externes Tool) - Apache FOP: Apache 2.0 (externes Tool) Keine Einschränkungen durch Dependencies - MIT License möglich. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
+260
@@ -0,0 +1,260 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user