GPL pārkāpuma novēršana mimemagic bibliotēkā izraisa Ruby on Rails avāriju

Populārās Ruby bibliotēkas mimemagic autors, kuram ir vairāk nekā 100 miljoni lejupielāžu, bija spiests mainīt savu licenci no MIT uz GPLv2, jo projektā tika atklāts GPLv2 licences pārkāpums. RubyGems saglabāja tikai versijas 0.3.6 un 0.4.0, kas tika piegādātas saskaņā ar GPL, un noņēma visas vecās MIT licencētās versijas. Turklāt mimemagic izstrāde tika apturēta, un GitHub repozitorijs tika pārvietots uz arhivētu stāvokli.

Šo darbību rezultātā radās iespēja izveidot projektus, kuros kā atkarība tiek izmantota mimemagic un tiek izplatīti saskaņā ar licencēm, kas nav saderīgas ar GPLv2. Izmantojot jauno mimemagic versiju, citu projektu izstrādātājiem, tostarp patentētiem (MIT licence atļauj šādu izmantošanu), ir atkārtoti jālicencē savs kods saskaņā ar GPL. Problēmu saasināja fakts, ka vecākas versijas ar MIT licenci vairs nebija pieejamas vietnē RubyGems.org. Ja pakotņu kešatmiņa izveides serverī nav iespējota, mēģinājums veidot projektus ar iepriekšējām mimemagic versijām neizdosies.

Tika trāpīts arī Ruby on Rails ietvars, kura atkarību starpā tiek ielādēta mīmika. Ruby on Rails ir licencēts saskaņā ar MIT licenci un nevar ietvert GPL komponentus. Problēma kļuvusi globāla – ja izmaiņas tieši skāra 172 pakotnes, tad, ņemot vērā atkarības, tika skartas vairāk nekā 577 tūkstoši repozitoriju.

GPL licences pārkāpums projektā mimemagic ir saistīts ar freedesktop.org.xml faila piegādi kodā, kas ir MIME tipa datu bāzes kopija no share-mime-info bibliotēkas. Norādītais fails tiek izplatīts saskaņā ar GPLv2 licenci, un pati kopīgotā-mime-info bibliotēka ir licencēta saskaņā ar ISC licenci, kas ir saderīga ar GPL. mimemagic pirmkods tiek izplatīts saskaņā ar MIT licenci, un komponentu izplatīšanai saskaņā ar GPLv2 licenci ir nepieciešama atvasinātā produkta izplatīšana saskaņā ar GPLv2 saderīgu licenci. Shared-mime-info uzturētājs to pamanīja un mimemagic autors piekrita prasībai mainīt licenci.

Risinājums būtu parsēt XML failu lidojuma laikā, nepiegādājot freedesktop.org.xml kā daļu no bibliotēkas, bet mimemagic uzturētājs iesaldēja projekta repozitoriju, tāpēc kādam citam šis darbs būtu ātri jāveic. Iespējams, ja mīmimaģijas autors nevēlēsies atgriezt savu projektu ekspluatācijā (līdz šim ir atteicies), būs jāveido mimemaģijas dakša un jānomaina atkarība visos saistītajos projektos. Kā iespēja tiek apsvērta arī uz mimemagic balstītu projektu pāreja uz libmagic bibliotēku.

Avots: opennet.ru

Pievieno komentāru