Что следует указать в поле лицензии 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
Jcollum
источник
Думаю, это ваш ответ: programmers.stackexchange.com/questions/285885/…
Саймон Гроенвольт,
Похоже, это @SimonGroenewolt, хотите вставить это в качестве ответа?
jcollum
Проблема NPM при обсуждении этой темы: github.com/npm/npm/issues/8918#issuecomment-138059254
jcollum

Ответы:

90

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

Jcollum
источник
что означает, что вы не имеете права на написанный вами код?
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