Following system colour scheme - Python 增强提案 Selected dark colour scheme - Python 增强提案 Selected light colour scheme - Python 增强提案

Python 增强提案

附录:许可证分类器到SPDX标识符的映射

大多数单一许可证分类器(即,未在下文提及的所有分类器)映射到一个有效的SPDX许可证标识符,允许工具推断出它们对应的SPDX许可证标识符,以便在分析和审计软件包时使用,并为填充license键或License-Expression字段提供半自动化的机制,遵循PEP 639规范

一些旧的许可证分类器旨在指定一个特定的许可证,但没有指定具体的版本或变体,这导致对其条款、兼容性和可接受性存在严重歧义。在使用这些分类器时,除非用户采取肯定性操作,否则工具**不得**尝试自动推断License-Expression

  • License :: OSI Approved :: Academic Free License (AFL)
  • License :: OSI Approved :: Apache Software License
  • License :: OSI Approved :: Apple Public Source License
  • License :: OSI Approved :: Artistic License
  • License :: OSI Approved :: BSD License
  • License :: OSI Approved :: GNU Affero General Public License v3
  • License :: 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)、UnlicenseUnlicense)或 MIT 许可证MIT),因为“公共领域”一词的含义完全取决于具体的法律管辖区,其中一些甚至不存在该概念。或者,工具**可以**选择将这些分类器视为模糊的。
  • 通用且有时模糊的分类器:
    • License :: Free For Educational Use
    • License :: Free For Home Use
    • License :: Free for non-commercial use
    • License :: Freely Distributable
    • License :: Free To Use But Restricted
    • License :: Freeware
    • License :: Other/Proprietary License

    **可以**映射到通用的 License-Expression: LicenseRef-Proprietary,但如果工具这样做,**必须**发出醒目、信息性的警告。或者,工具**可以**选择将这些分类器视为模糊的。

  • 通用且模糊的分类器 License :: OSI ApprovedLicense :: DFSG approved 不映射到任何许可证表达式,因此工具**应该**将它们视为模糊的,或者如果不能,**必须**忽略它们。
  • 分类器 License :: GUST Font License 1.0License :: GUST Font License 2006-09-30 没有映射到 SPDX 许可证标识符,并且截至 2022-07-09,没有 PyPI 包使用它们。

当使用多个许可证分类器时,它们之间的关系是模糊的,通常无法确定是所有许可证都适用,还是可以在许可证之间进行选择。在这种情况下,工具**不得**自动推断许可证表达式,除非一个许可证分类器是另一个的父项,即子项包含父项的所有 :: 分隔的组件,在这种情况下,工具**可以**忽略父项分类器,但**应该**在这样做时发出信息性警告。