Що слід помістити в поле ліцензії package.json, якщо мій код призначений лише для використання компанією, в якій я працюю?


104

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

Я думаю, що це ваша відповідь: programmers.stackexchange.com/questions/285885/…
— Саймон Гріневольт

Схоже, @SimonGroenewolt, хочеш це поставити як відповідь?
— jcollum

Випуск NPM, що обговорює цю тему: github.com/npm/npm/issues/8918#issuecomment-138059254
— jcollum

Відповіді:


90

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

4
@ses - здається, "НЕЛІЦЕНЗІЙНИЙ" означає, що він не ліцензований для використання іншими: "Нарешті, якщо ви не хочете надати іншим право використовувати приватний або неопублікований пакет на будь-яких умовах: {" ліцензія ":" НЕЛІЦЕНЗОВАНА " } "(з docs.npmjs.com/files/package.json )
— Томер

3
UNLICENSED - це не те саме, що "The Unlicense". Це бентежить. Видаліть свій голос проти, оскільки ви неправильно читаєте документи.
— jcollum

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

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.