package.jsonの「All Rights Reserved」ライセンス


111

私は会社の内部にある小さなnode.jsプロジェクトを使用しており、一般にはリリースされず、サードパーティと共有されることもありません。もちろん、パブリックパッケージリポジトリには提供されません。

しかし、実行するnpm installと常に次のエラーが発生します。

npm WARN package.json <<myproject>>@0.1.0 license should be a valid SPDX license expression

必要なライセンスは、「私たちの著作権およびすべての権利予約」です。SPDXライセンスリストに該当すると思われるものは見つかりませんでした。この回答の提案も機能しません。エラーlicenseからフィールドを単に削除すると、にpackage.json変わりますno license field

npm install使用したくないライセンス参照をそこに入れずに、エラーや警告を表示しないようにするにはどうすればよいですか?

回答:


176

新しいnpm仕様によれば、{ "license": "UNLICENSED"} いかなる条件においても、プライベートまたは非公開のパッケージを使用する権利を他人に付与したくない場合に使用できます。

詳細はこちらをご覧ください

そのため、言及したエラーが発生しない場合があります。


これは確かにライセンスがない場合は便利ですが、外部ライセンスを参照したい場合は役に立ちません。
ブランドンスクリプト、2015

11
同じnpmjsページから、「 "private"も設定することを検討してください:偶発的な公開を防ぐためにtrue」。
2015

1
SPDXリストにはUnlicense、最後のD がなく、大文字と小文字が混在しています。あなたが言っているのはそれですか?それを見ると、それは正しいことではないようですが。UNLICENSEDリストにはありません
ekkis

@ekkis、のドキュメントは有効な値としてpackage.json記述UNLICENSEDしています(cf. docs.npmjs.com/files/package.json#license)。
Frederik Krautwald 2017

10
ライセンスを解除がの正反対である@ekkis { "license": "UNLICENSED" } spdx.org/licenses/Unlicense。(ライセンスを確認したところ、正しくないことが
わかりました。念の

51

package.jsonの最新のドキュメントによると:

SPDX識別子が割り当てられていないライセンスを使用している場合、またはカスタムライセンスを使用している場合は、次の有効なSPDX式を使用します。

{ "license" : "SEE LICENSE IN <filename>" }

次に<filename>、パッケージの最上位にある名前のファイルを含めます。


5

TR; DL: 'UNLICENSED'はライセンスされていないことを意味し、 'unlicense' (最後に 'd'はありません!)は'The Unlicensed'という名前のライセンスを指し、非常に異なるものです。混乱を防ぐため、および著作権を主張したい場合は、以下のように、誰かに自分の内部ライセンスファイルを指定する必要があります。

-

{ "license": "unlicense"}著作権の主張スタイルのライセンスを取得したいことを明確に伝えたい場合は、トップ投票の回答で提案されているを絶対に使用しないでください。

https://choosealicense.com/licenses/unlicense/

UNLICENSEライセンスの最初の2つのパラグラフからのクリップは、これがOPの著作権の主張を求める要求とはまったく関係がないことを明らかにしています。

これは、パブリックドメインにリリースされた自由で邪魔にならないソフトウェアです。

商用または非商用の目的にかかわらず、ソースコードの形式またはコンパイルされたバイナリとして、このソフトウェアを誰でも自由にコピー、変更、公開、使用、コンパイル、販売、または配布できます。

上位投票の回答にクレジットを付与するNodeのドキュメントページは、UNLICENSEDオプションの使用がそれを他の人にいかなる権利も与えないようにすることであると主張しています。

あなたが他の人に何らかの条件の下でプライベートまたは非公開のパッケージを使用する権利を与えたくない場合:

これはあなたの権利を保持するための実際の安全な選択ではないようです

  • これが無知によるものか、悪意によるものかはわかりません。追加のDがないということは、これらが2つの完全に異なる用語であることを意味していると推測できますが、他の人がそれを知っているとは限りません。

    {"license": "ライセンスを見る"}

現時点では安全な答えです。

注:現時点で上位投票された回答は誤解される可能性が高く、可視性を必要とするため、これを返信ではなくトップレベルの回答にすることが重要だと感じました。


2
これは正しいとは思いません。ライセンスのSPDXリストには、見つかった「The Unlicense」のエントリが含まれていますが、権利を付与しない「UNLICENSED」とは異なります。 spdx.org/licenses/Unlicense.html したがって、スペルミスは非常に重要ですが(「Unlicense」は無制限のライセンスであり、「UNLICENSED」はすべての権利を保持します)、あいまいさはありません。package.json仕様では、「ライセンスなし」は「いかなる条件の下でも」いかなる権利も付与しないと明記されています。
wberry

1
それでも、あなたの答えは、これら2つの選択肢が互いにどれほど近いかを指摘するのに役立つと思います。気をつけるべきことです。Stack Overflowへようこそ!
wberry

1
おかげでwberry「The Unlicense」のSPDX定義がわかりませんでした。
カールキッドウェル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.