Licenciranje programske opreme je pogodba med izdajateljem programske opreme in končnim uporabnikom, včasih imenovana Licenčna pogodba za končnega uporabnika ali EULA. Čeprav je licenciranje lahko papirna pogodba, je najpogosteje vgrajena v samo programsko opremo kot del namestitvenega postopka. Če se uporabnik ne strinja z licenčnimi pogoji programske opreme, lahko to označi s klikom. S tem se postopek namestitve prekine. V večini primerov se končni uporabniki strinjajo, ali so licenco dejansko prebrali ali ne.
Predvsem pa licenciranje programske opreme ščiti avtorske pravice z omejitvami za končnega uporabnika v zvezi z izdelkom. Podvajanje za druge namene kot varnostno kopiranje, namestitev na več kot en računalnik, urejanje kode ali kakršen koli način spreminjanja programa je običajno prepovedano. Licence za programsko opremo lahko omejijo tudi obratni inženiring in zaobidejo nadzor, namenjen zmanjšanju piratstva.
Poleg omejevalne uporabe programske opreme licenciranje deluje tudi kot nekakšna zavrnitev odgovornosti. Večina pogodb EULA vključuje izjave, da založnik ne bo odgovoren za kakršne koli nepredvidene okoliščine, ki bi lahko nastale kot posledica uporabe programske opreme. To se lahko nanaša na karkoli, od sesutja računalnika do izgube podatkov, časa ali dohodka.
Nekateri založniki menijo, da ko se skrčljiva ovojnica na maloprodajnem izdelku zlomi, končni uporabnik samodejno sprejme licenco. Sodišča v različnih državah so obravnavala primere o tej zadevi, saj uporabnik ne more prebrati EULA, dokler se izdelek ne odpre, ko ni vključen papirni sporazum. Ko je skrčljiva folija odprta, artikla ni mogoče vrniti. Dejansko to zahteva soglasje uporabnika. Izid takega pravnega primera je odvisen od sodišča, na katerem je zaslišan, vendar je večina ugotovila, da je „licenciranje programske opreme za skrčenje“ neveljavno. Tega ne gre napačno razlagati kot dokončnega, saj je manjšina sodišč ugotovila drugače.
Licenciranje programske opreme se med vrstami programske opreme razlikuje. Licenciranje brezplačne programske opreme je manj omejujoče kot maloprodaja ali shareware, saj omogoča neomejeno kopiranje in distribucijo, medtem ko še vedno prepoveduje kakršne koli spremembe programa. Programska oprema v javni domeni je tista vrsta licenciranja, ki nima omejitev, saj programska oprema pripada javnosti.