Nei testi sorgenti del lettore multimediale Winamp pubblicati nei giorni scorsi è stata scoperta una violazione di codice distribuito con licenze GPL e LGPL. In particolare, tra il codice di Winamp erano presenti il file fir_proc.cpp, il codificatore BladeMP3, il plugin in_vorbis e i componenti del generatore di parser GNU Bison, distribuiti con licenza GPL. Inoltre, nella fornitura era incluso un codice modificato della libreria libdiscid 0.6.2, distribuito con licenza LGPLv2.1. Nel repository di Winamp sono state trovate anche compilazioni binarie delle librerie open source libogg e vorbis, aggiunte senza indicazione di licenza.
La GPL è una delle licenze copyleft che impone la distribuzione di opere derivate alle stesse condizioni. Nel caso della LGPL, la licenza consente inoltre di collegare il codice a progetti con licenze incompatibili, ma non permette di modificare e distribuire il codice modificato senza cambiare la licenza del prodotto risultante.
I testi sorgenti di Winamp sono distribuiti con una licenza proprietaria WCL (Winamp Collaborative License), che vieta la creazione di fork e la distribuzione di versioni modificate. Pertanto, il progetto Winamp non può utilizzare nel proprio codice GPL e codice LGPL modificato senza convertire il proprio codice in una licenza compatibile con la GPL. Attualmente, la biblioteca modificata libdiscid e il plugin in_vorbis sono già stati rimossi dal repository, ma i file BladeMP3EncDLL.c e fir_proc.cpp sono ancora presenti. Tuttavia, sul sito continuano a essere distribuite vecchie versioni di Winamp, datate 26 aprile 2023, che, a quanto pare, continuano a utilizzare componenti GPL.
È interessante notare che alcuni appassionati hanno proposto di sfruttare la situazione esistente e, data la natura virale della licenza GPL, di ignorare la licenza proprietaria dichiarata e considerare il codice disponibile sotto licenza GPL, seguendo la logica secondo cui se il prodotto include codice sotto GPL, allora tutto deve essere distribuito sotto GPL.
È notevole che non siano i soli problemi emersi dalla pubblicazione del codice di Winamp — nel repository, per disattenzione, è stato caricato codice server SHOUTcast, che non appartiene più a Llama Group ed è stato venduto a un'altra azienda, oltre a codice proprietario di terzi e un certificato per la generazione di firme digitali (si menziona che il certificato era scaduto).
Fonte: opennet.ru
