Was sollte in das Lizenzfeld von package.json eingetragen werden, wenn mein Code nur für das Unternehmen bestimmt ist, für das ich arbeite?


91

NPM 2.11.3

Ich baue eine Bibliothek in Node. Diese Bibliothek ist nur für die Firma bestimmt, für die ich gerade arbeite. Ich denke, dies bedeutet, dass die Lizenz "Keine" ist. Aber wenn ich npm initmöchte, dass ich eine SPDX-Lizenz verwende. "Keine" oder "Nicht lizenziert" sind keine gültigen Optionen.

npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression

Es gibt einige Diskussionen darüber auf dem NPM GitHub Issue Tracker, aber ich kann nichts finden, was dies definitiv beantwortet. Vielleicht unterstützt NPM dieses Konzept nicht, aber das scheint seltsam.

Was soll ich in diesem Fall für dieses Feld tun? Ich möchte die diesbezüglichen npm-Warnungen loswerden.

Während die Dokumente sagen, dass UNLICENSED gültig ist, gibt es dennoch eine Warnung:

$ 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


Sieht so aus @SimonGroenewolt, willst du das als Antwort einfügen?
JCollum

Antworten:


84

UNLICENSEDist jetzt eine gültige Lizenzoption in npm. Dies ist nicht dasselbe wie "The Unlicense".


was bedeutet, dass Sie kein Recht auf den Code haben, den Sie geschrieben haben?
ses

3
@ses - scheint "NICHT LIZENZIERT" zu sein, bedeutet, dass es nicht für andere lizenziert ist: "Wenn Sie anderen nicht das Recht einräumen möchten, ein privates oder unveröffentlichtes Paket unter folgenden Bedingungen zu verwenden: {" Lizenz ":" UNLIZENZIERT " } "(von docs.npmjs.com/files/package.json )
Tomer Cagan

1
UNLICENSED ist nicht dasselbe wie "The Unlicense". Es ist verwirrend. Bitte entfernen Sie Ihre Ablehnung, da Sie die Dokumente falsch lesen.
JCollum

2
@jcollum OK. Genau. Ups! Die Regeln besagen, dass ich nichts ändern kann, wenn die Antwort nicht bearbeitet wird. Dies ist eine strenge Voraussetzung, um das Richtige zu ermöglichen.
Artziff

1
@artziff geänderte Antwort
jcollum

43

Zum Zeitpunkt des Schreibens war UNLICENSED (siehe Codebeispiel in der Frage) keine Option, siehe Antwort von jcollumns

Hinzufügen privatezu package.jsonhilft:

"private": true

9
Dies hat nichts mit der Lizenz zu tun. Möglicherweise möchten Sie ein urheberrechtlich geschütztes Modul in Ihrer eigenen Registrierung veröffentlichen: stackoverflow.com/questions/7314849/… "Wenn Sie in Ihrer package.json" private ": true festlegen, wird npm dies ablehnen Dies ist eine Möglichkeit, die versehentliche Veröffentlichung privater Repositorys zu verhindern. "
pdem

Zum Zeitpunkt des Schreibens war UNLICENSED - (siehe Codebeispiel in der Frage) keine Option, siehe Antwort von jcollumns
Kieran

12

In der zweiten Spalte der Tabelle unter diesem Link, https://spdx.org/licenses/ , sehen Sie alle SPDX-Formate, die in Ihrem verwendet werdenpackage.json .

Der Name der Spalte ist Identifiernur für den Fall. Danke und hoffe es hilft.


1
Dies ist richtig, aber bitte beachten Sie dies im Link "Die SPDX-Lizenzliste ist eine Liste häufig vorkommender Lizenzen und Ausnahmen, die in freier und Open Source- und anderer kollaborativer Software oder Dokumentation verwendet werden." Das bedeutet, dass SPDX nicht für eine urheberrechtlich geschützte Lizenz eines Unternehmens gilt.
pdem
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.