npm8中文文档
您应该为您的软件包指定一个许可证,以便人们知道他们如何被允许使用它,以及您对其施加的任何限制。
如果您使用的是 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
以防止意外发布。