Co należy umieścić w polu licencji pliku package.json, jeśli mój kod jest przeznaczony wyłącznie do użytku przez firmę, dla której pracuję?

110

NPM 2.11.3

Buduję bibliotekę w Node. Ta biblioteka jest przeznaczona wyłącznie do użytku przez firmę, dla której obecnie pracuję. Myślę, że oznacza to, że licencja to „Brak”. Ale kiedy chcę npm init, żebym używał licencji SPDX. „Brak” lub „Bez licencji” nie są poprawnymi opcjami.

npm WARN package.json [email protected] license should be a valid SPDX license expression

Trwa dyskusja na ten temat w narzędziu NPM GitHub do śledzenia problemów, ale nie mogę znaleźć niczego, co definitywnie na to rozwiązuje. Być może NPM nie obsługuje tej koncepcji, ale wydaje się to dziwne.

Co mam wpisać w tym polu w tym przypadku? Chciałbym pozbyć się ostrzeżeń npm związanych z tym.

Chociaż dokumenty mówią, że BEZ LICENCJI jest ważne, nadal zawiera ostrzeżenie:

$ 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
źródło
Myślę, że to twoja odpowiedź: programmers.stackexchange.com/questions/285885/ ...
Simon Groenewolt
Wygląda na to, że @SimonGroenewolt, chcesz podać to jako odpowiedź?
jcollum
Problem NPM omawiający ten temat: github.com/npm/npm/issues/8918#issuecomment-138059254
jcollum

Odpowiedzi:

101

UNLICENSEDjest teraz ważną opcją licencji w npm. To nie to samo, co „The Unlicense”.

jcollum
źródło
co oznacza, że ​​nie masz żadnych praw do napisanego kodu?
SES
5
@ses - wygląda na to, że „BEZ LICENCJI” oznacza, że ​​korzystanie z niego nie jest dozwolone dla innych: „Wreszcie, jeśli nie chcesz udzielać innym prawa do korzystania z prywatnego lub niepublikowanego pakietu na jakichkolwiek warunkach: {" license ":" UNLICENSED " } "(z docs.npmjs.com/files/package.json )
Tomer Cagan
4
BEZ LICENCJI to nie to samo, co „Brak licencji”. To zagmatwane. Usuń swój głos przeciw, ponieważ źle czytasz dokumenty.
jcollum
2
@jcollum OK. Zgadzam się. Ups! Zasady mówią, że nie mogę zmienić, dopóki odpowiedź nie zostanie zredagowana, co jest rygorystycznym wymogiem umożliwiającym wykonanie właściwej rzeczy.
artziff
1
@artziff zmieniona odpowiedź
jcollum,
60

w momencie pisania tego artykułu BEZ LICENCJI (zobacz przykładowy kod w pytaniu) nie była opcją, zobacz odpowiedź jcollumns

Dodanie privatedo package.jsonpomoże:

"private": true
Kieran
źródło
10
Nie ma to nic wspólnego z licencją, możesz opublikować moduł chroniony prawami autorskimi w swoim własnym rejestrze: stackoverflow.com/questions/7314849/ ... "Jeśli ustawisz" private ": true w pliku package.json, wtedy npm odmówi aby go opublikować. Jest to sposób na uniknięcie przypadkowej publikacji prywatnych repozytoriów ”.
pdem
w momencie pisania NIELICENCJONOWANEGO - (patrz przykład kodu w pytaniu) nie było opcją, zobacz odpowiedź jcollumns
Kieran
13

W drugiej kolumnie tabeli znajdującej się pod tym linkiem, https://spdx.org/licenses/ , możesz zobaczyć wszystkie formaty SPDX używane w Twoim package.json.

Nazwa kolumny jest na Identifierwszelki wypadek. Dzięki i mam nadzieję, że to pomoże.

Derick Alangi
źródło
1
Zgadza się, ale zwróć uwagę na to w odsyłaczu „Lista licencji SPDX to lista powszechnie spotykanych licencji i wyjątków używanych w oprogramowaniu lub dokumentacji wolnego i open source oraz innym współpracującym”. Oznacza to, że SPDX nie ma zastosowania do firmowej licencji chronionej prawem autorskim.
pdem