- CLAUDE.md: Comprehensive documentation for core infrastructure - docs-src: Cleaned 316MB junk, kept only markdown docs - mkdocs.yml: Updated nav for core-only content - nginx: Docs proxy targets split (3002->lehrer, 3007->compliance) - docker-compose: Fixed docs port mapping (8009:80), added INSTALL_LOCK - .claude/rules: testing, documentation, open-source-policy, night-scheduler Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
Open Source Policy
Lizenzprüfung (AUTOMATISCH BEI JEDER DEPENDENCY)
Erlaubte Lizenzen ✅
| Lizenz | Typ | Kommerziell OK |
|---|---|---|
| MIT | Permissive | ✅ |
| Apache-2.0 | Permissive | ✅ |
| BSD-2-Clause | Permissive | ✅ |
| BSD-3-Clause | Permissive | ✅ |
| ISC | Permissive | ✅ |
| MPL-2.0 | Weak Copyleft | ✅ |
| LGPL-2.1 / LGPL-3.0 | Weak Copyleft | ✅ (nur linking) |
| CC0-1.0 | Public Domain | ✅ |
| Unlicense | Public Domain | ✅ |
Verbotene Lizenzen ❌
| Lizenz | Grund |
|---|---|
| GPL-2.0 / GPL-3.0 | Copyleft - infiziert Projekt |
| AGPL-3.0 | Network Copyleft - SaaS-Killer |
| SSPL | Server Side Public License |
| BSL | Business Source License |
| "Non-Commercial" | Keine kommerzielle Nutzung |
| "Educational Only" | Nur für Bildung |
| Proprietary | Keine OSS |
Workflow bei neuer Dependency
1. Vor dem Hinzufügen prüfen
# NPM Package
npm view <package> license
# Python Package
pip show <package> | grep License
# Go Module
go-licenses check <module>
2. Bei Unklarheit
- README.md des Projekts lesen
- LICENSE-Datei prüfen
- SPDX-Identifier suchen
- Im Zweifel: NICHT verwenden
3. Nach dem Hinzufügen
SBOM aktualisieren: https://macmini:3002/infrastructure/sbom
# SBOM generieren
cd /Users/benjaminadmin/Projekte/breakpilot-pwa
# Python
pip-licenses --format=json > sbom/python-licenses.json
# Node.js
npx license-checker --json > sbom/node-licenses.json
# Go
go-licenses csv ./... > sbom/go-licenses.csv
Grenzfälle
Dual-Licensed Packages
- Wenn MIT oder GPL angeboten wird → MIT wählen
- Dokumentieren welche Lizenz gewählt wurde
Transitive Dependencies
- Auch indirekte Abhängigkeiten prüfen
npm ls,pip-tree,go mod graph
Fonts & Assets
- Google Fonts: ✅ (OFL)
- Font Awesome Free: ✅ (CC BY 4.0 / OFL / MIT)
- Icons8: ❌ (Attribution required, kompliziert)
Checkliste bei PR/Commit
Wenn neue Dependencies hinzugefügt wurden:
- Lizenz ist in der Whitelist
- SBOM wurde aktualisiert
- Keine GPL/AGPL-Abhängigkeiten eingeschleppt
- Bei Dual-License: MIT/Apache gewählt