خلال المناقشة
أما بالنسبة لمشروع ZFS على Linux، لم ينصح Linus باستخدام وحدة zfs بسبب عدم توافق تراخيص CDDL وGPLv2. الوضع هو أنه نظرًا لسياسة الترخيص الخاصة بشركة Oracle، فإن فرص تمكن ZFS من الدخول إلى النواة الرئيسية ضئيلة جدًا. الطبقات المقترحة لتجاوز عدم توافق الترخيص، والتي تترجم الوصول إلى وظائف kernel إلى كود خارجي، هي حل مشكوك فيه - يواصل المحامون
الخيار الوحيد الذي سيوافق فيه Linus على قبول كود ZFS في النواة الرئيسية هو الحصول على إذن رسمي من Oracle، مصدق عليه من المحامي الرئيسي، أو الأفضل من ذلك، Larry Ellison نفسه. لا يُسمح بالحلول الوسيطة، مثل الطبقات بين kernel ورمز ZFS، نظرًا لسياسة Oracle الصارمة فيما يتعلق بالملكية الفكرية لواجهات البرمجة (على سبيل المثال،
دعنا نذكرك أن كود ZFS يتم توزيعه بموجب ترخيص CDDL مجاني، وهو غير متوافق مع GPLv2، والذي لا يسمح بدمج ZFS على Linux في الفرع الرئيسي لنواة Linux، حيث يتم خلط الكود تحت تراخيص GPLv2 وCDDL غير مقبول. للتحايل على عدم توافق الترخيص هذا، قرر مشروع ZFS على Linux توزيع المنتج بأكمله بموجب ترخيص CDDL في شكل وحدة محملة بشكل منفصل يتم توفيرها بشكل منفصل عن النواة.
إن إمكانية توزيع وحدة ZFS الجاهزة كجزء من مجموعات التوزيع أمر مثير للجدل بين المحامين. محامون من منظمة حماية حرية البرمجيات (SFC)
ويعارض الجانب الآخر أن مشكلة توافق النواة في برامج التشغيل الاحتكارية يتم حلها عن طريق توفير طبقة صغيرة موزعة بموجب ترخيص GPL (يتم تحميل وحدة نمطية بموجب ترخيص GPL في النواة، والتي تقوم بالفعل بتحميل المكونات الاحتكارية). بالنسبة إلى ZFS، لا يمكن إعداد هذه الطبقة إلا إذا تم توفير استثناءات الترخيص من Oracle. في Oracle Linux، يتم حل عدم التوافق مع GPL من خلال توفير Oracle استثناء ترخيص يزيل متطلبات ترخيص العمل المدمج بموجب CDDL، لكن هذا الاستثناء لا ينطبق على التوزيعات الأخرى.
يتمثل الحل البديل في توفير التعليمات البرمجية المصدر للوحدة النمطية في التوزيع فقط، وهو ما لا يؤدي إلى التجميع ويعتبر بمثابة تسليم منتجين منفصلين. في دبيان، يتم استخدام نظام DKMS (دعم وحدة النواة الديناميكية) لهذا الغرض، حيث يتم توفير الوحدة في كود المصدر ويتم تجميعها على نظام المستخدم مباشرة بعد تثبيت الحزمة.
المصدر: opennet.ru