อ่าน 2 นาที
ข้อยกเว้นการเชื่อมโยง GPL
ข้อยกเว้นการเชื่อมโยง GPL ปรับเปลี่ยน GNU General Public License (GPL) ในลักษณะที่ทำให้โครงการซอฟต์แวร์ที่จัดเตรียม โค้ด ไลบรารี สามารถ " เชื่อมโยง" กับ...
ข้อยกเว้นการเชื่อมโยง GPL
ข้อยกเว้นการเชื่อมโยง GPLปรับเปลี่ยนGNU General Public License (GPL) ในลักษณะที่ทำให้โครงการซอฟต์แวร์ที่จัดเตรียม โค้ด ไลบรารีสามารถ " เชื่อมโยง" กับโปรแกรมที่ใช้โค้ดเหล่านั้นได้ โดยไม่ต้องใช้ข้อกำหนดทั้งหมดของ GPL กับโปรแกรมที่ใช้โค้ดนั้น การเชื่อมโยงเป็นกระบวนการทางเทคนิคในการเชื่อมต่อโค้ดในไลบรารีกับโค้ดที่ใช้ เพื่อสร้างไฟล์ปฏิบัติการ เดียว โดยจะดำเนินการในระหว่างการคอมไพล์หรือในระหว่างการทำงานเพื่อสร้างโค้ดที่เครื่องอ่านได้และใช้งานได้ มูลนิธิซอฟต์แวร์เสรีระบุว่า หากไม่ใช้ข้อยกเว้นการเชื่อมโยงโปรแกรมที่เชื่อมโยงกับโค้ดไลบรารี GPL จะสามารถเผยแพร่ได้ภายใต้ใบอนุญาตที่เข้ากันได้กับ GPL เท่านั้น[ 1 ]เรื่องนี้ยังไม่ได้รับการทดสอบอย่างชัดเจนในศาล แต่การละเมิดการเชื่อมโยงส่งผลให้เกิดการประนีประนอม[ 2 ]ใบอนุญาตของ โครงการ GNU Classpathมีข้อความที่ระบุถึงเรื่องนี้อย่างชัดเจน
ไลบรารีซอฟต์แวร์ฟรีจำนวนมากที่เผยแพร่ภายใต้ GPL ใช้ข้อยกเว้นที่เทียบเท่ากัน แม้ว่าถ้อยคำของข้อยกเว้นจะแตกต่างกัน โครงการที่โดดเด่น ได้แก่ERIKA Enterprise [ 3 ] GNU Guile [ 4 ] ไลบรารีรันไทม์ของGNAT [ 4 ] GNU Classpath [ 5 ]และ ข้อ ยกเว้นไลบรารีรันไทม์ของGCC [ 6 ]
ไลบรารีรันไทม์ของคอมไพเลอร์มักใช้การแก้ไขใบอนุญาตนี้หรือใบอนุญาตที่เทียบเท่ากัน เช่นlibgccไลบรารีใน GNU Compiler Collection [ 7 ]รวมถึงไลบรารีทั้งหมดของโครงการ Free Pascal ด้วย
ในปี พ.ศ. 2550 Sun Microsystems ได้เผยแพร่ซอร์สโค้ด ส่วนใหญ่ของ ไลบรารีคลาสสำหรับ โครงการ Java SEและJava EEภายใต้ใบอนุญาต GPL เวอร์ชัน 2 พร้อมข้อยกเว้นการเชื่อมโยง Classpath [ 8 ]และใช้ใบอนุญาตเดียวกันนี้เป็นหนึ่งในใบอนุญาตที่เป็นไปได้สำหรับเซิร์ฟเวอร์ระดับองค์กรGlassFish [ 9 ]และสำหรับNetBeans Java IDEของ พวกเขา [ 10 ]
เวอร์ชัน 3 ของGNU Lesser General Public License (LGPL) [ 11 ]ก็ถูกสร้างขึ้นเป็นข้อยกเว้นของ GPL เช่นกัน[ 12 ]
ข้อยกเว้น Classpath
โครงการGNU Classpathเป็นตัวอย่างของการใช้ข้อยกเว้นการเชื่อมโยง GPL ดังกล่าว ไลบรารี GNU Classpath ใช้ใบอนุญาตดังต่อไปนี้:
Classpath เผยแพร่ภายใต้เงื่อนไขของสัญญาอนุญาตสาธารณะทั่วไปของ GNU โดยมีข้อชี้แจงและข้อยกเว้นพิเศษดังต่อไปนี้
การเชื่อมโยงไลบรารีนี้แบบคงที่หรือแบบไดนามิกกับโมดูลอื่น ๆ จะสร้างงานแบบผสมผสานโดยใช้ไลบรารีนี้ ดังนั้น ข้อกำหนดและเงื่อนไขของสัญญาอนุญาตสาธารณะทั่วไปของ GNU จึงครอบคลุมการผสมผสานทั้งหมดนี้
ภายใต้ข้อยกเว้นพิเศษ ผู้ถือลิขสิทธิ์ของไลบรารีนี้อนุญาตให้คุณเชื่อมโยงไลบรารีนี้กับโมดูลอิสระเพื่อสร้างไฟล์ปฏิบัติการได้ โดยไม่คำนึงถึงเงื่อนไขใบอนุญาตของโมดูลอิสระเหล่านั้น และคัดลอกและแจกจ่ายไฟล์ปฏิบัติการที่ได้ภายใต้เงื่อนไขที่คุณเลือก โดยมีเงื่อนไขว่าคุณต้องปฏิบัติตามข้อกำหนดและเงื่อนไขของใบอนุญาตของโมดูลอิสระแต่ละโมดูลที่เชื่อมโยงด้วย โมดูลอิสระคือโมดูลที่ไม่ได้ดัดแปลงหรืออิงตามไลบรารีนี้ หากคุณแก้ไขไลบรารีนี้ คุณอาจขยายข้อยกเว้นนี้ไปยังเวอร์ชันของไลบรารีของคุณได้ แต่คุณไม่จำเป็นต้องทำเช่นนั้น หากคุณไม่ต้องการทำเช่นนั้น ให้ลบข้อความข้อยกเว้นนี้ออกจากเวอร์ชันของคุณ
ด้วยเหตุนี้ จึงสามารถใช้เพื่อเรียกใช้ สร้าง และแจกจ่ายแอปพลิเคชันและแอปเพล็ตได้หลากหลายประเภท เมื่อใช้ GNU Classpath โดยไม่แก้ไขเป็นไลบรารีคลาสหลักสำหรับเครื่องเสมือน คอมไพเลอร์สำหรับภาษา Java หรือสำหรับโปรแกรมที่เขียนด้วยภาษาการเขียนโปรแกรม Java จะไม่ส่งผลกระทบต่อการอนุญาตสำหรับการแจกจ่ายโปรแกรมเหล่านั้นโดยตรง[ 5 ]
ใบอนุญาตสาธารณะทั่วไปแบบย่อของ GNU
ในขณะที่ LGPL เวอร์ชัน 2.1 เป็นใบอนุญาตแบบแยกต่างหาก แต่LGPLเวอร์ชัน 3 ในปัจจุบันนั้นอิงตาม GPL
เมื่อเปรียบเทียบกับสัญญาอนุญาต GNU Classpath ข้างต้น สัญญาอนุญาต LGPL กำหนดข้อกำหนดเพิ่มเติมสำหรับข้อยกเว้นการเชื่อมโยง กล่าวคือ ผู้ได้รับอนุญาตต้องอนุญาตให้แก้ไขส่วนต่างๆ ของไลบรารีที่ตนใช้งาน และอนุญาตให้ทำการวิศวกรรมย้อนกลับ (ทั้งซอฟต์แวร์ของตนและไลบรารี) เพื่อแก้ไขข้อบกพร่องของการแก้ไขดังกล่าว
ดูเพิ่มเติม
- ใบอนุญาตสาธารณะทั่วไปของ GNU § การเชื่อมโยงและผลงานที่ดัดแปลง
- ใบอนุญาตซอฟต์แวร์เสรี
- ใบอนุญาตสาธารณะทั่วไปที่แก้ไขแล้วของ GNAT
- ข้อผิดพลาด OpenSSL
- ซอฟต์แวร์ที่ใช้ข้อยกเว้นการเชื่อมโยง GPL (หมวดหมู่)
- ข้อยกเว้นฟอนต์ GPL
ลิงก์ภายนอก
ผลงานที่เกี่ยวข้องกับข้อยกเว้นการเชื่อมโยง GPLที่ Wikisource
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ข้อยกเว้นการเชื่อมโยง GPL
ข้อยกเว้นการเชื่อมโยง GPL ปรับเปลี่ยน GNU General Public License (GPL) ในลักษณะที่ทำให้โครงการซอฟต์แวร์ที่จัดเตรียม โค้ด ไลบรารี สามารถ " เชื่อมโยง" กับ...
ข้อยกเว้น Classpath
โครงการ GNU Classpath เป็นตัวอย่างของการใช้ข้อยกเว้นการเชื่อมโยง GPL ดังกล่าว ไลบรารี GNU Classpath ใช้ใบอนุญาตดังต่อไปนี้:
ใบอนุญาตสาธารณะทั่วไปแบบย่อของ GNU
ในขณะที่ LGPL เวอร์ชัน 2.1 เป็นใบอนุญาตแบบแยกต่างหาก แต่ LGPL เวอร์ชัน 3 ในปัจจุบันนั้นอิงตาม GPL
ดูเพิ่มเติม
ใบอนุญาตสาธารณะทั่วไปของ GNU § การเชื่อมโยงและผลงานที่ดัดแปลง ใบอนุญาตซอฟต์แวร์เสรี ใบอนุญาตสาธารณะทั่วไปที่แก้ไขแล้วของ GNAT ข้อผิดพลาด OpenSSL ซอฟต์แวร์ที่ใช้ข้อยกเว้นการเชื่อมโยง GPL (หมวดหมู่) ข้อยกเว้นฟอนต์ GPL