licenses.nuget.org

Правильно

С появлением выражений лицензии были определены требования, подразумевающие реализацию надежной службы, которая могла бы предоставлять справочный текст для отдельных идентификаторов лицензий и исключений, а также для выражений лицензии. Кроме того, такая служба должна иметь надежную схему URL-адресов, которая может обеспечить обработку устаревающих ссылок и гарантировать обратную совместимость для более старых версий клиента.

Эту роль играет раздел licenses.nuget.org. Этот раздел сайта Nuget.org представляет текст лицензии для ссылок на пакеты, в котором с помощью выражений лицензии определяются условия лицензирования. При выполнении команды nuget pack или упаковке с помощью других клиентских инструментов в качестве значения элемента licenseUrl устанавливается ссылка на раздел licenses.nuget.org, который обеспечивает обратную совместимость с клиентами более старых версий, не поддерживающими элемент license.

Текст лицензии и исключения

Сведения об исключении лицензий и лицензий, отображаемые на licenses.nuget.org, копируются из репозитория данных списка лицензий проекта SPDX. Формат, который информация отображается тесно имитирует формат, используемый самим веб-сайтом SPDX, например, см . в mit licenses.nuget.org и MIT на SPDX.org.

Лицензии, которые не утверждены инициативой Open Source или Free Software Foundation, не размещаются на licenses.nuget.org и исключаются.

В отображении лицензии используются несколько стилей в дополнение к обычному тексту. В соответствии с данными списка лицензий SPDX часто задаваемые вопросы о том, что красный текст считается заменяемым, а синий текст считается опущенным. Дополнительные сведения о данных списка лицензий SPDX см. в этой статье и спецификации шаблона лицензии SPDX.

Обратите внимание, что данные копируются из SPDX в licenses.nuget.org nuget.org на нерегламентированной основе. Если идентификатор лицензии утвержден инициативой Open Source или Free Software Foundation, но не отображается на licenses.nuget.org, сообщите о проблеме, а команда nuget.org работает над обновлением licenses.nuget.org и nuget.org проверкой отправки пакетов с помощью последних данных spDX.

Если вы, как автор пакета, не удовлетворены общим текстом лицензии, доступным на licenses.nuget.org, вы можете использовать внедренный текст лицензии (<license type="file">) вместо выражения лицензии для пакета NuGet. Это позволяет полностью настроить условия лицензирования и включить настраиваемый текст в пакет.

Протокол

Раздел licenses.nuget.org предназначен для пользователей, работающих в браузере, и не генерирует ответов в распознаваемом компьютером виде. Для работы используется протокол HTTPS, а запросы должны иметь определенную конструкцию. Поддерживаются только запросы GET. В качестве входных данных принимаются выражения лицензии или идентификаторы исключений, как показано ниже. Обратите внимание, что все элементы выражений лицензии задаются с учетом регистра символов. Таким образом, это ограничение применяется ко всем входным данным для раздела licenses.nuget.org.

Выражения лицензии

Запросить

Выражения лицензии (включая простейшие случаи, когда выражения состоят из одной лицензии), должны кодироваться как URL-адреса и использоваться в качестве пути в запросе к разделу licenses.nuget.org.

Выражение лицензии Используемый 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+)

Служба поддерживает только идентификаторы лицензий и идентификаторы исключений лицензий, которые принимаются nuget.org. В частности, это означает, что будут приниматься только идентификаторы лицензий, утвержденные инициативой Open Source или Free Software Foundation. Все выражения лицензии, которые содержат неподдерживаемые идентификаторы лицензий или исключений лицензий, либо не соответствуют синтаксису выражения лицензии, считаются недопустимыми.

Response

Раздел licenses.nuget.org в ответ на запросы, содержащие допустимые выражения лицензии, отправляет код состояния HTTP 200 и веб-страницу с описанием выражения лицензии:

  • если предоставленное выражение лицензии содержит один идентификатор лицензии, возвращается веб-страница, которая содержит соответствующий справочный текст лицензии;
  • если предоставленное выражение описывает составное выражение лицензии, возвращается веб-страница с выражением лицензии и ссылками на отдельные лицензии или исключения лицензии.

При получении любых запросов, содержащих недопустимые выражения лицензии, возвращается ответ HTTP 404.

Исключения лицензии

Запросить

Идентификаторы исключений лицензии должны кодироваться как URL-адреса и использоваться в качестве пути в запросе к разделу licenses.nuget.org. В одном запросе может быть предоставлен только один идентификатор исключения лицензии. В части пути URL-адреса не допускаются никакие дополнительные символы, за исключением идентификатора исключения лицензии.

Идентификатор исключения лицензии Используемый URL-адрес
FLTK-exception https://licenses.nuget.org/FLTK-exception
openvpn-openssl-exception https://licenses.nuget.org/openvpn-openssl-exception

Response

Раздел licenses.nuget.org в ответ на запрос, содержащий известный идентификатор исключения лицензии, возвращает ответ HTTP 200 и веб-страницу, содержащую справочный текст для указанного исключения лицензии.

При получении любого запроса, содержащего неподдерживаемый идентификатор исключения лицензии, возвращается ответ HTTP 404.