La reparación de una infracción de GPL en la biblioteca mimemagic provoca un bloqueo en Ruby on Rails

El autor de la popular biblioteca Ruby mimemagic, que tiene más de 100 millones de descargas, se vio obligado a cambiar su licencia de MIT a GPLv2 debido al descubrimiento de una violación de la licencia GPLv2 en el proyecto. RubyGems retuvo solo las versiones 0.3.6 y 0.4.0, que se enviaron bajo la GPL, y eliminó todas las versiones anteriores con licencia MIT. Además, se detuvo el desarrollo de mimemagic y el repositorio de GitHub se transfirió a un estado de archivo.

Estas acciones dieron como resultado la capacidad de crear proyectos que utilizan mimemagic como dependencia y se distribuyen bajo licencias que son incompatibles con GPLv2. Al utilizar la nueva versión de mimemagic, los desarrolladores de otros proyectos, incluidos los propietarios (la licencia MIT permite dicho uso), deben volver a obtener la licencia de su código bajo la GPL. El problema se vio agravado por el hecho de que las versiones anteriores con licencia MIT ya no estaban disponibles en RubyGems.org. Si el almacenamiento en caché de paquetes no está habilitado en el servidor de compilación, fallará el intento de compilar proyectos con versiones anteriores de mimemagic.

El marco Ruby on Rails, que carga mimemagic entre sus dependencias, también se vio afectado. Ruby on Rails tiene la licencia MIT y no puede incluir componentes GPL. El problema se ha vuelto global: si el cambio afectó directamente a 172 paquetes, teniendo en cuenta las dependencias, más de 577 mil repositorios se vieron afectados.

La violación de la licencia GPL en el proyecto mimemagic está asociada con la entrega en el código del archivo freedesktop.org.xml, que es una copia de la base de datos tipo MIME de la biblioteca compartida-mime-info. El archivo especificado se distribuye bajo la licencia GPLv2 y la biblioteca compartida-mime-info en sí tiene la licencia ISC, compatible con la GPL. El código fuente de mimemagic se distribuye bajo la licencia MIT y la distribución de componentes bajo la licencia GPLv2 requiere la distribución del producto derivado bajo una licencia compatible con GPLv2. El responsable de share-mime-info se dio cuenta de esto y el autor de mimemagic aceptó el requisito de cambiar la licencia.

La solución sería analizar el archivo XML sobre la marcha, sin proporcionar freedesktop.org.xml como parte de la biblioteca, pero el mantenedor de mimemagic congeló el repositorio del proyecto, por lo que alguien más tendría que hacer este trabajo rápidamente. Es posible que si el autor de mimemagic no quiere que su proyecto vuelva a funcionar (hasta ahora se ha negado), será necesario crear una bifurcación de mimemagic y reemplazar la dependencia en todos los proyectos relacionados. También se está considerando como una opción la transición de proyectos basados ​​en mimemagic a la biblioteca libmagic.

Fuente: opennet.ru

Añadir un comentario