در طول بحث در مورد آزمون های زمانبندی وظیفه ، یکی از شرکت کنندگان در این بحث نمونه ای از این واقعیت را ارائه داد که با وجود اظهارات در مورد لزوم حفظ سازگاری هنگام توسعه هسته لینوکس ، تغییرات اخیر در هسته عملکرد صحیح ZFS در ماژول لینوکس را مختل کرد. لینوس توروالدز پاسخ داد كه اصل "نكردن كاربران" به حفظ رابطهای هسته خارجی كه توسط كاربردها در فضای كاربر و همچنین خود هسته استفاده می شود اشاره دارد. اما این برنامه شامل افزودنیهای شخص ثالث به طور جداگانه توسعه یافته روی هسته نیست که در ترکیب اصلی هسته پذیرفته نشده است ، که نویسندگان آن را در معرض خطر و خطر خود قرار می دهد ، باید تغییرات مربوط به خود هسته را دنبال کند.
با توجه به پروژه ZFS در لینوکس ، لینوس به دلیل ناسازگاری مجوزهای CDDL و GPLv2 استفاده از ماژول zfs را توصیه نکرد. شرایط به گونه ای است که به دلیل سیاست صدور مجوز از اوراکل ، احتمال اینکه روزی ZFS بتواند وارد ترکیب اصلی هسته شود ، بسیار اندک است. لایه هایی که برای دور زدن ناسازگاری مجوز ، انتقال دسترسی به توابع هسته برای کد خارجی پیشنهاد شده است ، یک تصمیم مشکوک است – وکلا همچنان در مورد اینکه آیا صادرات مجدد عملکردهای هسته GPL از طریق لفاف ها انجام می شود ، استدلال می کنند که اثری مشتق شده را که باید تحت مجوز GPL تحویل شود ، استدلال می کنند.
تنها گزینه ای که لینوس می پذیرد کد ZFS را در هسته اصلی بپذیرد ، اخذ مجوز رسمی از اوراکل است ، که توسط دادستان ارشد تأیید شده است ، و بهتر توسط خود لری الیسون. با توجه به سیاست تهاجمی اوراکل در مورد مالکیت معنوی در رابط های برنامه نویسی ، راه حل های واسطه ای ، از جمله لایه های بین هسته و کد ZFS ، قابل قبول نیستند (به عنوان مثال ، آزمایش Google از API جاوا). علاوه بر این ، لینوس میل به استفاده از ZFS را تنها ادای احترام به مد می داند ، و نه مزایای فنی. تست های عملکردی که لینوس مطالعه کرده است به نفع ZFS شهادت نمی دهد و عدم پشتیبانی کامل ، ثبات را در طولانی مدت تضمین نمی کند.
به یاد بیاورید که کد ZFS تحت مجوز CDDL رایگان توزیع شده است ، که با GPLv2 ناسازگار است ، که اجازه نمی دهد ZFS را در لینوکس در شاخه اصلی هسته لینوکس ادغام کنید ، زیرا مخلوط کردن کد تحت مجوزهای GPLv2 و CDDL غیرقابل قبول است. برای دور زدن این ناسازگاری مجوز ، پروژه ZFS در لینوکس تصمیم گرفت کل محصول را تحت مجوز CDDL به عنوان یک ماژول جداگانه قابل بارگیری توزیع کند ، که به طور جداگانه از هسته تهیه می شود.
امکان توزیع ماژول ZFS تمام شده به عنوان بخشی از توزیع ، موجب اختلاف نظر میان وکلا می شود. وکلا در حفاظت از آزادی نرم افزار (SFC) معتقدند که ارائه یک ماژول هسته دودویی در بسته بندی توزیع ، یک محصول ترکیبی GPL را با نیاز به توزیع کار نهایی تحت GPL تشکیل می دهد. وکلا کانونی مخالف هستند و استدلال می کنند که تحویل ماژول zfs مجاز است در صورت تهیه این مؤلفه به عنوان یک ماژول خود مختار ، جدا از بسته با هسته باشد. کانونی خاطرنشان می کند که توزیع ها مدت هاست که از رویکردی مشابه برای تهیه درایورهای اختصاصی مانند درایورهای NVIDIA استفاده می کنند.
طرف مقابل با تهیه یك لایه ی كوچك كه تحت مجوز GPL توزیع می شود حل می كند كه مشكل سازگاری با هسته در رانندگان اختصاصی حل می شود (ماژول تحت مجوز GPL در هسته بارگذاری می شود ، كه در حال حاضر اجزای اختصاصی را بار می آورد). برای ZFS ، چنین لایه ای فقط در صورت تهیه استثنائات مجوز از اوراکل قابل تهیه است. در اوراکل لینوکس ، ناسازگاری GPL با تهیه یک استثناء مجوز از اوراکل برطرف می شود که الزام صدور مجوز برای کارهای ترکیبی CDDL را حذف می کند ، اما این استثنا برای سایر توزیع ها صدق نمی کند.
راه حل ارائه تنها منبع منبع ماژول در توزیع است ، که منجر به اتصال نمی شود و به عنوان تحویل دو محصول جداگانه در نظر گرفته می شود. دبیان برای این کار از سیستم DKMS (پشتیبانی ماژول پویا داینامیک) استفاده می کند ، که در آن ماژول در کد منبع تحویل داده می شود و بلافاصله پس از نصب بسته روی سیستم کاربر ساخته می شود.
OpenNET