Författaren till det populära Ruby-biblioteket mimemagic, som har över 100 miljoner nedladdningar, tvingades ändra sin licens från MIT till GPLv2 på grund av upptäckten av ett brott mot GPLv2-licensen i projektet. RubyGems behöll endast versionerna 0.3.6 och 0.4.0, som skickades under GPL, och tog bort alla äldre MIT-licensierade utgåvor. Dessutom stoppades utvecklingen av mimemagic, och arkivet på GitHub överfördes till ett arkiverat tillstånd.
Dessa åtgärder resulterade i att det inte gick att bygga projekt som använder mimemagi som ett beroende och som är licensierade under licenser som är inkompatibla med GPLv2. När den nya versionen av mimemagic används måste utvecklare av andra projekt, inklusive proprietära (MIT-licensen tillåter sådan användning), omlicensiera sin kod till GPL. Problemet förvärrades av att äldre MIT-licensierade versioner inte längre var tillgängliga från RubyGems.org. Om byggprojektet server Paketcachning är inte aktiverat, försök att bygga projekt med tidigare versioner av mimemagic kommer att resultera i ett misslyckande.
Ramverket Ruby on Rails, som laddar mimemagi bland sina beroenden, drabbades också. Ruby on Rails är licensierad under MIT-licensen och kan inte inkludera GPLed-komponenter. Problemet har blivit globalt - om förändringen direkt påverkade 172 paket, med hänsyn till beroenden, påverkades mer än 577 tusen förråd.
Brott mot GPL-licensen i mimemagic-projektet är associerat med leveransen av filen freedesktop.org.xml i koden, som är en kopia av MIME-typdatabasen från biblioteket shared-mime-info. Den angivna filen distribueras under GPLv2-licensen, och själva biblioteket med delad mime-information är licensierat under ISC-licensen, kompatibel med GPL. mimemagics källkod distribueras under MIT-licensen och distribution av komponenter under GPLv2-licensen kräver distribution av derivatprodukten under en GPLv2-kompatibel licens. Underhållaren av shared-mime-info märkte detta och författaren till mimemagic gick med på kravet att ändra licensen.
Lösningen skulle vara att analysera XML-filen i farten, utan att tillhandahålla freedesktop.org.xml som en del av biblioteket, men mimemagic-underhållaren frös projektförrådet, så någon annan måste snabbt göra det här arbetet. Det är möjligt att om författaren till mimemagic inte vill återställa sitt projekt till drift (han har vägrat hittills), kommer det att bli nödvändigt att skapa en gaffel av mimemagic och ersätta beroendet i alla relaterade projekt. Övergången av mimemagic-baserade projekt till libmagic-biblioteket övervägs också som ett alternativ.
Källa: opennet.ru
