feat: Add diary entry for 2026-07-12 covering GCC migration, license change to Apache-2.0, and housekeeping updates

This commit is contained in:
2026-07-12 19:41:59 +02:00
parent 0d121b4c47
commit 086eecd190
2 changed files with 66 additions and 54 deletions
+66
View File
@@ -0,0 +1,66 @@
# Tagebuch 2026-07-12 — GitCover.WebStaticBuilder
## 2026-07-12 — Praxiseinsatz GCC, Lizenzwechsel & Housekeeping
### 1. Praxiseinsatz: gcc.gitcover.org auf webstatic migriert
- Zweite GitCover-Site (nach GCBoK) erfolgreich mit der `webstatic`-CLI gebaut —
validiert den Tool-Workflow (Phase 3/4) unter realen Bedingungen.
- Migration: Python-Build (`build/`, `build-env/`, `*.py`) vollständig entfernt;
Multi-Page-Modell, `*.de.md` autoritativ (DE-Quelle explizit suffixiert), Banner
(`00-banner.*.md`) 1:1 aus gcbok übernommen, Eyebrow + Titel als
`<div class="page-header">` (`.eyebrow--green` + `<h1 class="page-title">`) auf
**allen** Content-Seiten vorangestellt.
- `pagefind: false` in `webstatic.json` → Such-Toggle im Chrome dann nicht funktional
(bewusst, da GCC keinen Volltextindex braucht).
### 2. Wichtige Tool-Erkenntnis (für docs/plans)
- webstatic stellt KEIN `{{ title }}`/`{{ eyebrow }}`-**Seitentoken** bereit.
Frontmatter-`title`/`eyebrow` speisen nur `<title>`/Meta (SEO) und die
Navigations-Labels. Jede Seite muss Eyebrow + Titel **selbst im Body** tragen
(wie gcbok es in der Hero-/`01-`-Datei tut) — Design-Intent, kein Bug.
- Aktive Installation ist die **per-user Betatester-Install** unter
`~/.local/share/GitCover/webstatic` (Launcher `~/.local/bin/webstatic`),
**nicht** `/opt/GitCover/webstatic` (existiert nicht). `plan 01` Fix 1 damit
gegenstandslos; Fixes 27 bereits im Code umgesetzt.
### 3. Lizenzwechsel MIT → Apache-2.0
- **Grund:** Builder implementiert an vielen Stellen patentrelevante Logik; Apache-2.0
bietet explizite **Patentlizenz (§3)** + **Retorsionsklausel** (Patentlizenz erlischt
bei Patentklage) — Schutz gegen Patent-Trolle, den MIT nicht leistet.
- `LICENSE`**`LICENSE.md`** (Apache-2.0-Volltext; kanonischer Dateiname im Repo/Remote).
- Neue **`NOTICE`** (Repo-Root): Attribution `Markdig` (BSD-2), `YamlDotNet` (MIT).
- `csproj`: `PackageLicenseExpression = Apache-2.0`; Description „(OSS, Apache-2.0)".
- Kompakter **SPDX-Header** in alle 12 `.cs`-Dateien
(`// Copyright … // Author … // SPDX-License-Identifier: Apache-2.0`).
- Wiederverwendbarer Baustein + Rationale in `docs/license-header.md`.
- Docs aktualisiert: `README.md`, `AGENTS.md`, `plans/00` §12 + Repo-Struktur,
`.hermes/skills.md`, `webstatic.example/*`.
### 4. Author & Urheberschaft (Korrektur im Tagesverlauf)
- Erst `AFJD` als Author gesetzt, dann korrigiert:
- Quelldatei-Header `Author:` nennt den **Klarnamen Axel Druschel** (Urheber).
- **Git-Identität (commit author)** = Handle **`gc-dev-afjd`** /
**`axel.druschel@gitcover.de`** (nicht der Klarname). Im Repo via
`git config user.name/user.email` vorkonfiguriert, damit künftige Commits stimmen.
- `AGENTS.md` dokumentiert die Trennung (Klarname im Header vs. Git-Handle).
### 5. Copyright-Inhaber formalisiert
- Rechteinhaber heißt zwingend **GitCover Commons gUG (haftungsbeschränkt)**.
Überall angepasst: `LICENSE.md` (Appendix-Platzhalter mit `2026` + vollem Namen
befüllt), `NOTICE`, alle 12 `.cs`-Header, `AGENTS.md`, `docs/license-header.md`.
### 6. Push-Konflikt `LICENSE.md` aufgelöst
- **add/add-Konflikt:** lokal (Commit `eb098f9` „Change license from MIT to Apache-2.0")
und remote (`89f720a`) hatten beide `LICENSE.md` neu hinzugefügt → keine
automatische Merge-Möglichkeit. Übrige Dateien waren sauber gemergt.
- Auflösung: `git checkout --ours LICENSE.md` (Apache-Version behalten,
Konfliktmarker entfernt) → `git add` → Merge abgeschlossen
(`0d121b4`, Author `gc-dev-afjd`) → `git push origin main` erfolgreich
(`89f720a..0d121b4`). Danach lokal = remote, keine Divergenz.
### Status
- Version `1.0.0.0`. Lizenz (Apache-2.0 + NOTICE), Author/Urheberschaft,
Copyright-Inhaber und Dokumentation (diary/plans/docs) konsistent.
- **Offen:** Dev-Repo `/mnt/brx5/work/OSS/build_webstatic` (eigener Checkout,
gleicher Remote) hat lokal noch MIT-`LICENSE.md`; bei Gelegenheit via Pull des
per-user-Clones auf Apache-2.0 + `NOTICE` syncen.