ควรใส่อะไรลงในช่องใบอนุญาตของ package.json หากรหัสของฉันใช้สำหรับ บริษัท ที่ฉันทำงานเท่านั้น


110

NPM 2.11.3

ฉันกำลังสร้างห้องสมุดในโหนด ไลบรารีนี้ใช้สำหรับ บริษัท ที่ฉันกำลังทำงานอยู่เท่านั้น ฉันคิดว่านี่หมายความว่าใบอนุญาต "ไม่มี" แต่เมื่อฉันnpm initต้องการให้ฉันใช้ใบอนุญาต SPDX "ไม่มี" หรือ "ไม่มีใบอนุญาต" ไม่ใช่ตัวเลือกที่ถูกต้อง

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

มีการพูดคุยเกี่ยวกับเรื่องนี้ในเครื่องมือติดตามปัญหา NPM GitHub แต่ฉันไม่พบสิ่งใดที่ตอบโจทย์นี้ได้อย่างชัดเจน บางที NPM อาจไม่สนับสนุนแนวคิดนี้ แต่ดูเหมือนจะแปลก

ฉันควรใส่อะไรสำหรับฟิลด์นี้ในกรณีนี้? ฉันต้องการกำจัดคำเตือน npm ที่เกี่ยวข้องกับสิ่งนี้

แม้ว่าเอกสารจะบอกว่า UNLICENSED นั้นถูกต้อง แต่ก็ยังคงให้คำเตือน:

$ 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

ฉันคิดว่านี่คือคำตอบของคุณ: programmers.stackexchange.com/questions/285885/…
Simon Groenewolt

ดูเหมือนว่า @SimonGroenewolt ต้องการใส่เป็นคำตอบหรือไม่?
jcollum

ปัญหา NPM ที่พูดถึงหัวข้อนี้: github.com/npm/npm/issues/8918#issuecomment-138059254
jcollum

คำตอบ:


101

ซึ่งหมายความว่าคุณไม่มีสิทธิ์ในรหัสที่คุณเขียน?
ses

5
@ses - ดูเหมือนว่า "UNLICENSED" หมายความว่าไม่อนุญาตให้ผู้อื่นใช้: "สุดท้ายนี้หากคุณไม่ต้องการให้สิทธิ์ผู้อื่นในการใช้แพ็กเกจส่วนตัวหรือไม่ได้เผยแพร่ภายใต้ข้อกำหนดใด ๆ : {" license ":" UNLICENSED " } "(จากdocs.npmjs.com/files/package.json )
Tomer Cagan

4
UNLICENSED ไม่เหมือนกับ "The Unlicense" มันสับสน โปรดลบการลงคะแนนของคุณเนื่องจากคุณอ่านเอกสารผิด
jcollum

2
@jcollum ตกลง ฉันเห็นด้วย. อ๊ะ! กฎบอกว่าฉันไม่สามารถแก้ไขได้เว้นแต่จะแก้ไขคำตอบซึ่งเป็นข้อกำหนดที่เข้มงวดในการเปิดใช้งานสิ่งที่ถูกต้อง
artziff

1
@artziff คำตอบการเปลี่ยนแปลง
jcollum

60

ในขณะที่เขียน UNLICENSED (ดูตัวอย่างโค้ดในคำถาม) ไม่ใช่ตัวเลือกโปรดดูคำตอบ jcollumns

เพิ่มprivateเพื่อpackage.jsonจะช่วยให้:

"private": true

10
สิ่งนี้ไม่เกี่ยวข้องกับใบอนุญาตคุณอาจต้องการเผยแพร่โมดูลที่มีลิขสิทธิ์ไปยังรีจิสทรีของคุณ: stackoverflow.com/questions/7314849/… "หากคุณตั้งค่า" private ": true ไว้ใน package.json ของคุณ npm จะปฏิเสธ เพื่อเผยแพร่นี่เป็นวิธีป้องกันการเผยแพร่ที่เก็บส่วนตัวโดยไม่ได้ตั้งใจ "
pdem

ในขณะที่เขียน UNLICENSED - (ดูตัวอย่างโค้ดในคำถาม) ไม่ใช่ตัวเลือกโปรดดูคำตอบ jcollumns
Kieran

13

ในคอลัมน์ที่สองของตารางที่พบในลิงค์นี้https://spdx.org/licenses/คุณสามารถดูรูปแบบ SPDX ต่างๆที่จะใช้ในpackage.jsonไฟล์.

ชื่อของคอลัมน์เป็นIdentifierเพียงกรณี ขอบคุณและหวังว่ามันจะช่วยได้


1
สิ่งนี้ถูกต้อง แต่โปรดทราบในลิงก์ "รายการใบอนุญาต SPDX คือรายการใบอนุญาตและข้อยกเว้นที่พบโดยทั่วไปซึ่งใช้ในซอฟต์แวร์หรือเอกสารสำหรับการทำงานร่วมกันแบบโอเพนซอร์สและฟรี นั่นหมายความว่า SPDX ไม่ใช้กับใบอนุญาตที่มีลิขสิทธิ์ของ บริษัท
pdem
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.