Ang pag-aayos ng paglabag sa GPL sa mimemagic library ay nagdudulot ng pag-crash sa Ruby on Rails

Ang may-akda ng sikat na Ruby library mimemagic, na mayroong higit sa 100 milyong mga pag-download, ay napilitang baguhin ang lisensya nito mula sa MIT patungong GPLv2 dahil sa pagkatuklas ng isang paglabag sa lisensya ng GPLv2 sa proyekto. Ang RubyGems ay nagpapanatili lamang ng mga bersyon 0.3.6 at 0.4.0, na ipinadala sa ilalim ng GPL, at inalis ang lahat ng mas lumang mga release na lisensyado ng MIT. Bukod dito, ang pagbuo ng mimemagic ay nahinto, at ang repositoryo sa GitHub ay inilipat sa isang naka-archive na estado.

Nagresulta ang mga pagkilos na ito sa kakayahang bumuo ng mga proyekto na gumagamit ng mimemagic bilang dependency at ipinamamahagi sa ilalim ng mga lisensyang hindi tugma sa GPLv2. Kapag gumagamit ng bagong bersyon ng mimemagic, ang mga developer ng iba pang mga proyekto, kabilang ang mga pagmamay-ari (pinahihintulutan ng lisensya ng MIT ang naturang paggamit), ay kinakailangang muling i-license ang kanilang code sa ilalim ng GPL. Ang problema ay pinalubha ng katotohanan na ang mga mas lumang bersyon sa ilalim ng lisensya ng MIT ay hindi na magagamit mula sa RubyGems.org. Kung hindi pinagana ang package caching sa build server, mabibigo ang pagtatangka na bumuo ng mga proyekto na may mga nakaraang bersyon ng mimemagic.

Ang Ruby on Rails framework, na naglo-load ng mimemagic sa mga dependencies nito, ay tinamaan din. Ang Ruby on Rails ay lisensyado sa ilalim ng lisensya ng MIT at hindi maaaring magsama ng mga bahaging GPLed. Ang problema ay naging pandaigdigan - kung ang pagbabago ay direktang nakakaapekto sa 172 na mga pakete, pagkatapos ay isinasaalang-alang ang mga dependency, higit sa 577 libong mga repositoryo ang naapektuhan.

Ang paglabag sa lisensya ng GPL sa mimemagic project ay nauugnay sa paghahatid ng freedesktop.org.xml file sa code, na isang kopya ng MIME type database mula sa shared-mime-info library. Ang tinukoy na file ay ipinamahagi sa ilalim ng lisensya ng GPLv2, at ang shared-mime-info library mismo ay lisensyado sa ilalim ng lisensya ng ISC, na tugma sa GPL. Ang source code ng mimemagic ay ipinamahagi sa ilalim ng lisensya ng MIT at ang pamamahagi ng mga bahagi sa ilalim ng lisensya ng GPLv2 ay nangangailangan ng pamamahagi ng derivative na produkto sa ilalim ng lisensyang sumusunod sa GPLv2. Napansin ito ng maintainer ng shared-mime-info at ang may-akda ng mimemagic ay sumang-ayon sa pangangailangang baguhin ang lisensya.

Ang solusyon ay ang pag-parse ng XML file sa mabilisang paraan, nang hindi nagbibigay ng freedesktop.org.xml bilang bahagi ng library, ngunit pinalamig ng mimemagic maintainer ang repositoryo ng proyekto, kaya kailangang may ibang tao na mabilis na gawin ang gawaing ito. Posible na kung ang may-akda ng mimemagic ay hindi nais na ibalik ang kanyang proyekto sa operasyon (siya ay tumanggi sa ngayon), ito ay kinakailangan upang lumikha ng isang tinidor ng mimemagic at palitan ang dependency sa lahat ng mga kaugnay na proyekto. Ang paglipat ng mimemagic-based na mga proyekto sa libmagic library ay isinasaalang-alang din bilang isang opsyon.

Pinagmulan: opennet.ru

Magdagdag ng komento