Remedierea unei încălcări a GPL în biblioteca mimemagic provoacă o blocare în Ruby on Rails

Autorul popularei biblioteci Ruby mimemagic, care are peste 100 de milioane de descărcări, a fost forțat să-și schimbe licența de la MIT la GPLv2 din cauza descoperirii unei încălcări a licenței GPLv2 în proiect. RubyGems a păstrat doar versiunile 0.3.6 și 0.4.0, care au fost livrate sub GPL, și a eliminat toate versiunile mai vechi cu licență MIT. Mai mult, dezvoltarea mimemagic a fost oprită, iar depozitul de pe GitHub a fost transferat într-o stare arhivată.

Aceste acțiuni au dus la capacitatea de a construi proiecte care folosesc mimemagic ca dependență și sunt distribuite sub licențe care sunt incompatibile cu GPLv2. Când folosesc noua versiune de mimemagic, dezvoltatorii altor proiecte, inclusiv cele proprietare (licența MIT permite o astfel de utilizare), trebuie să-și licențieze codul conform GPL. Problema a fost agravată de faptul că versiunile mai vechi sub licența MIT nu mai erau disponibile pe RubyGems.org. Dacă stocarea în cache a pachetelor nu este activată pe serverul de compilare, încercarea de a construi proiecte cu versiuni anterioare de mimemagic va eșua.

Cadrul Ruby on Rails, care încarcă mimemagic printre dependențele sale, a fost de asemenea lovit. Ruby on Rails este licențiat sub licența MIT și nu poate include componente GPL. Problema a devenit globală - dacă schimbarea a afectat direct 172 de pachete, atunci ținând cont de dependențe, au fost afectate peste 577 de mii de depozite.

Încălcarea licenței GPL în proiectul mimemagic este asociată cu livrarea fișierului freedesktop.org.xml în cod, care este o copie a bazei de date de tip MIME din biblioteca shared-mime-info. Fișierul specificat este distribuit sub licența GPLv2, iar biblioteca shared-mime-info în sine este licențiată sub licența ISC, compatibilă cu GPL. Codul sursă al mimemagic este distribuit sub licența MIT, iar distribuția componentelor sub licența GPLv2 necesită distribuirea produsului derivat sub o licență conformă GPLv2. Menținătorul shared-mime-info a observat acest lucru și autorul mimemagic a fost de acord cu cerința de a schimba licența.

Soluția ar fi analizarea fișierului XML din mers, fără a furniza freedesktop.org.xml ca parte a bibliotecii, dar întreținătorul mimemagic a înghețat depozitul de proiect, așa că altcineva ar trebui să facă rapid această lucrare. Este posibil ca dacă autorul mimemagic să nu dorească să-și readucă proiectul în funcțiune (a refuzat până acum), să fie necesar să se creeze un furk de mimemagic și să înlocuiască dependența în toate proiectele conexe. Tranziția proiectelor bazate pe mimemagic la biblioteca libmagic este, de asemenea, considerată o opțiune.

Sursa: opennet.ru

Adauga un comentariu