# 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.