Programinės įrangos įstatymas palaiko programinės įrangos sandorius ir apsaugo intelektinę nuosavybę, įtrauktą į pačią programinę įrangą. Sandoriai paprastai apima licencijavimą, palaikymą ir plėtrą. Programinė įranga yra saugoma įvairių intelektinės nuosavybės teisių.
Programinės įrangos licencijos sutartys gali būti paprastos arba išsamios sutartys, paprastai atsižvelgiant į sandorio vertę. Vartotojas gali atsisiųsti programą iš interneto ir sutikti su programinės įrangos licencijos sutarties sąlygomis internete spustelėdamas sutarties sąlygas. Šios licencijos sutartys nėra derybinės. Vartotojas turi sutikti su sąlygomis, jei nori licencijuoti programinę įrangą.
Programinės įrangos įstatymas apima didesnius programinės įrangos licencijavimo sandorius, dėl kurių šalys susitaria. Šios šalys gali pradėti nuo bazinės sutarties, kurią pateikia programinės įrangos pardavėjas, tačiau galutinė sutartis yra ta, kurią abi šalys pakeitė, kad atitiktų konkrečią operaciją. Tokios sutartys apima nuosavybės sąlygas ir konkrečias teises, kurias licencijos išdavėjas suteikia licencijos turėtojui. Pokyčio, palyginti su pradine bazine sutartimi, laipsnis šiek tiek priklauso nuo programinės įrangos pardavėjo, skirto licencijos turėtojui, pritaikymo programinei įrangai apimties.
Kai kurios programinės įrangos operacijos apima tiekėjo atliekamus originalios programinės įrangos pakeitimus. Šie pakeitimai gali būti programinės įrangos licencijos sutarties dalis arba gali būti įtraukti į atskirą programinės įrangos kūrimo sutartį. Kitos programinės įrangos operacijos gali būti susijusios su konkrečia patentuota programine įranga. Sutartyse, kuriose apibrėžiamos šios operacijos, bus nurodyta, kam priklauso ši naujai sukurta programinė įranga ir kuri šalis gauna licenciją. Derybose dėl šių sandorių šalys turi atsižvelgti į įvairius programinės įrangos teisės aspektus.
Programinės įrangos palaikymo sutartyse nustatyti parametrai, pagal kuriuos programinės įrangos pardavėjas turi teikti palaikymą. Šios sutartys skiriasi atsižvelgiant į pagrindinės programinės įrangos kainą ir pritaikymo laipsnį. Nebrangi programinė įranga paprastai palaiko ribotą kiekį. Labiau pritaikyta arba brangesnė programinė įranga turi labai specifines palaikymo sąlygas.
Paramos sutartys gali apimti skirtingus paramos lygius. Bazinis lygis suteikiamas darbo valandomis. Kitas pagalbos lygis gali būti teikiamas ne darbo valandomis ir gali būti taikomas papildomas mokestis. Programinės įrangos įstatymas nustato parametrus, pagal kuriuos klientui teikiama ši pagalba.
Autorių teisių apsauga suteikiama daugumai programinės įrangos programų. Kai kurioms programinės įrangos programoms gali būti suteikta patentų apsauga. Yra specialios apsaugos sritys, kurios gali apimti tam tikrų tipų programinę įrangą. Programinės įrangos įstatymų apsauga įvairiose šalyse skiriasi. Derybos dėl programinės įrangos licencijos tarp dviejų tarptautinių klientų dar labiau apsunkina sutartis, nes turi būti atsižvelgiama į kiekvienos šalies įstatymus, reglamentus ir sutartis, nes šalys nustato konkrečias pagal šias sutartis suteikiamas teises.