Apa yang harus dimasukkan dalam bidang lisensi package.json jika kode saya hanya untuk digunakan oleh perusahaan tempat saya bekerja?

108

NPM 2.11.3

Saya sedang membangun perpustakaan di Node. Perpustakaan ini hanya untuk digunakan oleh perusahaan tempat saya bekerja saat ini. Saya pikir ini berarti bahwa lisensinya adalah "Tidak Ada". Tetapi ketika saya npm initingin saya menggunakan Lisensi SPDX. "Tidak Ada" atau "Tidak Berlisensi" bukanlah opsi yang valid.

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

Ada beberapa diskusi seputar ini di pelacak masalah NPM GitHub tetapi saya tidak dapat menemukan apa pun yang secara pasti menjawab ini. Mungkin NPM tidak mendukung konsep ini, tapi itu terlihat aneh.

Apa yang harus saya masukkan untuk bidang ini dalam kasus ini? Saya ingin menyingkirkan peringatan npm yang terkait dengan ini.

Meskipun dokumen mengatakan bahwa TIDAK BERLISENSI valid, namun tetap memberikan peringatan:

$ 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.dll
sumber
Saya pikir ini adalah jawaban Anda: programmer.stackexchange.com/questions/285885/…
Simon Groenewolt
Sepertinya @SimonGroenewolt, mau masukkan itu sebagai jawaban?
jcollum
Masalah NPM membahas topik ini: github.com/npm/npm/issues/8918#issuecomment-138059254
jcollum

Jawaban:

99

UNLICENSEDsekarang menjadi opsi lisensi yang valid di npm. Ini tidak sama dengan "The Unlicense".

jcollum.dll
sumber
yang berarti Anda tidak memiliki hak atas kode yang Anda tulis?
ses
5
@ses - sepertinya "TIDAK BERLISENSI" artinya, tidak dilisensikan untuk digunakan orang lain: "Terakhir, jika Anda tidak ingin memberikan hak kepada orang lain untuk menggunakan paket pribadi atau tidak dipublikasikan di bawah persyaratan apa pun: {" license ":" UNLICENSED " } "(dari docs.npmjs.com/files/package.json )
Tomer Cagan
4
TIDAK BERLISENSI tidak sama dengan "The Unlicense". Ini membingungkan. Harap hapus suara negatif Anda, karena Anda salah membaca dokumen.
jcollum
2
@jollum Oke. Saya setuju. Ups! Aturan mengatakan saya tidak dapat mengubah kecuali jawabannya diedit yang merupakan persyaratan ketat untuk memungkinkan hal yang benar.
artziff
1
@artziff mengubah jawaban
jcollum
58

pada saat penulisan TIDAK BERLISENSI (lihat contoh kode dalam pertanyaan) bukan merupakan pilihan, silakan lihat jawaban jcollumns

Menambahkan private ke package.jsonakan membantu:

"private": true
Kieran
sumber
9
Ini tidak ada hubungannya dengan lisensi, Anda mungkin ingin menerbitkan modul berhak cipta ke registri Anda sendiri: stackoverflow.com/questions/7314849/… "Jika Anda menyetel" privat ": true di package.json Anda, maka npm akan menolak untuk mempublikasikannya. Ini adalah cara untuk mencegah publikasi repositori pribadi yang tidak disengaja. "
pdem
pada saat penulisan TIDAK BERLISENSI - (lihat contoh kode di pertanyaan) tidak ada pilihan, silakan lihat jawaban jcollumns
Kieran
13

Di kolom kedua dari tabel yang ditemukan di tautan ini, https://spdx.org/licenses/ , Anda dapat melihat semua format SPDX yang berbeda untuk digunakan di file package.json.

Nama kolom untuk Identifierberjaga-jaga. Terima kasih dan semoga membantu.

Derick Alangi
sumber
1
Ini benar, tetapi harap perhatikan ini di tautan "Daftar Lisensi SPDX adalah daftar lisensi dan pengecualian yang umum ditemukan yang digunakan dalam perangkat lunak atau dokumentasi gratis dan open source serta kolaboratif lainnya atau dokumentasi.". Itu berarti SPDX tidak berlaku untuk lisensi hak cipta perusahaan.
pdem