در طول بحث
در مورد پروژه ZFS در لینوکس، لینوس استفاده از ماژول zfs را به دلیل ناسازگاری مجوزهای CDDL و GPLv2 توصیه نکرد. وضعیت به این صورت است که به دلیل سیاست صدور مجوز اوراکل، احتمال اینکه ZFS بتواند به هسته اصلی وارد شود بسیار کم است. لایههای پیشنهادی برای دور زدن ناسازگاری مجوز، که دسترسی به توابع هسته را به کد خارجی ترجمه میکنند، راهحل مشکوکی هستند - وکلا ادامه میدهند.
تنها گزینه ای که لینوس با پذیرش کد ZFS در هسته اصلی موافقت می کند، دریافت مجوز رسمی از اوراکل است که توسط وکیل اصلی یا بهتر است بگوییم خود لری الیسون تأیید شده باشد. با توجه به سیاست تهاجمی Oracle در مورد مالکیت معنوی رابط های برنامه نویسی، راه حل های میانی، مانند لایه های بین هسته و کد ZFS، مجاز نیستند (به عنوان مثال،
یادآوری می کنیم که کد ZFS تحت یک مجوز CDDL رایگان توزیع می شود که با GPLv2 ناسازگار است، که اجازه نمی دهد ZFS روی لینوکس در شاخه اصلی هسته لینوکس ادغام شود، زیرا کدهای ترکیبی تحت مجوزهای GPLv2 و CDDL غیر قابل قبول است برای دور زدن این ناسازگاری مجوز، پروژه ZFS در لینوکس تصمیم گرفت کل محصول را تحت مجوز CDDL در قالب یک ماژول بارگذاری شده جداگانه که جداگانه از هسته عرضه می شود، توزیع کند.
امکان توزیع یک ماژول آماده ZFS به عنوان بخشی از کیت های توزیع در بین وکلا بحث برانگیز است. وکلای حفاظت از آزادی نرم افزار (SFC)
طرف دیگر مخالفت می کند که مشکل سازگاری هسته در درایورهای اختصاصی با ارائه یک لایه کوچک توزیع شده تحت مجوز GPL حل می شود (یک ماژول تحت مجوز GPL در هسته بارگذاری می شود که قبلاً مؤلفه های اختصاصی را بارگذاری می کند). برای ZFS، چنین لایه ای تنها در صورتی می تواند آماده شود که استثنائات مجوز از Oracle ارائه شده باشد. در لینوکس اوراکل، ناسازگاری با GPL با ارائه یک استثنا مجوز که الزام مجوز کار ترکیبی تحت CDDL را حذف میکند، حل میشود، اما این استثنا برای سایر توزیعها اعمال نمیشود.
یک راه حل این است که فقط کد منبع ماژول را در توزیع ارائه کنید، که منجر به بستهبندی نمیشود و به عنوان تحویل دو محصول جداگانه در نظر گرفته میشود. در دبیان از سیستم DKMS (پشتیبانی از ماژول هسته پویا) برای این کار استفاده می شود که در آن ماژول به صورت کد منبع عرضه شده و بلافاصله پس از نصب بسته بر روی سیستم کاربر مونتاژ می شود.
منبع: opennet.ru