Ja bych se ridil jednoduchym pravidlem: pod GPL je vse, co se dotkne GPL kodu. Pokud se ale GPL kod neceho dotyka, tak je to sumak.
Priklad 1: mam program ktery cte prikazy pres CLI. Chci dat uzivateli komfort, tak pridam volitelnou podporu pro readline. Od toho okamziku (bez ohledu na to, jestli se skutecne bude s readline linkovat) je nutne program sirit pod GPL, protoze program je nyni dilem odvozenym ("derivative work") od GPL-licencovaneho dila.
Priklad 2: mam Python a napisu rozsireni pro pouzivani knihovny readline. Protoze Python je rozsiritelny a rozhodne jsem ho nemenil abych pouzivani readline umoznil, nemuze byt odvozenym dilem. Odvozenym dilem je vsak samotne rozsireni. Tudiz musi byt kompatibilni jak s licenci Pythonu, tak s licenci readline. Protoze Python je uvolnen pod permisivni licenci s GPL kompatibilni, bude vysledna licence GPL.
A pozor, pokud mate kod pod MIT licenci, ale sirite projekt pod GPL, uzivatel nema jak nabyt ne-GPL verzi a tim padem nemuze GPL-zavisly kod vyhodit a uzivat pod MIT, na to by musel mit vase svoleni, nebo specialni release bez daneho kodu.
Nejsem pravnik.