Η διόρθωση παραβίασης GPL στη βιβλιοθήκη mimemagic προκαλεί σφάλμα στο Ruby on Rails

Ο συγγραφέας της δημοφιλούς βιβλιοθήκης Ruby mimemagic, η οποία έχει πάνω από 100 εκατομμύρια λήψεις, αναγκάστηκε να αλλάξει την άδειά της από MIT σε GPLv2 λόγω της ανακάλυψης παραβίασης της άδειας GPLv2 στο έργο. Η RubyGems διατήρησε μόνο τις εκδόσεις 0.3.6 και 0.4.0, οι οποίες αποστέλλονταν βάσει της GPL, και αφαίρεσε όλες τις παλαιότερες εκδόσεις με άδεια MIT. Επιπλέον, η ανάπτυξη του mimemagic σταμάτησε και το αποθετήριο στο GitHub μεταφέρθηκε σε αρχειοθετημένη κατάσταση.

Αυτές οι ενέργειες είχαν ως αποτέλεσμα τη δυνατότητα δημιουργίας έργων που χρησιμοποιούν το mimemagic ως εξάρτηση και διανέμονται με άδειες που δεν είναι συμβατές με το GPLv2. Κατά τη χρήση της νέας έκδοσης του mimemagic, οι προγραμματιστές άλλων έργων, συμπεριλαμβανομένων των ιδιόκτητων έργων (η άδεια MIT επιτρέπει μια τέτοια χρήση), απαιτείται να αδειοδοτήσουν εκ νέου τον κώδικά τους σύμφωνα με την GPL. Το πρόβλημα επιδεινώθηκε από το γεγονός ότι παλαιότερες εκδόσεις υπό την άδεια MIT δεν ήταν πλέον διαθέσιμες από το RubyGems.org. Εάν η προσωρινή αποθήκευση πακέτων δεν είναι ενεργοποιημένη στον διακομιστή κατασκευής, η προσπάθεια δημιουργίας έργων με προηγούμενες εκδόσεις του mimemagic θα αποτύχει.

Το πλαίσιο Ruby on Rails, το οποίο φορτώνει mimemagic μεταξύ των εξαρτήσεων του, χτυπήθηκε επίσης. Το Ruby on Rails διαθέτει άδεια χρήσης βάσει της άδειας MIT και δεν μπορεί να περιλαμβάνει στοιχεία GPLed. Το πρόβλημα έχει γίνει παγκόσμιο - εάν η αλλαγή επηρέασε άμεσα 172 πακέτα, τότε λαμβάνοντας υπόψη τις εξαρτήσεις, περισσότερα από 577 χιλιάδες αποθετήρια επηρεάστηκαν.

Η παραβίαση της άδειας GPL στο έργο mimemagic σχετίζεται με την παράδοση του αρχείου freedesktop.org.xml στον κώδικα, ο οποίος είναι αντίγραφο της βάσης δεδομένων τύπου MIME από τη βιβλιοθήκη shared-mime-info. Το καθορισμένο αρχείο διανέμεται με την άδεια GPLv2 και η ίδια η βιβλιοθήκη shared-mime-info διαθέτει άδεια χρήσης σύμφωνα με την άδεια ISC, συμβατή με την GPL. Ο πηγαίος κώδικας του mimemagic διανέμεται υπό την άδεια MIT και η διανομή στοιχείων βάσει της άδειας GPLv2 απαιτεί διανομή του παραγώγου προϊόντος με άδεια συμβατή με το GPLv2. Ο συντηρητής του shared-mime-info το παρατήρησε αυτό και ο συγγραφέας του mimemagic συμφώνησε με την απαίτηση αλλαγής της άδειας χρήσης.

Η λύση θα ήταν να αναλύσετε το αρχείο XML αμέσως, χωρίς να παρέχετε το freedesktop.org.xml ως μέρος της βιβλιοθήκης, αλλά ο συντηρητής mimemagic πάγωσε το αποθετήριο του έργου, οπότε κάποιος άλλος θα έπρεπε να κάνει γρήγορα αυτήν τη δουλειά. Είναι πιθανό ότι εάν ο συγγραφέας του mimemagic δεν θέλει να επαναφέρει το έργο του σε λειτουργία (το έχει αρνηθεί μέχρι στιγμής), θα χρειαστεί να δημιουργήσει ένα fork του mimemagic και να αντικαταστήσει την εξάρτηση σε όλα τα σχετικά έργα. Η μετάβαση των έργων που βασίζονται σε mimemagic στη βιβλιοθήκη libmagic εξετάζεται επίσης ως επιλογή.

Πηγή: opennet.ru

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