Att åtgärda en GPL-överträdelse i mimemagic-biblioteket orsakar en krasch i Ruby on Rails

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 möjligheten att bygga projekt som använder mimemagic som ett beroende och distribueras under licenser som är inkompatibla med GPLv2. När du använder den nya versionen av mimemagic måste utvecklare av andra projekt, inklusive proprietära projekt (MIT-licensen tillåter sådan användning), återlicensiera sin kod under GPL. Problemet förvärrades av det faktum att äldre versioner under MIT-licensen inte längre var tillgängliga från RubyGems.org. Om paketcache inte är aktiverat på byggservern kommer försök att bygga projekt med tidigare versioner av mimemagic att misslyckas.

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

Lägg en kommentar