चर्चा के दौरान
लिनक्स प्रोजेक्ट पर ZFS के लिए, CDDL और GPLv2 लाइसेंस की असंगति के कारण लिनस ने zfs मॉड्यूल का उपयोग करने की अनुशंसा नहीं की। स्थिति यह है कि Oracle की लाइसेंसिंग नीति के कारण, ZFS के मुख्य कर्नेल में प्रवेश करने की संभावना बहुत कम है। लाइसेंसिंग असंगति को बायपास करने के लिए प्रस्तावित परतें, जो कर्नेल फ़ंक्शंस तक बाहरी कोड तक पहुंच का अनुवाद करती हैं, एक संदिग्ध समाधान हैं - वकील जारी रखते हैं
एकमात्र विकल्प जिसमें लिनुस ZFS कोड को मुख्य कर्नेल में स्वीकार करने के लिए सहमत होगा, वह Oracle से आधिकारिक अनुमति प्राप्त करना है, जो मुख्य वकील द्वारा प्रमाणित है, या इससे भी बेहतर, स्वयं लैरी एलिसन द्वारा प्रमाणित है। प्रोग्रामिंग इंटरफेस की बौद्धिक संपदा के संबंध में ओरेकल की आक्रामक नीति को देखते हुए, मध्यवर्ती समाधान, जैसे कि कर्नेल और ZFS कोड के बीच की परतें, की अनुमति नहीं है (उदाहरण के लिए,
हम आपको याद दिला दें कि ZFS कोड एक मुफ्त CDDL लाइसेंस के तहत वितरित किया जाता है, जो GPLv2 के साथ असंगत है, जो GPLv2 और CDDL लाइसेंस के तहत कोड को मिश्रित करने के बाद से Linux पर ZFS को Linux कर्नेल की मुख्य शाखा में एकीकृत करने की अनुमति नहीं देता है। अस्वीकार्य है. इस लाइसेंसिंग असंगति को दूर करने के लिए, लिनक्स प्रोजेक्ट पर ZFS ने संपूर्ण उत्पाद को CDDL लाइसेंस के तहत एक अलग लोड किए गए मॉड्यूल के रूप में वितरित करने का निर्णय लिया, जिसे कर्नेल से अलग से आपूर्ति की जाती है।
वितरण किट के हिस्से के रूप में तैयार ZFS मॉड्यूल को वितरित करने की संभावना वकीलों के बीच विवादास्पद है। सॉफ्टवेयर फ्रीडम कंजर्वेंसी (एसएफसी) के वकील
दूसरे पक्ष का तर्क है कि मालिकाना ड्राइवरों में कर्नेल संगतता की समस्या को जीपीएल लाइसेंस के तहत वितरित एक छोटी परत की आपूर्ति करके हल किया जाता है (जीपीएल लाइसेंस के तहत एक मॉड्यूल कर्नेल में लोड किया जाता है, जो पहले से ही मालिकाना घटकों को लोड करता है)। ZFS के लिए, ऐसी परत केवल तभी तैयार की जा सकती है जब Oracle से लाइसेंस अपवाद प्रदान किए गए हों। ओरेकल लिनक्स में, जीपीएल के साथ असंगति को ओरेकल द्वारा एक लाइसेंस अपवाद प्रदान करके हल किया जाता है जो सीडीडीएल के तहत संयुक्त कार्य को लाइसेंस देने की आवश्यकता को हटा देता है, लेकिन यह अपवाद अन्य वितरणों पर लागू नहीं होता है।
समाधान यह है कि वितरण में मॉड्यूल के केवल स्रोत कोड की आपूर्ति की जाए, जिससे बंडलिंग नहीं होती है और इसे दो अलग-अलग उत्पादों की डिलीवरी माना जाता है। डेबियन में, इसके लिए DKMS (डायनेमिक कर्नेल मॉड्यूल सपोर्ट) सिस्टम का उपयोग किया जाता है, जिसमें मॉड्यूल को सोर्स कोड में आपूर्ति की जाती है और पैकेज स्थापित करने के तुरंत बाद उपयोगकर्ता के सिस्टम पर असेंबल किया जाता है।
स्रोत: opennet.ru