/**
 * Lizenzangaben, die die Anwendung anzeigen muss.
 *
 * Das ist keine Höflichkeit: MIT, BSD und Apache verlangen sämtlich, dass
 * Lizenztext und Urheberrechtsvermerk mitgeliefert werden. Die eigene Software
 * steht unter der EUPL 1.2; der amtliche Fragenkatalog dagegen bekommt bewusst
 * keine Lizenz – er ist ein amtliches Werk und wird nur mit Quellenangabe
 * unverändert wiedergegeben.
 */

/** Eine mitgelieferte Fremdkomponente. */
export interface Drittlizenz {
  readonly name: string;
  readonly version: string | null;
  /** SPDX-Kennung oder Klartext, z. B. „MIT“. */
  readonly lizenz: string;
  readonly url: string | null;
  /** Vollständiger Lizenztext, sofern das Paket einen mitliefert. */
  readonly lizenztext: string | null;
  /** Erläuterung bei Sammelposten wie Chromium oder SQLite. */
  readonly hinweis?: string;
}

/** Alles, was der Bereich „Über diese Software“ anzeigt. */
export interface Lizenzangaben {
  /** Lizenz der Anwendung selbst. */
  readonly eigene: {
    readonly kennung: string;
    readonly name: string;
    readonly hinweis: string;
    /** Volltext der Lizenz, deutsche Fassung. */
    readonly text: string | null;
  };
  /** Rechtslage des Fragenkatalogs. */
  readonly katalog: {
    readonly quellenangabe: string;
    readonly quelleUrl: string;
    readonly hinweis: string;
  };
  readonly dritte: readonly Drittlizenz[];
}

export const EUPL_KENNUNG = 'EUPL-1.2';

export const EUPL_HINWEIS =
  'Diese Software steht unter der European Union Public Licence, Version 1.2. ' +
  'Sie dürfen sie nutzen, weitergeben und verändern. Wenn Sie eine veränderte ' +
  'Fassung weitergeben, muss auch deren Quelltext unter derselben Lizenz ' +
  'verfügbar sein. Die deutsche Fassung der Lizenz ist ebenso rechtsverbindlich ' +
  'wie die englische.';

export const KATALOG_HINWEIS =
  'Der Fragenkatalog ist ein amtliches Werk des Bundesverwaltungsamtes und ' +
  'steht nicht unter der Lizenz dieser Software. Sein Wortlaut wird ' +
  'unverändert wiedergegeben; die Aufbereitung beschränkt sich auf die ' +
  'technische Umwandlung in maschinenlesbaren Text. Diese Software ist kein ' +
  'Angebot des Bundesverwaltungsamtes.';
