Отстраняването на нарушението на 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 и не може да включва компоненти под GPL. Проблемът придоби глобален характер — ако пряко изменението е засегнало 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 се съгласи на изискването да промени лиценза.

Нарушението на лиценза 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 не желае да възвърне проекта си (за момента отказва), да се наложи създаване на форк на mimemagic и замяна на зависимостите във всички свързани проекти. Като опция се разглежда и преходът на зависимите от mimemagic проекти към библиотеката libmagic.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster