Вопрос или проблема
Насколько мне известно, все URN в конечном итоге используют схему URN
, что означает, что к ним необходимо добавлять префикс, чтобы URI был действительным. Тем не менее, текущий идентификатор CPE в Fedora 41 KDE Spin (с эквивалентом в openSUSE Tumbleweed 20241129) /etc/os-release
выглядит следующим образом:
CPE_NAME="cpe:/o:fedoraproject:fedora:41"
Если я прав, то он должен выглядеть так:
CPE_NAME="urn:cpe:/o:fedoraproject:fedora:41"
Правильно ли я понимаю RFC 8141?
Назначение URN осуществляется организацией (или, в некоторых случаях, согласно алгоритму или другому автоматизированному процессу), которой официально делегирована пространство имен URN в рамках схемы “urn” (например, URN в пространстве имен “example” [RFC6963] может быть в формате “urn:example:foo”).
(Отсутствие) Дубликатов
Ранее задавался вопрос на discussion.fedoraproject.org
, но ответа пока нет.
Ответ или решение
Должен ли идентификатор CPE начинаться с схемы "URN:"?
Введение
Идентификаторы CPE (Common Platform Enumeration) используются для обозначения программного обеспечения, операционных систем и устройств в рамках различных компьютерных систем, чтобы стандартизировать идентификацию и упростить управление этими ресурсами. Вопрос использования схемы "URN:" в идентификаторе CPE требует детального анализа, основанного на стандартах, таких как RFC 8141 и общей практике назначения идентификаторов.
Разбор текущей ситуации
В вашем описании упоминается текущий формат CPE ID, используемый в Fedora 41 KDE Spin:
CPE_NAME="cpe:/o:fedoraproject:fedora:41"
Кажется, вы предлагаете обеспечить его соответствие стандартам, добавив префикс "urn:":
CPE_NAME="urn:cpe:/o:fedoraproject:fedora:41"
Техническая основа
Согласно RFC 8141, URN (Uniform Resource Name) является стандартом для пространств имен, который формируется специальными организациями. Однако, в отношении CPE, сам по себе префикс "cpe:" обозначает использование в рамках идентификаторов, используется в качестве отдельной схемы, присвоенной конкретному назначению, специалистами отрасли и сообществами.
В данном контексте важно отметить:
-
Схема "cpe:" как стандарт: CPE-концепция в своем текущем виде уже включает схему "cpe:", что предполагает, что она предназначена для конкретного использования в своих пределах. Префикс "urn:" может быть не обязательным, так как CPE ID и так очевидно указывает на свою природу.
-
Соответствие формату: RFC 8141 говорит о том, что URN должны иметь префикс, но CPE уже имеет свою собственную схему. Применение "urn:" может ввести дополнительную путаницу и несоответствие.
Возможные последствия
-
Совместимость: Важно учитывать, что изменение формата идентификатора может привести к несовместимости с существующими системами и инструментами, которые полагаются на текущую структуру идентификации. Исходя из этого, изменения следует обсуждать с сообществом, чтобы избежать возможных нарушений.
-
Принципы гибкости: Существует мнение, что использование дополнительных схем, таких как "urn:", может быть полезным для приведения формата в соответствие с другими стандартами, однако важно сразу оценить, насколько это необходимо и возможно.
Заключение
Ваше предположение о необходимости использования префикса "urn:" имеет свои основания, однако текущая структура идентификатора CPE заключается в соответствии с уже действующими стандартами, которые могут не требовать добавления этого префикса для обеспечения валидности. Важно внимательно изучить все аспекты этого изменения, включая его влияние на совместимость с существующей инфраструктурой, и обсудить данный вопрос с другими участниками сообщества.
Возможно, стоит продолжить ваши обсуждения на платформе discussion.fedoraproject.org
, чтобы получить мнения других экспертов и в конечном итоге принять взвешенное решение о формуле идентификации CPE.