Classpath exception
Una clausola aggiuntiva alla GPL che consente ai programmi di collegarsi a una libreria GPL senza diventare a loro volta GPL.
Nacque per GNU Classpath, un'implementazione libera della libreria di classi standard di Java. Il problema era evidente: se ogni programma Java che usava java.lang.String fosse stato considerato un'opera derivata di una libreria GPL, nessuna azienda commerciale avrebbe toccato Java. La soluzione fu una clausola secondo cui i moduli indipendenti che si limitano a fare il linking con la libreria possono essere distribuiti con la licenza che i loro autori preferiscono, mentre le modifiche alla libreria stessa restano soggette al copyleft.
La formulazione si affermò nel 2006–2007, quando Sun rilasciò OpenJDK come «GPLv2 with the Classpath Exception». La stessa idea sopravvive nella Runtime Library Exception di GCC del 2009, ed è per questo che i binari compilati con GCC non ereditano la licenza del compilatore. In pratica è un'alternativa su misura alla LGPL, senza l'obbligo di consentire agli utenti di sostituire la libreria.