如果我的代码仅供我工作的公司使用,应在pa​​ckage.json的许可证字段中输入什么?


103

NPM 2.11.3

我正在Node中建立一个图书馆。该库仅供我当前工作的公司使用。我认为这意味着许可证是“无”。但是当我npm init希望它使用SPDX许可证时。“无”或“未经许可”是无效的选项。

npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression

NPM GitHub问题跟踪器上对此进行了一些讨论,但是我找不到任何可以明确回答这一问题的东西。NPM可能不支持此概念,但这似乎很奇怪。

在这种情况下,我应该为该字段输入什么?我想摆脱与此相关的npm警告。

尽管文档说UNLICENSED有效,但仍会发出警告:

$ cat package.json | grep licen
  "license": "UNLICENSED",

$ npm install 
npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression


看起来像@SimonGroenewolt,想把它作为答案吗?
jcollum 2015年

Answers:


91

UNLICENSED现在是npm中的有效许可证选项。这与“ The Unlicense”不同。


这意味着您对编写的代码没有任何权利?
ses

4
@ses-似乎是“未经许可”的意思,它没有被他人使用的许可:“最后,如果您不希望以任何条款授予他人使用私有或未发布的软件包的权利:{“ license”:“ UNLICENSED” }”(来自docs.npmjs.com/files/package.json
Tomer的凯根

2
未经许可与“未经许可”不同。令人困惑。由于您误读了文档,请删除您的否决票。
jcollum

2
@jcollum好的。我同意。哎呀!规则说,除非对答案进行编辑,否则我无法更改,这是启用正确事物的严格要求。
artziff

1
@artziff改变答案
jcollum

53

在撰写UNLICENSED时(请参阅问题中的代码示例)是不可选项,请参阅jcollumns答案

添加privatepackage.json将帮助:

"private": true

9
这与许可证无关,您可能想要将受版权保护的模块发布到自己的注册表中:stackoverflow.com/questions/7314849/… “如果在package.json中设置“ private”:true,则npm将拒绝发布它。这是防止意外发布私有存储库的一种方式。”
pdem

在撰写UNLICENSED时-(请参阅问题中的代码示例)不是一种选择,请参阅jcollumns答案
Kieran

12

在此链接上的表格的第二列https://spdx.org/licenses/上,您可以看到在中使用的所有不同SPDX格式package.json

列的名称Identifier以防万一。谢谢,希望对您有所帮助。


1
没错,但是请在链接“ SPDX许可证列表是在自由和开源以及其他协作软件或文档中使用的常见许可证和例外的列表”中对此加以注意。这意味着SPDX不适用于公司版权许可。
pdem
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.