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