Nem tudom, szerintem egy libbel is meg lehet csinálni ugyanazt, mint az ikonkészlettel: fordításidőben kiválaszthatod, hogy akarod-e használni, és ha igen, akkor melyiket. Itt akkor mizu van? Igen, a felhasználó dönthet arról, hogy GPL-es komponenst is használ-e a programban, de mivel különálló egység, könnyen elképzelhető, hogy
a) nincs !GPL alternatíva,
b) lefordul a program a lib nélkül is, de használhatatlan
int getRandomNumber() { return 4; } // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű. xkcd