Ο Linus Torvalds εξήγησε τα προβλήματα με την υλοποίηση του ZFS για τον πυρήνα του Linux

Κατά τη διάρκεια της συζήτησης δοκιμές προγραμματιστής εργασιών, ένας από τους συμμετέχοντες στη συζήτηση έδωσε ένα παράδειγμα ότι παρά τις δηλώσεις σχετικά με την ανάγκη διατήρησης συμβατότητας κατά την ανάπτυξη του πυρήνα Linux, οι πρόσφατες αλλαγές στον πυρήνα διέκοψαν τη σωστή λειτουργία της ενότητας "ZFS σε Linux". Linus Torvalds απάντησεότι η αρχή "μην σπάσεις χρήστες" αναφέρεται στη διατήρηση των εξωτερικών διεπαφών του πυρήνα που χρησιμοποιούνται από τις εφαρμογές χώρου χρήστη καθώς και του ίδιου του πυρήνα. Αλλά δεν καλύπτει ξεχωριστά αναπτυγμένα πρόσθετα τρίτων στον πυρήνα που δεν γίνονται δεκτά στην κύρια σύνθεση του πυρήνα, οι δημιουργοί των οποίων πρέπει να παρακολουθούν τις αλλαγές στον πυρήνα με δικό τους κίνδυνο και κίνδυνο.

Όσον αφορά το έργο ZFS σε Linux, ο Linus δεν συνέστησε τη χρήση της μονάδας zfs λόγω της ασυμβατότητας των αδειών CDDL και GPLv2. Η κατάσταση είναι ότι λόγω της πολιτικής αδειοδότησης της Oracle, οι πιθανότητες η ZFS να μπορέσει ποτέ να εισέλθει στον κύριο πυρήνα είναι πολύ μικρές. Τα επίπεδα που προτείνονται για την παράκαμψη της ασυμβατότητας αδειοδότησης, τα οποία μεταφράζουν την πρόσβαση στις λειτουργίες του πυρήνα σε εξωτερικό κώδικα, είναι μια αμφίβολη λύση - συνεχίζουν οι δικηγόροι λογομαχώ σχετικά με το εάν η επανεξαγωγή του πυρήνα GPL λειτουργεί μέσω περιτυλιγμάτων έχει ως αποτέλεσμα τη δημιουργία μιας παράγωγης εργασίας που πρέπει να διανεμηθεί σύμφωνα με την GPL.

Η μόνη επιλογή στην οποία ο Linus θα συμφωνούσε να αποδεχτεί τον κώδικα ZFS στον κύριο πυρήνα είναι να λάβει επίσημη άδεια από την Oracle, πιστοποιημένη από τον κύριο δικηγόρο, ή καλύτερα, τον ίδιο τον Larry Ellison. Δεν επιτρέπονται ενδιάμεσες λύσεις, όπως επίπεδα μεταξύ του πυρήνα και του κώδικα ZFS, δεδομένης της επιθετικής πολιτικής της Oracle σχετικά με την πνευματική ιδιοκτησία των διεπαφών προγραμματισμού (για παράδειγμα, δίκη με την Google σχετικά με το Java API). Επιπλέον, ο Linus θεωρεί την επιθυμία να χρησιμοποιήσει το ZFS μόνο φόρο τιμής στη μόδα και όχι τεχνικά πλεονεκτήματα. Τα σημεία αναφοράς που εξέτασε ο Linus δεν υποστηρίζουν το ZFS και η έλλειψη πλήρους υποστήριξης δεν εγγυάται μακροπρόθεσμη σταθερότητα.

Να σας υπενθυμίσουμε ότι ο κώδικας ZFS διανέμεται υπό μια δωρεάν άδεια CDDL, η οποία δεν είναι συμβατή με το GPLv2, η οποία δεν επιτρέπει την ενσωμάτωση του ZFS σε Linux στον κύριο κλάδο του πυρήνα Linux, καθώς η μίξη κώδικα υπό τις άδειες GPLv2 και CDDL είναι απαράδεκτο. Για να παρακάμψει αυτήν την ασυμβατότητα αδειοδότησης, το έργο ZFS on Linux αποφάσισε να διανείμει ολόκληρο το προϊόν με άδεια CDDL με τη μορφή μιας χωριστά φορτωμένης λειτουργικής μονάδας που παρέχεται ξεχωριστά από τον πυρήνα.

Η δυνατότητα διανομής μιας έτοιμης μονάδας ZFS ως μέρος των κιτ διανομής είναι αμφιλεγόμενη μεταξύ των δικηγόρων. Δικηγόροι από το Software Freedom Conservancy (SFC) σκεφτείτεότι η παράδοση μιας μονάδας δυαδικού πυρήνα στη διανομή σχηματίζει ένα προϊόν συνδυασμένο με την GPL με την απαίτηση η προκύπτουσα εργασία να διανέμεται σύμφωνα με την GPL. Κανονικοί Δικηγόροι δεν συμφωνω και δηλώστε ότι η παράδοση μιας μονάδας zfs είναι αποδεκτή εάν το στοιχείο παρέχεται ως αυτόνομη λειτουργική μονάδα, χωριστά από το πακέτο πυρήνα. Η Canonical σημειώνει ότι οι διανομές χρησιμοποιούν από καιρό μια παρόμοια προσέγγιση για την παροχή αποκλειστικών προγραμμάτων οδήγησης, όπως προγράμματα οδήγησης NVIDIA.

Η άλλη πλευρά αντιτίθεται ότι το πρόβλημα της συμβατότητας του πυρήνα σε ιδιόκτητα προγράμματα οδήγησης λύνεται παρέχοντας ένα μικρό επίπεδο που διανέμεται με την άδεια GPL (μια λειτουργική μονάδα με την άδεια GPL φορτώνεται στον πυρήνα, η οποία φορτώνει ήδη ιδιόκτητα στοιχεία). Για το ZFS, ένα τέτοιο επίπεδο μπορεί να προετοιμαστεί μόνο εάν παρέχονται εξαιρέσεις άδειας χρήσης από την Oracle. Στο Oracle Linux, η ασυμβατότητα με την GPL επιλύεται από την Oracle παρέχοντας μια εξαίρεση άδειας χρήσης που καταργεί την απαίτηση άδειας χρήσης συνδυασμένης εργασίας σύμφωνα με το CDDL, αλλά αυτή η εξαίρεση δεν ισχύει για άλλες διανομές.

Μια λύση είναι η παροχή μόνο του πηγαίου κώδικα της μονάδας στη διανομή, η οποία δεν οδηγεί σε ομαδοποίηση και θεωρείται ως παράδοση δύο ξεχωριστών προϊόντων. Στο Debian, το σύστημα DKMS (Dynamic Kernel Module Support) χρησιμοποιείται για αυτό, στο οποίο η λειτουργική μονάδα παρέχεται σε πηγαίο κώδικα και συναρμολογείται στο σύστημα του χρήστη αμέσως μετά την εγκατάσταση του πακέτου.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο