Package.json में "सभी अधिकार सुरक्षित" लाइसेंस


111

मेरे पास एक छोटा नोड है। जेएस परियोजना जो कंपनी-आंतरिक है और इसे सार्वजनिक रूप से जारी नहीं किया जाएगा या तीसरे पक्ष के साथ साझा नहीं किया जाएगा। यह निश्चित रूप से किसी भी सार्वजनिक पैकेज रिपॉजिटरी में योगदान नहीं किया जाएगा।

लेकिन जब मैं दौड़ता 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

{ "license": "UNLICENSED"} यदि आप अपनी शर्तों के तहत एक निजी या अप्रकाशित पैकेज का उपयोग करने का अधिकार दूसरों को देना नहीं चाहते हैं तो नए npm विनिर्देशन के अनुसार आप इसका उपयोग कर सकते हैं ।

कृपया यहाँ पूरा विवरण देखें

इसलिए आपको बताई गई त्रुटि नहीं मिल सकती है।


यह निश्चित रूप से बिना लाइसेंस के लिए बहुत अच्छा है, लेकिन अगर आप बाहरी लाइसेंस का संदर्भ लेना चाहते हैं तो यह मदद नहीं करता है।
ब्रांडनस्क्रिप्ट

11
उसी npmjs पृष्ठ से, "निजीकरण" पर भी विचार करें: आकस्मिक प्रकाशन को रोकने के लिए सही। "
bgth

1
SPDX सूची में Unlicenseअंतिम D के बिना और मिश्रित मामले में है। यह है कि आप क्या बात कर रहे हैं? हालांकि इसे देखने में, ऐसा नहीं लगता कि यह सही बात होगी। UNLICENSEDसूची में कोई नहीं है
इकिस

@ekkis, का दस्तावेज़ीकरण एक वैध मान के रूप में package.jsonवर्णन करता है UNLICENSED(cf. docs.npmjs.com/files/package.json#license )।
फ्रेडरिक क्राउटवल्ड

10
@ekkis Unlicense की पूरी विपरीत है { "license": "UNLICENSED" } spdx.org/licenses/Unlicense । (मुझे लगता है कि आपके पास लाइसेंस पर एक नज़र थी और देखा कि यह सही नहीं था, मुझे लगा कि इस मामले को केवल यहाँ समाप्त करने की आवश्यकता है)
जॉलीजॉकर

51

Package.json के लिए नवीनतम डॉक्स के अनुसार :

यदि आप एक लाइसेंस का उपयोग कर रहे हैं जिसे SPDX पहचानकर्ता नहीं सौंपा गया है, या यदि आप एक कस्टम लाइसेंस का उपयोग कर रहे हैं, तो निम्न मान्य SPDX अभिव्यक्ति का उपयोग करें:

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

फिर <filename>पैकेज के शीर्ष स्तर पर नामित एक फ़ाइल शामिल करें ।


5

TR; DL: 'UNLICENSED' का अर्थ है लाइसेंस प्राप्त नहीं है, जबकि ' Unlicense' (अंत में कोई 'd'!) 'लाइसेंस रहित' नाम के एक लाइसेंस को संदर्भित करता है जो कुछ बहुत अलग है। भ्रम को रोकने के लिए, और यदि आप एक कॉपीराइट का दावा करना चाहते हैं, तो आपको किसी को अपनी आंतरिक लाइसेंस फ़ाइल के नीचे इंगित करना चाहिए।

-

{ "license": "unlicense"}यदि आप स्पष्ट रूप से यह बताना चाहते हैं कि आप कॉपीराइट दावा शैली लाइसेंस प्राप्त करना चाहते हैं, तो निश्चित रूप से शीर्ष मत दिए गए उत्तर में सुझाए अनुसार उपयोग न करें ।

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

UNLICENSE लाइसेंस के पहले दो पैराग्राफ से एक क्लिप यह स्पष्ट करती है कि कॉपीराइट का दावा करने के लिए ओपी के अनुरोध के लिए इसका कोई संबंध नहीं है:

यह सार्वजनिक डोमेन में जारी किया गया मुफ्त और बिना लाइसेंस वाला सॉफ्टवेयर है।

कोई भी, किसी भी उद्देश्य से, वाणिज्यिक या गैर-वाणिज्यिक, और किसी भी माध्यम से, इस सॉफ़्टवेयर को कॉपी, संशोधित, प्रकाशित, उपयोग, संकलित, बेच या वितरित कर सकता है।

शीर्ष मतदान के जवाब के लिए, नोड प्रलेखन पृष्ठ एक दावा करता है कि UNLICENSED विकल्प का उपयोग करना है ताकि आप दूसरों को कोई अधिकार नहीं दे रहे हैं:

यदि आप दूसरों को किसी भी शर्त के तहत निजी या अप्रकाशित पैकेज का उपयोग करने का अधिकार नहीं देना चाहते हैं:

यह आपके अधिकारों को बनाए रखने के लिए एक वास्तविक सुरक्षित विकल्प प्रतीत नहीं होता है

  • अगर यह अज्ञानता या बुरे इरादे का नतीजा था तो मैं स्पष्ट नहीं हूं। आप अनुमान लगा सकते हैं कि अतिरिक्त डी की कमी का मतलब है कि ये दो पूरी तरह से अलग-अलग शब्द हैं - लेकिन आप यह नहीं मान सकते हैं कि दूसरों को पता चल जाएगा कि और जब वे इस बात की खोज करेंगे कि UNLICENSED लाइसेंस क्या है तो मुझे जो लिंक मिला है वह मिल सकता है।

    {"लाइसेंस": "SEE LICENSE IN"}

क्या इस समय सुरक्षित उत्तर है।

नोट: मैंने महसूस किया कि यह एक उत्तर के बजाय एक शीर्ष स्तर का उत्तर देना महत्वपूर्ण था, क्योंकि इस समय शीर्ष मतदान के उत्तर की गलत व्याख्या होने की बड़ी संभावना है और इसे दृश्यता की आवश्यकता है।


2
मुझे नहीं लगता कि यह सही है। लाइसेंस की SPDX सूची में "द अनलाइसेंस" के लिए एक प्रविष्टि शामिल है जो आपको मिला, और यह "UNLICENSED" से अलग है जो कोई अधिकार नहीं देता है। spdx.org/licenses/Unlicense.html तो जबकि वर्तनी की त्रुटि अत्यधिक परिणामी होगी ("Unlicense" एक अप्रतिबंधित लाइसेंस है और "UNLICENSED" सभी अधिकारों को संग्रहीत करता है), कोई अस्पष्टता नहीं है। Package.json कल्पना स्पष्ट रूप से बताती है कि "UNLICENSED" किसी भी अधिकार को "किसी भी शर्त के तहत" प्रदान नहीं करता है।
wberry

1
फिर भी, मुझे लगता है कि आपका जवाब यह बताने का एक अच्छा उद्देश्य है कि ये दोनों विकल्प एक-दूसरे के कितने करीब हैं। यह देखने के लिए कुछ है। ढेर अतिप्रवाह में आपका स्वागत है!
wberry

1
धन्यवाद wberry मैं "unlicense" के लिए SPDX परिभाषा नहीं देखा था कि एक अच्छा फोन है।
कार्ल किडवेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.