feat: Change license from MIT to Apache-2.0

- Added LICENSE.md file with Apache License 2.0 text.
- Created NOTICE file for attribution of third-party components.
- Updated README.md to reflect the new license and included details about the Apache-2.0 license.
- Documented the license change in the diary entry for July 12, 2026.
- Updated installation instructions in getting-started.md to reflect per-user installation.
- Added reusable license header to all source files.
- Updated various documentation files to mention the new Apache-2.0 license.
- Changed legal mentions in example content to reflect the new license.
This commit is contained in:
2026-07-12 19:29:20 +02:00
parent 7065c0773c
commit eb098f9ff3
26 changed files with 501 additions and 151 deletions
+20 -6
View File
@@ -13,12 +13,15 @@ JavaScript-Framework.
```bash
git clone <repo> build_webstatic
cd build_webstatic
./install.sh # klont nach /opt/GitCover/webstatic (Default: Clone-Modus)
./install.sh # per-user: ~/.local/share/GitCover/webstatic (Default, Betatester)
```
Der Clone-Modus legt ein echtes Git-Repo in `/opt/GitCover/webstatic` an, sodass
spätere Updates via `git pull` (mit `git stash`/`git stash pop` für lokale
Anpassungen) möglich sind. Alternativ `WEBSTATIC_INSTALL_MODE=copy ./install.sh`
für eine reine Binary-Kopie. Nach der Installation ist `webstatic` im PATH verfügbar.
Die **per-user Betatester-Installation** (Default) legt ein echtes Git-Repo unter
`~/.local/share/GitCover/webstatic` an und setzt den Launcher `~/.local/bin/webstatic`.
Updates erfolgen ohne `sudo` via `webstatic update` (stash/pull/merge/rebuild —
Hermes-Konzept). Eine optionale **System-Installation** (root) unter
`/opt/GitCover/webstatic` ist via
`WEBSTATIC_INSTALL_DIR=/opt/GitCover/webstatic WEBSTATIC_BIN_DIR=/usr/local/bin ./install.sh`
möglich. Nach der Installation ist `webstatic` im PATH verfügbar.
## 3. Neue Website anlegen
```bash
@@ -56,16 +59,27 @@ Ihr Inhalt …
- Sprachvarianten: `02-start.de.md` (Default), `02-start.en.md`, `02-start.vi.md`
(fehlende Sprache fällt auf `.de.md` zurück).
> **Wichtig — Titel/Eyebrow erscheinen NICHT automatisch als Überschrift.**
> `title` und `eyebrow` aus dem Frontmatter speisen nur `<title>`/Meta (SEO) und
> die Navigations-Labels. webstatic stellt **kein** `{{ title }}`/`{{ eyebrow }}`
> Seitentoken bereit. Tragen Sie Eyebrow + Titel daher **selbst im Body** der
> jeweiligen Markdown-Datei ein (z. B. als `<p class="eyebrow">…</p>` +
> `<h1>…</h1>`), sonst fehlen die sichtbaren Überschriften auf der Seite.
## 5. Bauen & Vorschau
```bash
webstatic build --env development # localhost:8000
webstatic serve --port 8000 # lokaler Server (Strg+C beendet)
```
Die client-seitige Volltextsuche (Pagefind) wird im Post-Build erzeugt, sofern
Node.js vorhanden ist. Mit `"pagefind": false` in `webstatic.json` wird sie
komplett deaktiviert (Such-Toggle im Chrome dann nicht funktional) — nützlich,
wenn eine Site keinen Index benötigt.
## 6. Veröffentlichen
| Ziel | Befehl |
|------|--------|
| Development (lokal, work/preview/review) | `webstatic build --env development` |
| Development (lokal; `--preview`/`--work`/`--review` = `development`) | `webstatic build --env development` |
| Staging | `webstatic build --env staging` |
| Production | `webstatic build --env deploy` |
+84
View File
@@ -0,0 +1,84 @@
# Lizenz-Header & NOTICE — wiederverwendbare Bausteine
**Lizenz:** Apache-2.0 (`LICENSE.md`). Bewusst gewählt statt MIT, weil der Builder
an vielen Stellen patentrelevante Logik implementiert. Apache-2.0 bietet eine
**explizite Patentlizenz** (§3) sowie eine **Retorsionsklausel** (die
Patentlizenz erlischt, sobald jemand Patentklage wegen dieser Software erhebt) —
der Schutz gegen Patent-Trolle, den MIT nicht leistet.
Diese Datei enthält die Bausteine, die **immer in gleicher Form** eingebunden
werden (Quelldatei-Header + `NOTICE`). Bei Änderungen hier auch `LICENSE.md`,
`NOTICE`, `csproj` (`PackageLicenseExpression`) und die Doc-Verweise pflegen.
---
## 1. Quelldatei-Header (kompakt, empfohlen)
Form: **Copyright + Author + SPDX-Identifier**. Kompakt, maschinenlesbar, sachlich korrekt.
`Copyright` nennt den Rechteinhaber (GitCover Commons gUG (haftungsbeschränkt) (haftungsbeschränkt)), `Author` den Entwickler (Axel Druschel).
In jede `.cs`-Datei **ganz oben** (vor `using`/Namespace):
```csharp
// Copyright 2026 GitCover Commons gUG (haftungsbeschränkt)
// Author: Axel Druschel
// SPDX-License-Identifier: Apache-2.0
```
## 2. Quelldatei-Header (vollständiges Apache-Boilerplate)
Alternative, falls ein Reviewer das kanonische Apache-Format bevorzugt:
```csharp
// Copyright 2026 GitCover Commons gUG (haftungsbeschränkt)
// Author: Axel Druschel
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
```
## 3. NOTICE-Datei (Repo-Root, Pflicht bei Apache-2.0)
Inhalt der `NOTICE` im Repository-Root (Attribution der Dritt-Komponenten;
der Text hier ist identisch mit der committeten `NOTICE`):
```
GitCover.WebStaticBuilder
Copyright 2026 GitCover Commons gUG (haftungsbeschränkt)
This product includes software developed by GitCover Commons gUG (haftungsbeschränkt)
(https://gitcover.org).
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this product except in compliance with the License. A copy of the
License is provided in the file LICENSE.
Third-party components distributed with this product:
- Markdig (BSD-2-Clause)
https://github.com/xoofx/markdig
- YamlDotNet (MIT)
https://github.com/aaubry/YamlDotNet
The above components retain their respective licenses; their license texts
and notices are reproduced in the documentation and source distributions.
```
---
## Hinweise
- **SPDX** (`SPDX-License-Identifier`) wird von GitHub, NuGet, dotnet und den
meisten Scanner erkannt — der kompakte Header (Block 1) genügt rechtlich.
- Bei **Abänderung** von Dateien verlangt Apache-2.0 §4(b) einen hinweisenden
Vermerk („Changed files" / Changelog). Der Header selbst bleibt unverändert.
- `NOTICE` muss bei Weitergabe (Distribution) erhalten bleiben (§4(d)).
- Dritt-Komponenten: `Markdig` (BSD-2), `YamlDotNet` (MIT) — beide mit
Apache-2.0 verträglich; ihre Lizenztexte in `NOTICE` geführt.