Odpravljanje kršitve GPL v knjižnici mimemagic povzroči zrušitev v Ruby on Rails

Avtor priljubljene knjižnice Ruby mimemagic, ki ima več kot 100 milijonov prenosov, je bil prisiljen spremeniti licenco iz MIT v GPLv2 zaradi odkritja kršitve licence GPLv2 v projektu. RubyGems je ohranil samo različici 0.3.6 in 0.4.0, ki sta bili poslani pod GPL, in odstranil vse starejše izdaje z licenco MIT. Poleg tega je bil razvoj mimemagic ustavljen, repozitorij na GitHubu pa je bil prenesen v arhivirano stanje.

Rezultat teh dejanj je bila zmožnost gradnje projektov, ki uporabljajo mimemagiko kot odvisnost in se distribuirajo pod licencami, ki niso združljive z GPLv2. Pri uporabi nove različice mimemagic morajo razvijalci drugih projektov, vključno z lastniškimi (licenca MIT dovoljuje takšno uporabo), ponovno licencirati svojo kodo pod GPL. Težavo je še poslabšalo dejstvo, da starejše različice pod licenco MIT niso bile več na voljo na RubyGems.org. Če predpomnjenje paketov ni omogočeno na gradbenem strežniku, bo poskus gradnje projektov s prejšnjimi različicami mimemagic neuspešen.

Prizadeto je bilo tudi ogrodje Ruby on Rails, ki nalaga mimemagiko med svoje odvisnosti. Ruby on Rails je licenciran pod licenco MIT in ne more vključevati komponent pod GPL. Težava je postala globalne narave - če je sprememba neposredno vplivala na 172 paketov, je bilo ob upoštevanju odvisnosti prizadetih več kot 577 tisoč skladišč.

Kršitev licence GPL v projektu mimemagic je povezana z dostavo datoteke freedesktop.org.xml v kodi, ki je kopija baze podatkov vrste MIME iz knjižnice shared-mime-info. Navedena datoteka se distribuira pod licenco GPLv2, sama knjižnica deljenih mime-informacij pa je licencirana pod licenco ISC, združljivo z GPL. izvorna koda mimemagic se distribuira pod licenco MIT, distribucija komponent pod licenco GPLv2 pa zahteva distribucijo izpeljanega izdelka pod licenco, skladno z GPLv2. Vzdrževalec shared-mime-info je to opazil in avtor mimemagic se je strinjal z zahtevo po spremembi licence.

Rešitev bi bila, da datoteko XML razčlenimo sproti, ne da bi priskrbeli freedesktop.org.xml kot del knjižnice, vendar je vzdrževalec mimemagic zamrznil repozitorij projekta, tako da bi moral nekdo drug hitro opraviti to delo. Možno je, da če avtor mimemagic ne želi vrniti svojega projekta v delovanje (doslej je zavračal), bo treba ustvariti fork mimemagic in zamenjati odvisnost v vseh povezanih projektih. Kot možnost se obravnava tudi prehod projektov, ki temeljijo na mimemagic, na knjižnico libmagic.

Vir: opennet.ru

Dodaj komentar