ในระหว่างการอภิปราย
สำหรับโปรเจ็กต์ ZFS บน Linux นั้น Linus ไม่แนะนำให้ใช้โมดูล zfs เนื่องจากสิทธิ์ใช้งาน CDDL และ GPLv2 ไม่เข้ากัน สถานการณ์คือเนื่องจากนโยบายการออกใบอนุญาตของ Oracle โอกาสที่ ZFS จะสามารถเข้าสู่เคอร์เนลหลักจึงมีน้อยมาก เลเยอร์ที่เสนอเพื่อหลีกเลี่ยงความไม่ลงรอยกันของใบอนุญาตซึ่งแปลการเข้าถึงฟังก์ชันเคอร์เนลไปเป็นโค้ดภายนอกเป็นวิธีแก้ปัญหาที่น่าสงสัย - ทนายความกล่าวต่อ
ทางเลือกเดียวที่ Linus ตกลงที่จะยอมรับรหัส ZFS ลงในเคอร์เนลหลักคือการได้รับอนุญาตอย่างเป็นทางการจาก Oracle ซึ่งได้รับการรับรองโดยทนายความหลัก หรือที่ดีกว่าคือ Larry Ellison เอง ไม่อนุญาตให้ใช้โซลูชันระดับกลาง เช่น เลเยอร์ระหว่างเคอร์เนลและโค้ด ZFS เนื่องจากนโยบายเชิงรุกของ Oracle เกี่ยวกับทรัพย์สินทางปัญญาของอินเทอร์เฟซการเขียนโปรแกรม (เช่น
เราขอเตือนคุณว่ารหัส ZFS ได้รับการเผยแพร่ภายใต้ใบอนุญาต CDDL ฟรี ซึ่งเข้ากันไม่ได้กับ GPLv2 ซึ่งไม่อนุญาตให้รวม ZFS บน Linux เข้ากับสาขาหลักของเคอร์เนล Linux เนื่องจากมีการผสมรหัสภายใต้ใบอนุญาต GPLv2 และ CDDL เป็นที่ยอมรับไม่ได้ เพื่อหลีกเลี่ยงความไม่เข้ากันของใบอนุญาตนี้ โครงการ ZFS บน Linux จึงตัดสินใจแจกจ่ายผลิตภัณฑ์ทั้งหมดภายใต้ใบอนุญาต CDDL ในรูปแบบของโมดูลที่โหลดแยกต่างหากซึ่งจัดหาแยกต่างหากจากเคอร์เนล
ความเป็นไปได้ในการแจกจ่ายโมดูล ZFS สำเร็จรูปโดยเป็นส่วนหนึ่งของชุดแจกจ่ายเป็นเรื่องที่ถกเถียงกันในหมู่นักกฎหมาย ทนายความจาก Software Freedom Conservancy (SFC)
อีกด้านหนึ่งระบุว่าปัญหาความเข้ากันได้ของเคอร์เนลในไดรเวอร์ที่เป็นกรรมสิทธิ์ได้รับการแก้ไขโดยการจัดหาเลเยอร์ขนาดเล็กที่แจกจ่ายภายใต้ใบอนุญาต GPL (โมดูลภายใต้ใบอนุญาต GPL จะถูกโหลดลงในเคอร์เนลซึ่งโหลดส่วนประกอบที่เป็นกรรมสิทธิ์แล้ว) สำหรับ ZFS สามารถเตรียมเลเยอร์ดังกล่าวได้ก็ต่อเมื่อมีการจัดเตรียมข้อยกเว้นใบอนุญาตจาก Oracle เท่านั้น ใน Oracle Linux ความเข้ากันไม่ได้กับ GPL ได้รับการแก้ไขโดย Oracle โดยมีข้อยกเว้นสิทธิ์การใช้งานที่จะลบข้อกำหนดในการอนุญาตสิทธิ์การทำงานแบบรวมภายใต้ CDDL แต่ข้อยกเว้นนี้ใช้ไม่ได้กับการแจกจ่ายอื่น ๆ
วิธีแก้ปัญหาชั่วคราวคือการจัดเตรียมเฉพาะซอร์สโค้ดของโมดูลในการแจกจ่าย ซึ่งไม่นำไปสู่การรวมกลุ่ม และถือเป็นการส่งมอบผลิตภัณฑ์สองรายการที่แยกจากกัน ใน Debian ระบบ DKMS (Dynamic Kernel Module Support) ใช้สำหรับสิ่งนี้ ซึ่งโมดูลได้รับการจัดเตรียมในซอร์สโค้ดและประกอบบนระบบของผู้ใช้ทันทีหลังจากติดตั้งแพ็คเกจ
ที่มา: opennet.ru