La correzione di una violazione della GPL nella libreria mimemagic provoca un arresto anomalo di Ruby on Rails

L'autore della popolare libreria Ruby mimemagic, che conta oltre 100 milioni di download, Γ¨ stato costretto a cambiare la sua licenza da MIT a GPLv2 a causa della scoperta di una violazione della licenza GPLv2 nel progetto. RubyGems ha mantenuto solo le versioni 0.3.6 e 0.4.0, che erano distribuite sotto GPL, e ha rimosso tutte le versioni precedenti con licenza MIT. Inoltre, lo sviluppo di mimemagic Γ¨ stato interrotto e il repository su GitHub Γ¨ stato trasferito in uno stato di archiviazione.

Queste azioni hanno portato alla possibilitΓ  di creare progetti che utilizzano mimemagic come dipendenza e sono distribuiti con licenze incompatibili con GPLv2. Quando si utilizza la nuova versione di mimemagic, gli sviluppatori di altri progetti, compresi quelli proprietari (la licenza MIT consente tale utilizzo), sono tenuti a concedere nuovamente la licenza del proprio codice sotto GPL. Il problema era aggravato dal fatto che le versioni precedenti sotto la licenza MIT non erano piΓΉ disponibili su RubyGems.org. Se la memorizzazione nella cache dei pacchetti non Γ¨ abilitata sul server di compilazione, il tentativo di creare progetti con versioni precedenti di mimemagic fallirΓ .

È stato colpito anche il framework Ruby on Rails, che carica mimemagic tra le sue dipendenze. Ruby on Rails è concesso in licenza con la licenza MIT e non può includere componenti con licenza GPL. Il problema è diventato globale: se la modifica ha interessato direttamente 172 pacchetti, tenendo conto delle dipendenze, sono stati interessati più di 577mila repository.

La violazione della licenza GPL nel progetto mimemagic Γ¨ associata alla consegna del file freedesktop.org.xml nel codice, che Γ¨ una copia del database di tipo MIME dalla libreria shared-mime-info. Il file specificato Γ¨ distribuito sotto la licenza GPLv2 e la stessa libreria shared-mime-info Γ¨ concessa sotto la licenza ISC, compatibile con la GPL. Il codice sorgente di mimemagic Γ¨ distribuito sotto la licenza MIT e la distribuzione dei componenti sotto la licenza GPLv2 richiede la distribuzione del prodotto derivato sotto una licenza conforme a GPLv2. Il manutentore di shared-mime-info ha attirato l'attenzione su questo e l'autore di mimemagic ha concordato con la richiesta di cambiare la licenza.

La soluzione sarebbe quella di analizzare il file XML al volo, senza fornire freedesktop.org.xml come parte della libreria, ma il manutentore di mimemagic ha congelato il repository del progetto, quindi qualcun altro dovrebbe fare rapidamente questo lavoro. È possibile che se l'autore di mimemagic non vuole riportare in funzione il suo progetto (finora ha rifiutato), sarà necessario creare un fork di mimemagic e sostituire la dipendenza in tutti i progetti correlati. Anche il passaggio dei progetti basati su mimemagic alla libreria libmagic viene considerato un'opzione.

Fonte: opennet.ru

Aggiungi un commento