GNU’s Not Unix® (GNU) projektas iš pradžių buvo skirtas sukurti nemokamą operacinę sistemą, o GNU bendroji viešoji licencija (GPL) buvo sukurta siekiant valdyti, kaip bus tvarkoma programinės įrangos platinimas ir modifikavimas. Ši licencija taip pat žinoma kaip copyleft licencija, nes ji daugeliu atžvilgių skiriasi nuo standartinių autorių teisių. Pati licencija platinama ir naudojama laisvai, tačiau modifikacijos gali būti neleidžiamos. Kai kurie pagrindiniai GNU bendrosios viešosios licencijos punktai yra tai, kad pagal ją išleista programinė įranga gali būti laisvai modifikuojama ir platinama, o tokiu būdu platinama programinė įranga turi išlaikyti GPL. GNU GPL iš pradžių sukūrė Richardas Stallmanas, o jį administravo ne pelno siekiantis Laisvosios programinės įrangos fondas (FSF).
Programinė įranga, platinama naudojant GNU bendrąją viešąją licenciją, gali būti parduodama arba siūloma nemokamai, jei laikomasi licencijos sąlygų. Laisvė, minima Free Software Foundation pavadinime, yra susijusi su informacijos laisve, o ne su kaina. Jei parduodama GPL licencijuota programinė įranga, gautą šaltinio kodą būsimi licencijos turėtojai gali pakeisti ir tada platinti pagal identišką licenciją. Taip pat galima modifikuoti GPL šaltinio kodą asmeniniam naudojimui, nes licencija nereikalauja išleisti modifikacijų.
1989–2007 m. buvo išleistos trys skirtingos GPL versijos. Pirmoji versija konkrečiai skirta dvejetainiams failams ir griežtesnių licencijų naudojimui. Pirmoji problema buvo išspręsta reikalaudama, kad šaltinio kodas būtų platinamas kartu su dvejetainiais failais, jei programinė įranga yra licencijuota GPL, ir sprendžiama dėl griežtesnių licencijų, nurodydama, kad pakeista GNU bendrosios viešosios licencijos programinė įranga turi išlaikyti GPL. 1991 m. antroji versija padarė įvairių pakeitimų, įskaitant tam, kad tam tikromis aplinkybėmis GPL programinė įranga nebūtų išleista tik dvejetaine forma. Vienu trečiosios versijos pakeitimu galėjo būti siekiama neleisti tam tikriems aparatūros įrenginiams naudoti GPL programinę įrangą, bet tada galutiniai vartotojai negalės atlikti savo modifikacijų.
GNU bendroji viešoji licencija taip pat gali būti naudojama ne programinei įrangai, o kitiems dalykams, jei laikomasi licencijos. Gali būti įmanoma išleisti tekstą ar kitą laikmeną pagal GPL, nors GNU projektas taip pat sukūrė skirtingą licenciją specialiai šiam tikslui. GNU Free Documentation License (GFDL) buvo sukurta specialiai rašytiniams darbams, nors kai kurie vis tiek gali pasirinkti naudoti GPL. GFDL licencija gali uždrausti bet kokį jos licencijuotą tekstą įtraukti į programinę įrangą, kuri naudoja GPL, o tai gali būti viena iš priežasčių naudoti GPL.