Skip to content

docs(license): PyMuPDF nicht als optional ausweisen, Lizenz nennen (D-20261107-002) - #16

Merged
lukisch merged 1 commit into
masterfrom
docs/license-statements-d20261107-002
Nov 7, 2026
Merged

lukisch merged 1 commit into
masterfrom
docs/license-statements-d20261107-002

Conversation

@lukisch

@lukisch lukisch commented Nov 7, 2026

Copy link
Copy Markdown
Collaborator

Zweck

Umsetzung des Entscheids D-20261107-002 (Ticket T-20261031-411493180): Die Lizenzangaben der vier Dokument-Apps werden je Repo gleich und ehrlich. Das ist keine Lizenzänderung (AGPL-3.0 bleibt; kein Tag, kein Release, keine Store-Einreichung).

Änderung (2 Zeilen)

THIRD_PARTY_LICENSES.md und THIRD_PARTY_LICENSES.txt führten PyMuPDF unter „Direct runtime requirements“ als „Optional PDF extraction“, obwohl pyproject.toml PyMuPDF unter dependencies deklariert und das Paket es mitinstalliert. Der Import im Quelltext ist abgesichert (HAS_FITZ), das macht die Abhängigkeit in den Metadaten nicht optional. Die Zeile nannte außerdem die Lizenz nicht, die ProFiler zur AGPL-3.0 macht („geerbt“ von PyMuPDF; Befund F1 des Entscheids: „PyMuPDF optional“ stimmt für den deklarierten Stand nicht).

Jetzt: deklarierte Abhängigkeit (Import abgesichert, in den Metadaten nicht optional), Lizenz AGPL-3.0 oder Artifex-Kommerzlizenz, von ProFiler unter AGPL-3.0 genutzt. Sonst nichts.

Bewusst nicht geändert

  • Variante: Die Angaben „AGPL-3.0-only“ (README in 6 Sprachen, pyproject.toml, store_package.json, llms.txt; durch tests/test_security_license_contract.py und tests/test_store_materials.py festgeschrieben) stehen im Widerspruch zum „or later“-Hinweis im LICENSE-Anhang und im App-Info-Dialog (Profiler_Suite_V15.py). Das ist eine eigene Lizenzentscheidung und läuft über ein eigenes Nutzer-Ticket.
  • GitHub erkennt die Lizenz bereits als agpl-3.0; LICENSE, NOTICE, Store-Listings sind unverändert.

Prüfung

tests/test_metadata.py, tests/test_security_license_contract.py, tests/test_store_materials.py: 60 passed. Reine Textänderung, kein roter Test möglich.

Sperrstand: lock_scan --check-dir auf Klon und Worktree Exit 0 (twin ok), controlcenter_check_lock CLEAR (Voraussetzung war der Neuaufbau des Zwillingsindex am 2026-11-07).

Merge nach der Zwei-Instanzen-Regel durch eine andere Instanz.

🤖 Generated with Claude Code

https://claude.ai/code/session_01THB2EysTVQFXz5moenpBvW

…(THIRD_PARTY_LICENSES)

Umsetzung D-20261107-002 (Ticket T-20261031-411493180): Lizenzangaben je Repo
gleich und ehrlich. Keine Lizenzaenderung, keine Variantenaenderung.

THIRD_PARTY_LICENSES.md und .txt fuehrten PyMuPDF unter "Direct runtime
requirements" als "Optional PDF extraction", obwohl pyproject.toml PyMuPDF in
dependencies deklariert und das Paket es mitinstalliert. Der Import im Quelltext
ist abgesichert (HAS_FITZ); das macht die Abhaengigkeit nicht optional. Die Zeile
nannte ausserdem die Lizenz nicht, die ProFiler AGPL-3.0 macht.

Jetzt: deklarierte Abhaengigkeit (Import abgesichert, in den Metadaten nicht
optional), Lizenz AGPL-3.0 oder Artifex-Kommerzlizenz, von ProFiler unter
AGPL-3.0 genutzt. Sonst nichts geaendert.

Nicht angefasst: die Variantenangaben ("AGPL-3.0-only" in README, pyproject,
store_package.json, llms.txt; "or later" im App-Info-Dialog und im
LICENSE-Anhang). Das ist eine eigene Lizenzentscheidung.

Geprueft: tests/test_metadata.py, test_security_license_contract.py,
test_store_materials.py -> 60 passed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01THB2EysTVQFXz5moenpBvW
@github-actions

github-actions Bot commented Nov 7, 2026

Copy link
Copy Markdown

Welcome! 👋 Thanks for your first pull request in this repository.

A maintainer will review it soon. Please make sure:

  • Your changes are tested
  • Documentation is updated if needed
  • The PR description explains what and why

Thanks for contributing!

@lukisch
lukisch merged commit a63ae05 into master Nov 7, 2026
7 checks passed
@lukisch

lukisch commented Nov 7, 2026

Copy link
Copy Markdown
Collaborator Author

Independent review at 82b853c, from a session that is not the author. Merged (squash). The corrected line matches the declared state: pyproject.toml lists PyMuPDF>=1.23.0 under dependencies, and Profiler_Suite_V15.py only guards the import (HAS_FITZ). PyMuPDF is no longer listed as optional anywhere, including the "Optional and development requirements" section. Both files change in one line each; line endings and encoding are unchanged, and the licence variant is untouched. test_metadata, test_security_license_contract and test_store_materials give 60 passed locally; the smoke job runs the full pytest suite and is green, as are all other checks. Independent review by Claude Opus 5.5 (claude-opus-5-5); posted with the owner's account, so this is a comment, not a formal review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant