Linus Torvalds, Linux çekirdeği için ZFS'nin uygulanmasıyla ilgili sorunları açıkladı

Tartışma sırasında test Tartışma katılımcılarından biri olan görev zamanlayıcı, Linux çekirdeğini geliştirirken uyumluluğun sürdürülmesi gerektiğine dair açıklamalara rağmen çekirdekte yapılan son değişikliklerin modülün doğru çalışmasını bozduğuna dair bir örnek verdi "Linux'ta ZFS". Linus Torvalds ответилbu prensip"Kırma kullanıcılar", çekirdeğin kendisinin yanı sıra kullanıcı alanı uygulamaları tarafından kullanılan harici çekirdek arayüzlerinin korunmasını ifade eder. Ancak, çekirdeğin ana bileşimine kabul edilmeyen, çekirdek üzerinde ayrı olarak geliştirilen üçüncü taraf eklentileri kapsamaz; yazarların çekirdekteki değişiklikleri kendi riskleri ve riskleri altında izlemesi gerekir.

Linux'ta ZFS projesine gelince Linus, CDDL ve GPLv2 lisanslarının uyumsuzluğu nedeniyle zfs modülünün kullanılmasını önermedi. Durum şu ki, Oracle'ın lisanslama politikası nedeniyle ZFS'nin ana çekirdeğe girebilme şansı çok düşük. Avukatlar devam ediyor: Çekirdek işlevlerine erişimi harici koda çeviren lisans uyumsuzluğunu atlamak için önerilen katmanlar şüpheli bir çözüm tartışmak GPL çekirdek işlevlerinin sarmalayıcılar aracılığıyla yeniden dışa aktarılmasının, GPL altında dağıtılması gereken bir türev çalışmanın yaratılmasıyla sonuçlanıp sonuçlanmadığı hakkında.

Linus'un ZFS kodunu ana çekirdeğe kabul etmeyi kabul edeceği tek seçenek, Oracle'dan, ana avukat tarafından veya daha iyisi Larry Ellison tarafından onaylanan resmi izin almaktır. Oracle'ın programlama arayüzlerinin fikri mülkiyetine ilişkin agresif politikası göz önüne alındığında, çekirdek ile ZFS kodu arasındaki katmanlar gibi ara çözümlere izin verilmez (örneğin, duruşma Java API ile ilgili olarak Google ile). Ayrıca Linus, ZFS'yi kullanma arzusunun teknik avantajlara değil, yalnızca modaya bir övgü olduğunu düşünüyor. Linus'un incelediği kriterler ZFS'yi desteklemiyor ve tam desteğin olmaması uzun vadeli istikrarı garanti etmiyor.

ZFS kodunun, GPLv2 ile uyumlu olmayan, GPLv2 ve CDDL lisansları altında kod karıştırıldığı için Linux'taki ZFS'nin Linux çekirdeğinin ana dalına entegre edilmesine izin vermeyen ücretsiz bir CDDL lisansı altında dağıtıldığını hatırlatalım. kabul edilemez. Bu lisans uyumsuzluğunu aşmak için Linux'ta ZFS projesi, ürünün tamamını çekirdekten ayrı olarak sağlanan, ayrı olarak yüklenmiş bir modül biçiminde bir CDDL lisansı altında dağıtmaya karar verdi.

Hazır bir ZFS modülünün dağıtım kitlerinin bir parçası olarak dağıtılması olasılığı avukatlar arasında tartışmalıdır. Yazılım Özgürlüğünü Koruma Derneği'nden (SFC) avukatlar düşünmekdağıtımda bir ikili çekirdek modülünün tesliminin GPL ile birleştirilmiş bir ürün oluşturması ve sonuçta ortaya çıkan çalışmanın GPL kapsamında dağıtılması gerekliliği. Kanonik Avukatlar kabul etmiyorum ve bileşenin çekirdek paketinden ayrı olarak bağımsız bir modül olarak sağlanması durumunda zfs modülünün teslimatının kabul edilebilir olduğunu belirtin. Canonical, dağıtımların NVIDIA sürücüleri gibi özel sürücüleri sağlamak için uzun süredir benzer bir yaklaşım kullandığını belirtiyor.

Diğer taraf ise, özel sürücülerdeki çekirdek uyumluluğu sorununun, GPL lisansı altında dağıtılan küçük bir katman sağlanarak çözüldüğünü söylüyor (çekirdeğe GPL lisansı altında bir modül yükleniyor ve bu modül, zaten özel bileşenleri yüklüyor). ZFS için böyle bir katman ancak Oracle'dan lisans istisnaları sağlanması durumunda hazırlanabilmektedir. Oracle Linux'ta GPL ile uyumsuzluk, Oracle'ın CDDL kapsamında birleştirilmiş çalışmayı lisanslama gerekliliğini ortadan kaldıran bir lisans istisnası sağlamasıyla çözülür, ancak bu istisna diğer dağıtımlar için geçerli değildir.

Çözüm, dağıtımda yalnızca modülün kaynak kodunun sağlanmasıdır; bu, paketlemeye yol açmaz ve iki ayrı ürünün teslimi olarak kabul edilir. Bunun için Debian'da DKMS (Dinamik Çekirdek Modül Desteği) sistemi kullanılıyor; burada modül kaynak kodlu olarak sağlanıyor ve paket kurulduktan hemen sonra kullanıcının sistemine monte ediliyor.

Kaynak: opennet.ru

Yorum ekle