จากคำถามที่พบบ่อยของ GPL (แต่คำแนะนำนี้ใช้ได้กับใบอนุญาตทั้งหมด):
เพราะเหตุใด GPL จึงต้องการรวมถึงสำเนาของ GPL กับสำเนาของทุกโปรแกรม
การแนบสำเนาของใบอนุญาตกับงานมีความสำคัญเพื่อให้ทุกคนที่ได้รับสำเนาของโปรแกรมสามารถรู้ว่าสิทธิของเขาคืออะไร
อาจเป็นการดึงดูดให้ใส่ URL ที่อ้างถึงสิทธิ์ใช้งานแทนที่จะเป็นสิทธิ์ใช้งานของตัวเอง แต่คุณไม่สามารถแน่ใจได้ว่า URL จะยังคงใช้งานได้ห้าปีหรือสิบปีนับจากนี้ ยี่สิบปีต่อจากนี้ URL ที่เรารู้จักในปัจจุบันอาจไม่มีอยู่อีกต่อไป
วิธีเดียวที่จะทำให้แน่ใจว่าผู้ที่มีสำเนาของโปรแกรมจะสามารถดูใบอนุญาตได้แม้จะมีการเปลี่ยนแปลงทั้งหมดที่จะเกิดขึ้นในเครือข่ายก็คือการรวมสำเนาของใบอนุญาตไว้ในโปรแกรม
(เน้นที่เหมือง)
ในขณะที่ไซต์ที่คุณให้สิทธิ์ใช้งานไม่ทำงานหรือเปลี่ยนเส้นทาง URL ผู้ที่มีสำเนาซอฟต์แวร์ของคุณจะไม่สามารถตรวจสอบสิทธิ์ใด ๆ ที่พวกเขาอาจใช้สิทธิ์อย่างปลอดภัย สมมติว่าคุณสามารถรับประกันได้ว่า URL ที่แน่นอนนั้นจะออนไลน์ตลอดไป: ความสามารถสำหรับผู้ใช้ในการตรวจสอบว่าการใช้ซอฟต์แวร์ของพวกเขานั้นถูกกฎหมายยังคงขึ้นอยู่กับความสามารถในการเชื่อมต่อกับ URL นั้น ๆ แม้ว่าข้อกำหนดนี้อาจไม่เป็นภาระในเมือง / ประเทศ / ดาวเคราะห์ของคุณ แต่อาจเป็นภาระอื่น ๆ คุณไม่ควรใช้ข้อกำหนดนี้โดยเฉพาะอย่างยิ่งเมื่อการแก้ปัญหา (รวมถึงข้อความลิขสิทธิ์แบบเต็ม) ไม่สำคัญ
คุณอาจตอบข้อร้องเรียนนี้ด้วยการพูดว่า "แล้วไงถ้า URL ล้มเหลวหรือไม่สามารถเข้าถึงได้ตัวบ่งชี้ที่ชัดเจนเช่น 'GNU GPL v3' น่าจะเพียงพอสำเนาข้อความแบบเต็มของ GPL นั้นอุดมสมบูรณ์ผู้ใช้สามารถค้นหาได้ ใบอนุญาตเอง " ปัญหาบางอย่างเกิดขึ้นในใจทันที:
สิ่งนี้ไม่ได้พูดถึงตัวระบุสิทธิ์ใช้งานที่ชัดเจนน้อยกว่า (วลี "สิทธิ์ใช้งาน BSD" เป็นสิ่งสำคัญ)
สิ่งนี้ไม่ได้พูดคุยกับใบอนุญาตที่พบได้ทั่วไปน้อยกว่าหรือได้รับการปรับแต่ง ("GPL พร้อมข้อยกเว้นการเชื่อมโยง" อยู่ในใจ: การเชื่อมโยงข้อยกเว้นใด) ใบอนุญาตจะต้องพบได้บ่อยแค่ไหนก่อนที่จะมีเหตุผลที่จะคาดหวังว่าผู้ใช้จะพบว่าเชื่อถือได้โดยใช้ชื่อ?
ยังคงกำหนดให้ผู้ใช้ต้องมีการเชื่อมต่ออินเทอร์เน็ตซึ่งอาจไม่ใช่กรณีแม้ว่าพวกเขาจะมีการเชื่อมต่อในเวลาที่พวกเขาได้รับซอฟต์แวร์ (และพวกเขาอาจไม่มีการเข้าถึงอินเทอร์เน็ตเมื่อพวกเขาได้รับซอฟต์แวร์: "ยุคซีดี" ยังไม่สิ้นสุดในหลาย ๆ ส่วนของโลกเป็นกรณีเพิ่มเติมพิจารณาประชากรแห่งชาติที่มีการเข้าถึงอินเทอร์เน็ตอย่างกว้างขวาง แต่เซ็นเซอร์ส่วนใหญ่ของมัน .) ผลลัพธ์ของซอฟต์แวร์ที่แจกจ่ายซ้ำได้อย่างอิสระคือผู้รับอาจไม่ได้รับสำเนาซอฟต์แวร์ของคุณโดยตรงจากคุณหรือผ่านช่องทางการจัดจำหน่ายที่คุณคาดหวังไว้
อาร์กิวเมนต์สุดท้ายสำหรับลิงก์ใบอนุญาตถูกบันทึกไว้โดยความคิดเห็นของ MichaelT ด้านล่าง: มันสามารถช่วยให้คุณเปลี่ยนใบอนุญาตย้อนหลังแบบไดนามิก สิ่งนี้สามารถทำได้โดยจงใจ แต่ก็สามารถทำได้โดยไม่ตั้งใจถ้าคุณเปลี่ยนใบอนุญาตระหว่างซอฟต์แวร์รุ่น แต่ใช้ลิงค์ใบอนุญาตเดียวกันสำหรับทั้งสองรุ่นดังนั้นจึงเป็นการปิดกั้นใบอนุญาตเดิมของคุณ สวิตช์ดังกล่าวจะเพิ่มความยากลำบากสำหรับผู้ที่ต้องการพิสูจน์ว่าพวกเขาได้รับสำเนาที่เก่ากว่าภายใต้ใบอนุญาตที่แตกต่างจากรุ่นปัจจุบัน
เหตุใดฉันต้องเก็บใบอนุญาตไว้ในรูทโครงการ
ฉันไม่ได้เป็นทนายความ แต่ผมไม่เคยเห็นโต้แย้งที่น่าสนใจใด ๆ ที่คุณไม่จำเป็นต้องให้ใบอนุญาตในรากโครงการ แม้แต่ GPL ซึ่งระบุว่าใบอนุญาตจะต้องมาพร้อมกับสำเนาแต่ละชุดของงานก็ยังคงเงียบอยู่กับวิธีที่จะต้องมาพร้อมกับงาน (อาจเป็นเพราะ GPL สามารถนำไปใช้ในบริบทที่ไม่ใช่ซอฟต์แวร์โดยที่แนวคิดของ "ไดเรกทอรีราก" ไม่มีความหมาย)
การรักษาสิทธิ์ใช้งานในไดเรกทอรีรากน่าจะเป็นความคิดที่ดีเพราะจะช่วยเพิ่มโอกาสที่ผู้ใช้จะเห็นและลดทั้งความไม่พอใจของผู้ใช้และโอกาสในการร้องเรียนกับคุณที่พยายามซ่อนใบอนุญาตในไดเรกทอรีที่คลุมเครือ หากคุณมีใบอนุญาตจำนวนมากการวางใบอนุญาตทั้งหมดไว้ในโฟลเดอร์ของตัวเองนั้นเหมาะสมกว่าและรวมถึง README โครงการที่ชัดเจนซึ่งมีเส้นทางไฟล์เพื่อค้นหาใบอนุญาตสำหรับแต่ละองค์ประกอบ
การวางไลเซนส์ของคุณในรูทไดเร็กทอรีเป็นวิธีปฏิบัติที่มีประโยชน์เช่นกันเพราะมันสามารถแก้ปัญหาใบขับขี่ของโมดูลที่ได้รับใบอนุญาตแตกต่างจากที่ทำงานโดยรวม สมมติว่าโครงการของฉัน FooProj ใช้โมดูล BarMod แบบสแตนด์อะโลน FooProj อาจได้รับลิขสิทธิ์ GPL ในขณะที่โมดูลสแตนด์อโลนอาจได้รับอนุญาตจาก MIT เมื่อฉันเปิด FooProj ครั้งแรกฉันเห็นสำเนาของ GPL ในรูทและเข้าใจว่างานโดยรวมเป็นลิขสิทธิ์ของ GPL เมื่อฉันลงไปในโฟลเดอร์สำหรับ BarMod ฉันเห็นไฟล์ลิขสิทธิ์ใหม่ที่นั่นและฉันเข้าใจว่าเนื้อหาของโฟลเดอร์นี้เป็นลิขสิทธิ์ของ MIT แน่นอนว่านี่เป็นเพียงความช่วยเหลือที่มีประโยชน์เท่านั้น คุณควรระบุการให้สิทธิ์ใช้งานโมดูลของคุณอย่างชัดเจนในไฟล์ README, NOTICE หรือไฟล์ที่คล้ายกัน
โดยรวมแล้วการใช้รูทไฟล์นั้นเป็นเรื่องที่สะดวกและชัดเจน ฉันไม่เห็นข้อความใบอนุญาตโอเพนซอร์ซที่มีผลผูกพันตามกฎหมายใด ๆ ที่ต้องมีและฉันไม่รู้เหตุผลใด ๆ ว่าทำไมจึงต้องมีกฎหมาย ใบอนุญาตของคุณควรจะง่ายสำหรับการค้นพบผู้รับ รวมถึงสิทธิ์ใช้งานในรูทโครงการก็เพียงพอ แต่ไม่จำเป็นเพื่อให้เป็นไปตามเกณฑ์นี้