Ispravljanje kršenja GPL-a u biblioteci mimemagic uzrokuje pad u Ruby on Rails

Autor popularne knjižnice Ruby mimemagic, koja ima više od 100 milijuna preuzimanja, bio je prisiljen promijeniti svoju licencu s MIT na GPLv2 zbog otkrića kršenja GPLv2 licence u projektu. RubyGems je zadržao samo verzije 0.3.6 i 0.4.0, koje su bile isporučene pod GPL-om, i uklonio je sva starija izdanja s licencom MIT-a. Štoviše, razvoj mimemagije je zaustavljen, a repozitorij na GitHubu prebačen je u arhivirano stanje.

Ove radnje rezultirale su mogućnošću izrade projekata koji koriste mimemagiju kao ovisnost i distribuiraju se pod licencama koje nisu kompatibilne s GPLv2. Prilikom korištenja nove verzije mimemagica, programeri drugih projekata, uključujući one vlasničke (MIT licenca dopušta takvu upotrebu), moraju ponovno licencirati svoj kod pod GPL-om. Problem je bio pogoršan činjenicom da starije verzije pod MIT licencom više nisu bile dostupne na RubyGems.org. Ako predmemorija paketa nije omogućena na poslužitelju za izgradnju, pokušaj izgradnje projekata s prethodnim verzijama mimemagica neće uspjeti.

Okvir Ruby on Rails, koji učitava mimemagiju među svojim ovisnostima, također je pogođen. Ruby on Rails licenciran je pod licencom MIT-a i ne može uključivati ​​GPL-ove komponente. Problem je postao globalan - ako je promjena izravno utjecala na 172 paketa, tada je, uzimajući u obzir ovisnosti, pogođeno više od 577 tisuća repozitorija.

Kršenje GPL licence u projektu mimemagic povezano je s isporukom datoteke freedesktop.org.xml u kodu, koja je kopija baze podataka tipa MIME iz biblioteke shared-mime-info. Navedena datoteka distribuira se pod licencom GPLv2, a sama biblioteka dijeljenih mime-informacija licencirana je pod licencom ISC, kompatibilnom s GPL-om. Izvorni kod mimemagica distribuira se pod licencom MIT, a distribucija komponenata pod GPLv2 licencom zahtijeva distribuciju izvedenog proizvoda pod GPLv2 kompatibilnom licencom. Održavatelj shared-mime-info je to primijetio i autor mimemagic-a se složio sa zahtjevom za promjenom licence.

Rješenje bi bilo analizirati XML datoteku u hodu, bez pružanja freedesktop.org.xml kao dijela biblioteke, ali mimemagic održavatelj zamrznuo je repozitorij projekta, tako da bi netko drugi morao brzo obaviti ovaj posao. Moguće je da ako autor mimemagica ne želi vratiti svoj projekt u rad (do sada je to odbijao), bit će potrebno napraviti fork mimemagica i zamijeniti ovisnost u svim povezanim projektima. Prijelaz projekata temeljenih na mimemagic-u na libmagic knjižnicu također se razmatra kao opcija.

Izvor: opennet.ru

Dodajte komentar