GPL-i rikkumise parandamine mimemaagilises teegis põhjustab Ruby on Railsis krahhi

Populaarse Ruby raamatukogu mimemagic, millel on üle 100 miljoni allalaadimise, autor oli sunnitud muutma oma litsentsi MIT-lt GPLv2-le, kuna projektis avastati GPLv2 litsentsi rikkumine. RubyGems säilitas ainult versioonid 0.3.6 ja 0.4.0, mis tarniti GPL-i alusel, ning eemaldas kõik vanemad MIT-litsentsiga väljaanded. Veelgi enam, mimemaagia arendamine peatati ja GitHubi hoidla viidi üle arhiveeritud olekusse.

Nende toimingute tulemusel sai luua projekte, mis kasutavad sõltuvusena mimemaagiat ja mida levitatakse litsentside alusel, mis ei ühildu GPLv2-ga. Mimemagicu uue versiooni kasutamisel peavad muude projektide, sealhulgas patenteeritud projektide arendajad (MIT-litsents lubab sellist kasutamist), oma koodi GPL-i alusel uuesti litsentsima. Probleemi süvendas asjaolu, et MIT-i litsentsi all olevad vanemad versioonid polnud saidilt RubyGems.org enam saadaval. Kui pakettide vahemällu salvestamine pole ehitusserveris lubatud, ebaõnnestub projektide koostamise katse mimemagicu varasemate versioonidega.

Löögi sai ka Ruby on Rails raamistik, mis laadib oma sõltuvuste hulka mimemaagiat. Ruby on Rails on litsentsitud MIT-i litsentsi alusel ja ei saa sisaldada GPL-komponente. Probleem on muutunud globaalseks – kui muudatus puudutas otseselt 172 paketti, siis sõltuvusi arvesse võttes oli mõjutatud üle 577 tuhande hoidla.

GPL litsentsi rikkumine mimemagic projektis on seotud faili freedesktop.org.xml edastamisega koodis, mis on MIME tüüpi andmebaasi koopia jagatud-mime-info teegist. Määratud faili levitatakse GPLv2 litsentsi alusel ja jagatud mime-teabe teek ise on litsentsitud ISC litsentsi alusel, mis ühildub GPL-iga. mimemagicu lähtekoodi levitatakse MIT-i litsentsi alusel ja komponentide levitamine GPLv2 litsentsi alusel eeldab tuletistoote levitamist GPLv2-ga ühilduva litsentsi alusel. Share-mime-info hooldaja märkas seda ja mimemaagia autor nõustus litsentsi muutmise nõudega.

Lahendus oleks XML-faili sõelumine käigu pealt, ilma et teegi osaks oleks freedesktop.org.xml, kuid mimemaagiline hooldaja külmutas projekti hoidla, nii et keegi teine ​​peaks selle töö kiiresti ära tegema. Võimalik, et kui mimemaagia autor ei soovi oma projekti uuesti tööle panna (ta on seni keeldunud), on vaja luua mimemaagia kahvel ja asendada sõltuvus kõigis sellega seotud projektides. Ühe võimalusena kaalutakse ka mimemaagiapõhiste projektide üleminekut libmagic raamatukogule.

Allikas: opennet.ru

Lisa kommentaar