Share via


licenses.nuget.org

Sinn

Mit der Einführung von Lizenzausdrücken entstand der Bedarf nach einem zuverlässigen Dienst, der einen Referenztext für einzelne Lizenzbezeichner, Ausnahmebezeichner oder Lizenzausdrücke bereitstellt. Eine zusätzliche Anforderung an diesen Dienst ist ein stabiles URL-Schema, das nicht für tote Links anfällig ist und sicher verwendet werden kann, um Abwärtskompatibilität für ältere Clients zu gewährleisten.

Licenses.nuget.org erfüllt diese Anforderungen. Nuget.org nutzt Licenses.nuget.org, um die Lizenztextreferenz für Pakete bereitzustellen, die ihre Lizenz über einen Lizenzausdruck angeben. Über nuget pack oder bei einer Paketierung mit anderen Clienttools wird das licenseUrl-Element zum Verweis auf „licenses.nuget.org“ festgelegt, um Abwärtskompatibilität mit älteren Clients bereitzustellen, die das license-Element nicht unterstützen.

Lizenz- und Ausnahmetext

Die auf licenses.nuget.org angezeigten Lizenz- und Lizenzausnahmeinformationen werden aus dem Lizenzlistendaten-Repository des SPDX-Projekts kopiert. Das Format, in dem die Informationen angezeigt werden, imitiert das von der SPDX-Website verwendete Format selbst, z. B. siehe MIT auf licenses.nuget.org und MIT auf SPDX.org.

Lizenzen, die von der Open Source Initiative oder der Free Software Foundation nicht genehmigt werden, werden nicht auf licenses.nuget.org gehostet und ausgeschlossen.

Zusätzlich zu Nur-Text werden mehrere Formatvorlagen in der Anzeige der Lizenz verwendet. Nach den Häufig gestellten Fragen zur SPDX-Lizenzliste gilt roter Text als ersetzbar, und blauer Text gilt als weglassbar. Allgemeine Informationen zu den SPDX-Lizenzlistendaten finden Sie in den Häufig gestellten Fragen und der SPDX-Lizenzvorlagenspezifikation.

Beachten Sie, dass die Daten von SPDX auf ad hoc-Basis von der nuget.org in licenses.nuget.org kopiert werden. Wenn eine Lizenz-ID von der Open Source Initiative oder der Free Software Foundation genehmigt, aber nicht auf licenses.nuget.org angezeigt wird, melden Sie ein Problem, und das nuget.org Team wird sich bemühen, licenses.nuget.org und nuget.org Paket-Upload-Überprüfung mit den neuesten Daten von SPDX zu aktualisieren.

Wenn Sie als Paketautor nicht mit dem in licenses.nuget.org verfügbaren freigegebenen Lizenztext zufrieden sind, können Sie anstelle eines Lizenzausdrucks für Ihr NuGet-Paket eingebetteten Lizenztext (<license type="file">) verwenden. Auf diese Weise können Sie Ihre Lizenzbedingungen vollständig anpassen und den angepassten Text in das Paket einschließen.

Protokoll

Licenses.nuget.org ist für die Anzeige in einem Browser durch Personen vorgesehen, es werden keine maschinenlesbaren Antworten bereitgestellt. Das HTTPS-Protokoll ist erforderlich, und Anforderungen müssen in einer bestimmten Weise erstellt werden. Es werden nur GET-Anforderungen unterstützt. Lizenzausdrücke oder Lizenzausnahmebezeichner werden in der unten angegebenen Weise als Eingabe akzeptiert. Beachten Sie, dass für alle Elemente von Lizenzausdrücken die Groß-/Kleinschreibung beachtet werden muss, deshalb gilt für alle Eingaben in licenses.nuget.org ebenfalls die Beachtung der Groß-/Kleinschreibung.

Lizenzausdrücke

Anfordern

Lizenzausdrücke (einschließlich trivialer Fälle, in denen ein Ausdruck nur aus einer Lizenz besteht) müssen URL-codiert sein und als Pfad in der Anforderung an licenses.nuget.org verwendet werden.

Lizenzausdruck Zu verwendende URL
MIT https://licenses.nuget.org/MIT
(MIT) https://licenses.nuget.org/(MIT)
(LGPL-2.0-only WITH FLTK-exception OR Apache-2.0+) https://licenses.nuget.org/(LGPL-2.0-only%20WITH%20FLTK-exception%20OR%20Apache-2.0+)

Der Dienst unterstützt nur Lizenz-IDs und Lizenz-Ausnahme-IDs, die von nuget.org akzeptiert werden. Dies bedeutet insbesondere, dass nur Lizenz-IDs akzeptiert werden, die von der Open Source Initiative oder der Free Software Foundation genehmigt werden. Alle Lizenzausdrücke, die nicht unterstützte Lizenzbezeichner oder Lizenzausnahmebezeichner enthalten oder nicht der Syntax für Lizenzausdrücke entsprechen, werden als ungültig betrachtet.

Antwort

Licenses.nuget.org antwortet auf Anforderungen, die einen gültigen Lizenzausdruck enthalten, mit einem HTTP 200-Statuscode und einer Webseite mit einer Beschreibung des Lizenzausdrucks:

  • Wenn der angegebene Lizenzausdruck einen einzelnen Lizenzbezeichner umfasst, wird eine Webseite zurückgegeben, die diesen Lizenzreferenztext enthält.
  • Wenn der angegebene Lizenzausdruck ein zusammengesetzter Lizenzausdruck ist, wird eine Webseite zurückgegeben, die den Lizenzausdruck mit Links zu den einzelnen Lizenz- oder Lizenzausnahmereferenzen enthält.

Alle Anforderungen, die einen ungültigen Lizenzausdruck enthalten, führen zu einer HTTP 404-Antwort.

Lizenzausnahmen

Anfordern

Lizenzausnahmebezeichner müssen URL-codiert sein und als Pfad in der Anforderung an licenses.nuget.org verwendet werden. In einer einzigen Anforderung kann nur ein einziger Lizenzausnahmebezeichner angegeben werden. Neben dem Lizenzausnahmebezeichner dürfen im Pfadbestandteil der URL keine weiteren Zeichen enthalten sein.

Lizenzausnahmebezeichner Zu verwendende URL
FLTK-exception https://licenses.nuget.org/FLTK-exception
openvpn-openssl-exception https://licenses.nuget.org/openvpn-openssl-exception

Antwort

Licenses.nuget.org antwortet auf eine Anforderung mit einem bekannten Lizenzausnahmebezeichner mit einer HTTP 200-Antwort und einer Webseite, die den Referenztext für die angegebene Lizenzausnahme enthält.

Alle Anforderungen, die einen nicht unterstützten Lizenzausnahmebezeichner enthalten, führen zu einer HTTP 404-Antwort.