La correction d'une violation GPL dans la bibliothèque mimemagic provoque un crash dans Ruby on Rails

L'auteur de la populaire bibliothèque Ruby mimemagic, qui compte plus de 100 millions de téléchargements, a été contraint de changer sa licence du MIT à la GPLv2 en raison de la découverte d'une violation de la licence GPLv2 dans le projet. RubyGems n'a conservé que les versions 0.3.6 et 0.4.0, qui étaient livrées sous GPL, et a supprimé toutes les anciennes versions sous licence MIT. De plus, le développement de mimemagic a été arrêté et le référentiel sur GitHub a été transféré à un état archivé.

Ces actions ont permis de créer des projets utilisant mimemagic comme dépendance et distribués sous des licences incompatibles avec la GPLv2. Lors de l'utilisation de la nouvelle version de mimemagic, les développeurs d'autres projets, y compris les projets propriétaires (la licence MIT autorise une telle utilisation), sont tenus de re-licencier leur code sous GPL. Le problème a été aggravé par le fait que les anciennes versions sous licence MIT n'étaient plus disponibles sur RubyGems.org. Si la mise en cache des packages n'est pas activée sur le serveur de build, la tentative de construction de projets avec des versions précédentes de mimemagic échouera.

Le framework Ruby on Rails, qui charge le mimemagic parmi ses dépendances, a également été touché. Ruby on Rails est sous licence MIT et ne peut pas inclure de composants GPL. Le problème est devenu de nature mondiale - si le changement affectait directement 172 packages, alors en tenant compte des dépendances, plus de 577 XNUMX référentiels étaient concernés.

La violation de la licence GPL dans le projet mimemagic est associée à la livraison du fichier freedesktop.org.xml dans le code, qui est une copie de la base de données de type MIME de la bibliothèque shared-mime-info. Le fichier spécifié est distribué sous la licence GPLv2 et la bibliothèque shared-mime-info elle-même est sous licence ISC, compatible avec la GPL. Le code source de mimemagic est distribué sous licence MIT et la distribution des composants sous licence GPLv2 nécessite la distribution du produit dérivé sous licence conforme GPLv2. Le responsable de shared-mime-info l'a remarqué et l'auteur de mimemagic a accepté l'obligation de changer la licence.

La solution serait d'analyser le fichier XML à la volée, sans fournir freedesktop.org.xml dans la bibliothèque, mais le responsable de mimemagic a gelé le référentiel du projet, donc quelqu'un d'autre devra rapidement faire ce travail. Il est possible que si l'auteur de mimemagic ne souhaite pas remettre son projet en service (il a refusé jusqu'à présent), il devra créer un fork de mimemagic et remplacer la dépendance dans tous les projets associés. La transition des projets basés sur la mimémagie vers la bibliothèque libmagic est également envisagée comme une option.

Source: opennet.ru

Ajouter un commentaire