license

中英双语

您应该为您的软件包指定一个许可证,以便人们知道他们如何被允许使用它,以及您对其施加的任何限制。

如果您使用的是 BSD-2-Clause 或 MIT 等通用许可证,请为您正在使用的许可证添加当前的 SPDX 许可证标识符,如下所示:

{
  "license" : "BSD-3-Clause"
}

你可以检查SPDX 许可证 ID 的完整列表。理想情况下,您应该选择一个获得 OSI 批准的产品。

如果您的软件包在多个通用许可下获得许可,请使用 SPDX 许可证表达式语法 2.0 版字符串,如下所示:

{
  "license" : "(ISC OR GPL-3.0)"
}

如果您使用的许可证尚未分配 SPDX 标识符,或者如果您使用的是自定义许可证,请使用如下字符串值:

{
  "license" : "SEE LICENSE IN <filename>"
}

然后在包的顶层包含一个名为 <filename> 的文件。

一些旧包使用许可证对象或包含许可证对象数组的 "licenses" 属性:

// Not valid metadata
{
  "license" : {
    "type" : "ISC",
    "url" : "https://opensource.org/licenses/ISC"
  }
}

// Not valid metadata
{
  "licenses" : [
    {
      "type": "MIT",
      "url": "https://www.opensource.org/licenses/mit-license.php"
    },
    {
      "type": "Apache-2.0",
      "url": "https://opensource.org/licenses/apache2.0.php"
    }
  ]
}

这些样式现在已被弃用。相反,请使用 SPDX 表达式,如下所示:

{
  "license": "ISC"
}
{
  "license": "(MIT OR Apache-2.0)"
}

最后,如果您不希望在任何条款下授予他人使用私有或未发布包的权利:

{
  "license": "UNLICENSED"
}

还可以考虑设置 "private": true 以防止意外发布。