Het oplossen van een GPL-overtreding in de mimemagische bibliotheek veroorzaakt een crash in Ruby on Rails

De auteur van de populaire Ruby-bibliotheek mimemagic, die meer dan 100 miljoen downloads heeft, werd gedwongen zijn licentie te wijzigen van MIT naar GPLv2 vanwege de ontdekking van een schending van de GPLv2-licentie in het project. RubyGems behield alleen versies 0.3.6 en 0.4.0, die werden geleverd onder de GPL, en verwijderde alle oudere MIT-gelicentieerde releases. Bovendien werd de ontwikkeling van mimemagie stopgezet en werd de repository op GitHub overgebracht naar een gearchiveerde staat.

Deze acties resulteerden in de mogelijkheid om projecten te bouwen die mimemagic als afhankelijkheid gebruiken en worden gedistribueerd onder licenties die niet compatibel zijn met GPLv2. Bij gebruik van de nieuwe versie van mimemagic zijn ontwikkelaars van andere projecten, inclusief propriëtaire projecten (de MIT-licentie staat dergelijk gebruik toe), verplicht om hun code opnieuw te licentiëren onder de GPL. Het probleem werd verergerd door het feit dat oudere versies onder de MIT-licentie niet langer beschikbaar waren op RubyGems.org. Als pakketcaching niet is ingeschakeld op de bouwserver, zullen pogingen om projecten te bouwen met eerdere versies van mimemagic mislukken.

Het Ruby on Rails-framework, dat mimemagie tussen zijn afhankelijkheden laadt, werd ook getroffen. Ruby on Rails heeft een licentie onder de MIT-licentie en kan geen GPL-componenten bevatten. Het probleem is mondiaal geworden: als de verandering rechtstreeks van invloed was op 172 pakketten, werden, rekening houdend met de afhankelijkheden, meer dan 577 repository's getroffen.

Schending van de GPL-licentie in het mimemagic-project houdt verband met de levering van het bestand freedesktop.org.xml in de code, dat een kopie is van de database van het MIME-type uit de gedeelde-mime-info-bibliotheek. Het opgegeven bestand wordt gedistribueerd onder de GPLv2-licentie, en de gedeelde-mime-info-bibliotheek zelf is gelicentieerd onder de ISC-licentie, compatibel met de GPL. De broncode van mimemagic wordt gedistribueerd onder de MIT-licentie en voor de distributie van componenten onder de GPLv2-licentie is distributie van het afgeleide product vereist onder een GPLv2-compatibele licentie. De beheerder van shared-mime-info merkte dit op en de auteur van mimemagic stemde in met de vereiste om de licentie te wijzigen.

De oplossing zou zijn om het XML-bestand on-the-fly te parseren, zonder freedesktop.org.xml aan te bieden als onderdeel van de bibliotheek, maar de mimemagic-onderhouder bevroor de projectrepository, zodat iemand anders dit werk snel zou moeten doen. Het is mogelijk dat als de auteur van mimemagie zijn project niet weer operationeel wil maken (hij heeft tot nu toe geweigerd), het nodig zal zijn een vork van mimemagie te creëren en de afhankelijkheid in alle gerelateerde projecten te vervangen. De overgang van op mimemagie gebaseerde projecten naar de libmagic-bibliotheek wordt ook als een optie overwogen.

Bron: opennet.ru

Voeg een reactie