Ištaisius GPL pažeidimą mimemaginėje bibliotekoje, „Ruby on Rails“ sugenda

Populiarios Ruby bibliotekos mimemagic autorius, turintis daugiau nei 100 milijonų atsisiuntimų, buvo priverstas pakeisti savo licenciją iš MIT į GPLv2, nes projekte buvo aptiktas GPLv2 licencijos pažeidimas. RubyGems išlaikė tik 0.3.6 ir 0.4.0 versijas, kurios buvo pristatytos pagal GPL, ir pašalino visus senesnius MIT licencijuotus leidimus. Be to, mimemagijos kūrimas buvo sustabdytas, o „GitHub“ saugykla buvo perkelta į archyvuotą būseną.

Dėl šių veiksmų buvo galima kurti projektus, kuriuose kaip priklausomybė naudojama mimemagija ir kurie platinami pagal licencijas, kurios nesuderinamos su GPLv2. Naudojant naująją mimemagic versiją, kitų projektų, įskaitant patentuotus (MIT licencija leidžia tokį naudojimą), kūrėjai privalo iš naujo licencijuoti savo kodą pagal GPL. Problemą apsunkino tai, kad senesnės versijos pagal MIT licenciją nebebuvo prieinamos RubyGems.org. Jei paketų kaupimas talpykloje neįjungtas kūrimo serveryje, bandymas kurti projektus naudojant ankstesnes mimemagic versijas nepavyks.

Taip pat nukentėjo „Ruby on Rails“ sistema, kuri tarp savo priklausomybių įkelia mimemagijos. Ruby on Rails yra licencijuota pagal MIT licenciją ir negali apimti GPL komponentų. Problema tapo pasauline – jei pakeitimas tiesiogiai palietė 172 paketus, tai, atsižvelgiant į priklausomybes, buvo paveikta daugiau nei 577 tūkstančiai saugyklų.

GPL licencijos pažeidimas mimemagic projekte yra susijęs su freedesktop.org.xml failo pristatymu kode, kuris yra MIME tipo duomenų bazės kopija iš bendros mime-info bibliotekos. Nurodytas failas platinamas pagal GPLv2 licenciją, o pati bendrinamos mime informacijos biblioteka yra licencijuota pagal ISC licenciją, suderinamą su GPL. mimemagic šaltinio kodas platinamas pagal MIT licenciją, o komponentų platinimui pagal GPLv2 licenciją reikia platinti išvestinį produktą pagal GPLv2 suderinamą licenciją. Shared-mime-info prižiūrėtojas tai pastebėjo ir mimemagic autorius sutiko su reikalavimu pakeisti licenciją.

Sprendimas būtų išanalizuoti XML failą skrydžio metu, nepateikiant freedesktop.org.xml kaip bibliotekos dalies, tačiau mimemaginis prižiūrėtojas užšaldė projekto saugyklą, todėl kažkas kitas turėtų greitai atlikti šį darbą. Gali būti, kad jei mimemagijos autorius nenorės grąžinti savo projekto į eksploataciją (iki šiol atsisakė), teks sukurti mimemagijos šakutę ir pakeisti priklausomybę visuose susijusiuose projektuose. Taip pat svarstomas mimemagic pagrįstų projektų perėjimas prie libmagic bibliotekos.

Šaltinis: opennet.ru

Добавить комментарий