Terminas nemokama programa reiškia tą programinę įrangą (programą ar programą), kuri platinama nemokamai ir kurią galima naudoti neribotą laiką. Tai yra painiojama su sąvoka, atitinkančia „shareware“, leidžiančią vartotojui išbandyti programą, kad, pasibaigus naudojimo dienoms, jis galėtų už ją sumokėti ir gauti išsamesnę programą.
Kaip, pavyzdžiui, pirmasis registruotas nemokama sukūrė Andrew Fluegelman 1982 metais, kuris taip pat sukūrė žodį ir registruotas jį kaip savo. „Fluegelman“ turėjo omenyje kurdamas šią nemokamą programinę įrangą ketinimą gauti pajamų iš šios programos, tai yra, viskas buvo savotiško rato dalis, o vartotojas ir produktas buvo pagrindiniai veikėjai. Žiūrint iš tam tikros perspektyvos, įmonė būtų tarpininkė tarp kliento ir parduodamo objekto, beveik taip, lyg ji juos pristatytų; kadangi bandomasis laikas yra lemiamas etapas, kurio metu stebima, ar pirkėjas tikrai svarstys galimybę įsigyti mokamą programinės įrangos versiją.
Tačiau pasikeitė idėjos, ką iš tikrųjų reiškia nemokama programinė įranga, todėl šiandien bus vadinamos minėtos bendrosios programos. Laisva programinė įranga yra išradimas, kuris platinamas tokiu savitu būdu dėl įvairių priežasčių, pavyzdžiui, kad už plėtrą atsakinga įmonė nesijaučia patenkinta rezultatu ir mano, kad ji negali uždirbti pelno arba yra gudrybės dalis kad sulauktų daugiau stebėtojų ir taip sukurtų mažą auditoriją, norinčią mokėti už savo produktus.
Kita vertus, šių programų turinio licencijoms , priešingai nei manoma, yra taikomos taisyklės, panašios į tas, kurios yra mokamuose produktuose. Pavyzdžiui, vartotojui suteikiama aiški laisvė, kad jis galėtų platinti produktus savo priemonėmis, nors jis taip pat turi duoti kreditą kūrybinei kompanijai, nes jis pažeistų autorių teises. Lygiai taip pat yra ir nemokamų programos versijų, kurios neturi ryškaus ryšio su pilna versija.