La GPL ou GNU General Public License, est la licence utilisée pour le projet GNU. Elle est bien plus longue et restrictive que les licences permissives. Sa restriction la plus importante concerne sa close d'incompatibilité avec toute licence plus restrictive qu'elle-même. C'est ce qui permet le principe de copyleft. Voici un exemple qui permet de comprendre simplement le principe du copyleft :
Tout d'abord, considérons que nous avons à droite, un code sous licence GPL, une bibliothèque graphique par exemple. Et à gauche, le code d'un logiciel quelconque, nous allons l'appeler logiciel bleu.
Supposons maintenant que le logiciel bleu veuille utiliser la bibliothèque graphique sous licence GPL. Il en a le droit mais...
... tout le logiciel bleu est maintenant forcé de passer sous licence GPL !
C'est le principe du copyleft de la GPL : tout ce qui utilise un logiciel, une bibliothèque ou bien un code sous une licence GPL, devient une licence GPL. Le copyleft est ce qui empêche les logiciels propriétaires d'utliser du code sous licence GPL. Car bien sûr, la copie d'un code sous licence GPL dans un code sous licence propriétaire est impossible :
Ce copyleft, appelé copyleft fort, peut donner l'impression que la licence GPL est une licence virale car elle continue de se multiplier. C'est d'ailleurs là qu'on voit une opposition d'idées entres les partisans des licences permissives et ceux des licences en copyleft. Il est vrai que pour une licence libre, la liberté d'utilisation est remise en doute par certains. La licence GPL apparaît alors comme une charge que l'on doit supporter pour avoir voulu utiliser du code GPL.
Bien que cette licence puisse paraître trop restrictive pour du libre, elle montre bien la détermination du mouvement libre à s'opposer aux logiciels propriétaires et promouvoire le libre. Mais cette licence n'est pas adaptée à toutes les situations. C'est pourquoi la LGPL fût créée.