Files
breakpilot-core/.claude/rules/open-source-policy.md
Benjamin Boenisch 2498b0eb1f Update CLAUDE.md, MkDocs, nginx docs proxy, .claude/rules
- 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>
2026-02-12 00:49:21 +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