Files
breakpilot-lehrer/.claude/rules/open-source-policy.md
Benjamin Boenisch e22019b2d5 Add CLAUDE.md, MkDocs docs, .claude/rules
- CLAUDE.md: Comprehensive documentation for Lehrer KI platform
- docs-src: Klausur, Voice, Agent-Core, KI-Pipeline docs
- mkdocs.yml: Lehrer-specific nav with blue theme
- docker-compose: Added docs service (port 8010, profile: docs)
- .claude/rules: testing, docs, open-source, abiturkorrektur, vocab-worksheet, multi-agent, experimental-dashboard

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 00:49:25 +01:00

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