Package.json'daki "Tüm Hakları Saklıdır" lisansı


111

Şirket içi olan ve herkese açık olarak yayınlanmayacak veya üçüncü şahıslarla paylaşılmayacak küçük bir node.js projem var. Kesinlikle herhangi bir genel paket havuzuna katkıda bulunmayacaktır.

Ancak çalıştırdığımda npm installher zaman şu hatayı alıyorum:

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

İstenen lisans şudur: "telif hakkı bize aittir ve tüm hakları saklıdır". SPDX lisans listesinde uygun görünen hiçbir şey bulamadım . Bu cevaptaki öneri de işe yaramıyor. licenseAlanı package.json, hata değişikliklerinden kaldırırsam no license field.

npm installOraya kullanmak istemediğimiz bir lisans referansı koymadan hata veya uyarı göstermemeyi nasıl sağlayabilirim ?

Yanıtlar:


177

Yeni npm spesifikasyonuna göre, { "license": "UNLICENSED"} başkalarına özel veya yayınlanmamış bir paketi herhangi bir koşul altında kullanma hakkı vermek istemiyorsanız kullanabilirsiniz.

Lütfen tüm ayrıntılara buradan bakın

Yani bahsettiğiniz hatayı alamayabilirsiniz.


Bu, lisanssız olarak kesinlikle harikadır, ancak harici bir lisansa başvurmak istiyorsanız yardımcı olmaz.
brandonscript

11
Aynı npmjs sayfasından, "Yanlışlıkla yayınlanmasını önlemek için" özel ": true ayarını da düşünün."
bgth

1
SPDX listesi Unlicenseson D olmadan ve karışık durumda içerir. kastettiğin bu mu? buna bakıldığında, bu doğru bir şey gibi görünmüyor. UNLICENSEDListede hiç yok
ekkis

@ekkis, dokümantasyonu geçerli bir değer olarak package.jsontanımlanıyor UNLICENSED(cf. docs.npmjs.com/files/package.json#license ).
Frederik Krautwald

10
İşlemin tam tersidir @ekkis { "license": "UNLICENSED" } spdx.org/licenses/Unlicense . (Lisansa bir göz
attığınızı

51

Package.json için en son belgelere göre :

SPDX tanımlayıcısı atanmamış bir lisans kullanıyorsanız veya özel bir lisans kullanıyorsanız, aşağıdaki geçerli SPDX ifadesini kullanın:

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

Ardından <filename>, paketin en üst düzeyinde adlı bir dosya ekleyin .


6

TR; DL: 'LİSANSSIZ' , lisanssız anlamına gelirken 'lisanssız' (sonunda 'd' yok!) , Çok farklı bir şey olan 'Lisanssız' adlı bir lisansı ifade eder . Karışıklığı önlemek için ve bir telif hakkı ileri sürmek istiyorsanız, birisini aşağıda belirtilen kendi dahili lisans dosyanıza yönlendirmelisiniz.

-

{ "license": "unlicense"}Bir telif hakkı talep tarzı lisansına sahip olmak istediğinizi açıkça belirtmek istiyorsanız, en çok oylanan cevapta önerildiği gibi KULLANMAYIN .

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

LİSANSSIZ lisansın ilk iki paragrafından alınan bir klip, bunun OP'nin bir telif hakkı talebine sahip olma talebiyle hiçbir ilgisi olmadığını açıkça ortaya koymaktadır:

Bu, kamu malı olarak yayınlanan ücretsiz ve ipoteksiz bir yazılımdır.

Bu yazılımı herhangi bir amaçla, ticari veya ticari olmayan herhangi bir amaçla, kaynak kodu biçiminde veya derlenmiş bir ikili olarak herkes kopyalama, değiştirme, yayınlama, kullanma, derleme, satma veya dağıtma özgürlüğüne sahiptir.

En çok oylanan yanıtlara atıfta bulunulduğunda Düğüm dokümantasyonu sayfası, LİSANSSIZ seçeneğini kullanmanın onu başkalarına herhangi bir hak vermemeniz için yapmak olduğunu iddia eder:

Başkalarına özel veya yayınlanmamış bir paketi herhangi bir şart altında kullanma hakkı vermek istemiyorsanız:

Bu, haklarınızı korumak için gerçekten güvenli bir seçim gibi görünmüyor

  • Bunun cehaletten mi yoksa kötü niyetten mi kaynaklandığı konusunda net değilim. Fazladan D'nin eksikliğinin bunların tamamen farklı iki terim olduğu anlamına geldiği sonucuna varabilirsiniz - ancak başkalarının bunu bileceğini ve LİSANSSIZ lisansı aradıklarında bulduğum bağlantıyı alabileceklerini varsayamazsınız.

    {"license": "LİSANSI GÖR"}

Şu anda daha güvenli cevap.

NOT: Bunu bir cevaptan ziyade üst düzey bir cevap yapmanın önemli olduğunu düşündüm, çünkü şu anda en çok oylanan cevap yanlış yorumlanma potansiyeline sahip ve bunun görünürlük gerektiriyor.


2
Bunun doğru olduğunu sanmıyorum. SPDX lisans listesi, bulduğunuz "Lisanssız" için bir giriş içerir ve hiçbir hak vermeyen "LİSANSSIZ" tan farklıdır. spdx.org/licenses/Unlicense.html Dolayısıyla, bir yazım hatası son derece önemli olsa da ("Lisanssız" sınırsız bir lisans ve "LİSANSSIZ" tüm hakları saklı tutuyor), belirsizlik yok. Package.json spesifikasyonu, "LİSANSSIZ" ın "herhangi bir koşul altında" herhangi bir hak vermediğini açıkça belirtir.
wberry

1
Öyle olsa bile, cevabınızın bu iki seçeneğin birbirine ne kadar yakın olduğunu belirtmek için iyi bir amaca hizmet ettiğini düşünüyorum. Dikkat edilmesi gereken bir şey. Stack Overflow'a hoş geldiniz!
wberry

1
Teşekkürler wberry "The Unlicense" için SPDX tanımını görmedim ki bu iyi bir çağrı.
Carl Kidwell
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.