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

jco*_*lum 65 node.js package.json

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
Run Code Online (Sandbox Code Playgroud)

jco*_*lum 66

UNLICENSED 现在是npm中的有效许可选项.

  • UNLICENSED 与“The Unlicense”不同。这很混乱。请删除您的反对票,因为您误读了文档。 (5认同)
  • @ses - 似乎"未使用"意味着,它没有被其他人许可使用:"最后,如果您不希望授予他人在任何条款下使用私人或未发布的包裹的权利:{"license":"UNLICENSED" }"(来自https://docs.npmjs.com/files/package.json) (3认同)
  • @jcollum 好的。我同意。哎呀!规则规定,除非对答案进行编辑,否则我无法更改,这是启用正确操作的严格要求。 (2认同)

Kie*_*ran 33

添加privatepackage.json将帮助:

"private": true
Run Code Online (Sandbox Code Playgroud)

  • 这与许可证无关,您可能希望将受版权保护的模块发布到您自己的注册表中:/sf/ask/512039461/ package-json"如果你在package.json中设置"private":true,那么npm将拒绝发布它.这是一种防止意外发布私有存储库的方法." (5认同)
  • 这曾经是技术上正确的答案,因为节点团队似乎不明白有时你需要“发布”一些不是自由软件的东西。添加 UNLICENSED 后,这不再正确。 (2认同)
  • 我看到很多人说这根本没有帮助,但它实际上为我删除了错误消息。这是我唯一改变的事情。使用纱线 1.22.19 和节点 16.17 (2认同)

xSa*_*tar 10

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

列的名称Identifier以防万一.谢谢,希望它有所帮助.

  • 这是正确的,但请注意链接中的这一点“SPDX 许可证列表是免费和开源以及其他协作软件或文档中使用的常见许可证和例外情况的列表。”。这意味着 SPDX 不适用于公司版权许可。 (2认同)