Å fikse et GPL-brudd i det mimemagiske biblioteket forårsaker en krasj i Ruby on Rails

Forfatteren av det populære Ruby-biblioteket mimemagic, som har over 100 millioner nedlastinger, ble tvunget til å endre lisensen fra MIT til GPLv2 på grunn av oppdagelsen av et brudd på GPLv2-lisensen i prosjektet. RubyGems beholdt bare versjonene 0.3.6 og 0.4.0, som ble sendt under GPL, og fjernet alle eldre MIT-lisensierte utgivelser. Dessuten ble utviklingen av mimemagic stoppet, og depotet på GitHub ble overført til en arkivert tilstand.

Disse handlingene resulterte i muligheten til å bygge prosjekter som bruker mimemagic som en avhengighet og distribueres under lisenser som er inkompatible med GPLv2. Når du bruker den nye versjonen av mimemagic, må utviklere av andre prosjekter, inkludert proprietære (MIT-lisensen tillater slik bruk), lisensiere koden sin på nytt under GPL. Problemet ble forverret av det faktum at eldre versjoner under MIT-lisensen ikke lenger var tilgjengelig fra RubyGems.org. Hvis pakkebufring ikke er aktivert på byggeserveren, vil forsøk på å bygge prosjekter med tidligere versjoner av mimemagic mislykkes.

Ruby on Rails-rammeverket, som laster inn mimemagi blant sine avhengigheter, ble også rammet. Ruby on Rails er lisensiert under MIT-lisensen og kan ikke inkludere GPLed-komponenter. Problemet har blitt globalt - hvis endringen direkte påvirket 172 pakker, og tatt i betraktning avhengigheter, ble mer enn 577 tusen depoter berørt.

Brudd på GPL-lisensen i mimemagic-prosjektet er knyttet til leveringen av freedesktop.org.xml-filen i koden, som er en kopi av MIME-typedatabasen fra shared-mime-info-biblioteket. Den spesifiserte filen distribueres under GPLv2-lisensen, og selve biblioteket med delt mime-info er lisensiert under ISC-lisensen, kompatibel med GPL. mimemagics kildekode distribueres under MIT-lisensen og distribusjon av komponenter under GPLv2-lisensen krever distribusjon av det avledede produktet under en GPLv2-kompatibel lisens. Vedlikeholderen av shared-mime-info la merke til dette og forfatteren av mimemagic gikk med på kravet om å endre lisensen.

Løsningen ville være å analysere XML-filen umiddelbart, uten å levere freedesktop.org.xml som en del av biblioteket, men den mimemagiske vedlikeholderen frøs prosjektlageret, så noen andre må raskt gjøre dette arbeidet. Det er mulig at hvis forfatteren av mimemagic ikke vil returnere prosjektet sitt til drift (han har nektet så langt), vil det være nødvendig å lage en gaffel av mimemagic og erstatte avhengigheten i alle relaterte prosjekter. Overgangen av mimemagic-baserte prosjekter til libmagic-biblioteket vurderes også som et alternativ.

Kilde: opennet.ru

Legg til en kommentar