附录:许可证分类器到SPDX标识符的映射
大多数单一许可证分类器(即,未在下文提及的所有分类器)映射到一个有效的SPDX许可证标识符,允许工具推断出它们对应的SPDX许可证标识符,以便在分析和审计软件包时使用,并为填充license键或License-Expression字段提供半自动化的机制,遵循PEP 639规范。
一些旧的许可证分类器旨在指定一个特定的许可证,但没有指定具体的版本或变体,这导致对其条款、兼容性和可接受性存在严重歧义。在使用这些分类器时,除非用户采取肯定性操作,否则工具**不得**尝试自动推断License-Expression。
License :: OSI Approved :: Academic Free License (AFL)License :: OSI Approved :: Apache Software LicenseLicense :: OSI Approved :: Apple Public Source LicenseLicense :: OSI Approved :: Artistic LicenseLicense :: OSI Approved :: BSD LicenseLicense :: OSI Approved :: GNU Affero General Public License v3License :: OSI Approved :: GNU Free Documentation License (FDL)License :: OSI Approved :: GNU General Public License (GPL)License :: OSI Approved :: GNU General Public License v2 (GPLv2)License :: OSI Approved :: GNU General Public License v3 (GPLv3)License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
Dustin Ingram 已经汇总了这些分类器与其可能特定标识符的全面映射,工具**可以**以此为参考,在提示用户明确选择其项目所需许可证标识符时,提供可供选择的标识符选项。
注意
上述映射中还列出了 AGPLv3、GPLv2、GPLv3 和 LGPLv3 的“或更高版本”变体的几个附加分类器,但它们明确映射到各自的许可证,因此此处未列出。但是,LGPLv2 包含在上面,因为它可能模棱两可地指代该许可证的 v2.0 或 v2.1 变体。
此外,对于各种特殊情况,以下映射被认为是本规范的规范性和标准性的:
- 分类器
License :: Public Domain**可以**映射到通用的License-Expression: LicenseRef-Public-Domain。如果工具这样做,它们**应该**发出信息性警告,鼓励使用更明确且法律上可移植的许可证标识符,例如 CC0 1.0 许可证(CC0-1.0)、Unlicense(Unlicense)或 MIT 许可证(MIT),因为“公共领域”一词的含义完全取决于具体的法律管辖区,其中一些甚至不存在该概念。或者,工具**可以**选择将这些分类器视为模糊的。 - 通用且有时模糊的分类器:
License :: Free For Educational UseLicense :: Free For Home UseLicense :: Free for non-commercial useLicense :: Freely DistributableLicense :: Free To Use But RestrictedLicense :: FreewareLicense :: Other/Proprietary License
**可以**映射到通用的
License-Expression: LicenseRef-Proprietary,但如果工具这样做,**必须**发出醒目、信息性的警告。或者,工具**可以**选择将这些分类器视为模糊的。 - 通用且模糊的分类器
License :: OSI Approved和License :: DFSG approved不映射到任何许可证表达式,因此工具**应该**将它们视为模糊的,或者如果不能,**必须**忽略它们。 - 分类器
License :: GUST Font License 1.0和License :: GUST Font License 2006-09-30没有映射到 SPDX 许可证标识符,并且截至 2022-07-09,没有 PyPI 包使用它们。
当使用多个许可证分类器时,它们之间的关系是模糊的,通常无法确定是所有许可证都适用,还是可以在许可证之间进行选择。在这种情况下,工具**不得**自动推断许可证表达式,除非一个许可证分类器是另一个的父项,即子项包含父项的所有 :: 分隔的组件,在这种情况下,工具**可以**忽略父项分类器,但**应该**在这样做时发出信息性警告。