Сопровождающие Rails, Ruby-фреймворка для создания веб-приложений, выпустили три новые версии, чтобы разрешить конфликт лицензирования программного обеспечения, возникший на прошлой неделе.

Компонент Rails под названием Active Storage включает зависимость под названием mimemagic, который, как выяснилось, распространялся не по той лицензии. В mimemagic Программная библиотека предоставляла компонент Rails под названием Active Storage с данными mime-типа, используемыми для определения форматов файлов, и первоначально распространялся по лицензии MIT.

Но mimemagic имеет собственную зависимость, называемую shared-mime-info распространяется по лицензии GPLv2. Согласно условиям лицензии GPLv2, mimemagic также должны были быть под лицензией GPLv2.

Когда автор mimemagic Узнав об ошибке, он отозвал предыдущую лицензированную MIT версию своего кода, нарушив многие процессы сборки приложений, и выпустил новые версии под GPLv2.

Железнодорожная катастрофа

Ruby off the Rails: библиотека кода исправлена ​​из-за ошибки с лицензией, разжигает хаос для полумиллиона проектов

ПОДРОБНЕЕ

Это оказалось неудовлетворительным для Rails и других проектов, которые предпочитали или требовали лицензию MIT, потому что они не хотят быть обязаны выпускать свой собственный код, включающий исходный код GPL, под той же лицензией. Так начались два дня пытаюсь понять, как заменить библиотека, включенная в 172 других пакета и найденная в более чем полумиллионе программных репозиториев.

Некоторые разработчики создали исправленную версию mimemagic это удалило лицензионные данные GPLv2 и снова сделало программное обеспечение совместимым с лицензией MIT. Но команда Rails в конце концов решила отказаться от mimemagic для другой библиотеки под названием Marcel.

Поздно в пятницу были опубликованы Rails 5.2.5, 6.0.3.6 и 6.1.3.1 с пересмотренной версией службы Active Storage, которая заменяет ее mimemagic зависимость от Marcel 1.0.0.

Читайте также:
Рег разговаривает с бывшим инженером Microsoft Дэйвом Пламмером °

«До 1.0.0, Marcel — который распространяется в соответствии с условиями лицензии MIT, как и Rails — косвенно зависит от данных типа MIME, выпущенных под несовместимой Стандартной общественной лицензией GNU », — пояснил Джордж Клагхорн, разработчик в Basecamp, создателе Rails, в Сообщение блога объявление о выпуске. «Marcel 1.0.0 вместо этого напрямую упаковывает данные типа MIME, адаптированные из Apache Tika, выпущенных под разрешающей и совместимой лицензией Apache License 2.0 ».

Немного работы было необходимо, чтобы это произошло. Marcel был по сути оберткой вокруг mimemagic поэтому некоторые его части пришлось адаптировать для использования под лицензией MIT. Marcelтаблица данных подписи mime (известная как подписи магических чисел) теперь исходит от Apache Tika и, следовательно, свободен от GPLv2. ®