Что следует указать в поле лицензии package.json, если мой код предназначен только для компании, в которой я работаю?


103

НПМ 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

Проблема NPM при обсуждении этой темы: github.com/npm/npm/issues/8918#issuecomment-138059254
jcollum

Ответы:


90

UNLICENSEDтеперь действительный вариант лицензии в npm. Это не то же самое, что «Безлицензия».


что означает, что вы не имеете права на написанный вами код?
ses

4
@ses - похоже, что "БЕЗЛИЦЕНЗИИ" означает, что другие пользователи не могут использовать его по лицензии: "Наконец, если вы не хотите предоставлять другим право использовать частный или неопубликованный пакет на каких-либо условиях: {" лицензия ":" БЕЗ ЛИЦЕНЗИИ " } "(из docs.npmjs.com/files/package.json )
Томер Каган,

2
БЕЗ ЛИЦЕНЗИИ - это не то же самое, что «Безлицензия». Это сбивает с толку. Удалите свой отрицательный голос, так как вы неправильно читаете документы.
jcollum

2
@jcollum ОК. Согласен. Ой! Правила гласят, что я не могу изменить, пока не отредактирую ответ, что является строгим требованием для включения правильной вещи.
artziff 04

1
@artziff измененный ответ
jcollum

55

на момент написания UNLICENSED (см. образец кода в вопросе) не было вариантом, см. ответ jcollumns

Добавление privateк package.jsonПоможет:

"private": true

9
Это не имеет ничего общего с лицензией, вы можете опубликовать защищенный авторским правом модуль в своем собственном реестре: stackoverflow.com/questions/7314849/… "Если вы установите" private ": true в своем package.json, то npm откажется опубликовать его. Это способ предотвратить случайную публикацию в частных репозиториях ".
pdem

на момент написания UNLICENSED - (см. образец кода в вопросе) не было вариантом, см. ответ jcollumns
Kieran

12

Во втором столбце таблицы, находящейся по этой ссылке, https://spdx.org/licenses/ , вы можете увидеть все различные форматы SPDX, используемые в вашем package.json.

Название колонки на Identifierвсякий случай. Спасибо и надеюсь, что это поможет.


1
Это правильно, но обратите внимание на это в ссылке «Список лицензий SPDX - это список часто встречающихся лицензий и исключений, используемых в бесплатном и открытом программном обеспечении и другом программном обеспечении или документации для совместной работы». Это означает, что SPDX не распространяется на лицензию компании, защищенную авторским правом.
pdem
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.