Forfatteren af det populære Ruby-bibliotek mimemagic, der har over 100 millioner downloads, var nødt til at ændre licensen fra MIT til GPLv2 på grund af opdagelsen af en overtrædelse af GPLv2-licensen i projektet. Kun versionerne 0.3.6 og 0.4.0, der er udgivet under GPL, er tilbageholdt i RubyGems, mens alle tidligere udgivelser under MIT-licensen er blevet fjernet. Desuden er udviklingen af mimemagic stoppet, og repositoryet på GitHub er blevet arkiveret.
Disse handlinger har ført til forstyrrelser i mulighederne for at bygge projekter, der bruger mimemagic som afhængighed og distribueres under licenser, der er uforenelige med GPLv2. Ved brug af den nye version af mimemagic er udviklere af andre projekter, inklusive proprietære (MIT-licensen tillader sådan brug), forpligtet til at relicensere deres kode under GPL. Problemet er blevet forværret af, at gamle versioner under MIT-licensen ikke længere er tilgængelige fra RubyGems.org. Hvis pakke-caching ikke er inkluderet, serveren vil et forsøg på at bygge projekter med tidligere versioner af mimemagic resultere i fejl.
Ruby on Rails-rammen, der henter mimemagic som en af afhængighederne, er også blevet ramt. Ruby on Rails leveres under MIT-licensen og kan ikke inkludere komponenter under GPL. Problemet har antaget globale proportioner — hvis ændringen direkte berørte 172 pakker, så er mere end 577.000 repositories blevet påvirket, når man tager afhængighederne i betragtning.
Overtrædelsen af GPL-licensen i mimemagic-projektet er relateret til leveringen af filen freedesktop.org.xml i koden, som er en kopi af MIME-type databasen fra biblioteket shared-mime-info. Den nævnte fil distribueres under GPLv2-licensen, mens selve biblioteket shared-mime-info er under ISC-licensen, som er kompatibel med GPL. Kildeteksterne til mimemagic blev leveret under MIT-licensen, og levering af komponenter under GPLv2-licensen kræver distribution af det afledte produkt under en licens, der er kompatibel med GPLv2. Den tilknyttede shared-mime-info gjorde opmærksom på dette, og forfatteren af mimemagic accepterede kravene om at ændre licensen.
Løsningen ville være at udføre parsing af XML-filen on-the-fly, uden at levere freedesktop.org.xml som en del af biblioteket, men den tilhørende mimemagic har fryset projektets repository, så denne opgave må hurtigt udføres af nogen anden. Måske, hvis forfatteren af mimemagic ikke ønsker at bringe sit projekt tilbage (indtil videre nægter han), vil det kræve oprettelse af en fork af mimemagic og erstatning af afhængigheden i alle relaterede projekter. Som et alternativ overvejes også overgangen af projekter afhængig af mimemagic til biblioteket libmagic.
Kilde: opennet.ru
