GPL توسط ریچارد استالمن در سال ۱۹۸۹ نوشته شدهاست، برای استفاده با برنامههایی که به عنوان بخشی از پروژه گنو منتشر شدهاست. GPL اصلی مبتنی بر وحدت مجوزهای مشابه بود که برای نسخههای اولیه [[گنو ایمکس|GNU Emacs]] (1985)، [[گنو دیباگر|Debugger GNU]] و کامپایلر [[جیسیسی|GNU C]] استفاده میشد. این مجوزها حاوی مقررات مشابه GPL مدرن بودند، اما مخصوص هر برنامه، با وجود اینکه مجوز یکسانی دارند، آنها را ناسازگار جلوه دادند. هدف استالمن تولید یک مجوز است که میتواند برای هر پروژه ای مورد استفاده قرار گیرد، بنابراین امکان ایجاد کد برای بسیاری از پروژهها فراهم میشود.
نسخه دوم مجوز، نسخه ۲، در سال ۱۹۹۱۱۹۱ منتشر شد. طی ۱۵ سال بعد، اعضای [[جنبش نرمافزار آزاد]] نگران مشکلات موجود در مجوز GPLv2 بودند که میتواند به شخصی اجازه دهد از نرمافزارهای دارای مجوز GPL به شکلی خلاف مجوز سوء استفاده کند. این مشکلات شامل tivoization (درج نرمافزار دارای مجوز GPL در سختافزار است که از اجرای نسخههای اصلاح شده نرمافزار آن خودداری میکند)، موارد سازگاری مشابه مواردی که از پروانه کلی عمومی Affero — و معاملات ثبت اختراع بین [[مایکروسافت]] و توزیع کنندگان آزاد و منبع آزاد استفاده میشود. نرمافزاری که برخی به عنوان تلاش برای استفاده از حق ثبت اختراع به عنوان سلاحی علیه جامعه نرمافزار آزاد استفاده میکردند.
نسخه ۳ برای تلاش برای رفع این نگرانیها ساخته شد و در ۲۹ ژوئن ۲۰۰۷