Vapaa ohjelmisto

Vapaa ohjelmisto (engl. free software) on sellainen tietokoneohjelmisto, joka kunnioittaa ohjelman käyttäjän vapauksia käyttää, muokata ja jakaa kyseistä ohjelmistoa. Vapaa ohjelmisto menee usein sekaisin avoimen lähdekoodin kehityksen kanssa. On huomattava, että vapaa ohjelmisto ja avoimen lähdekoodin ohjelmisto eivät ole sama asia, eivätkä ne ole toisiaan poissulkevia. 
Vapaista ohjelmistoista puhuttaessa halutaan usein viitata eettis-normatiiviseen ajatukseen, jonka mukaan ohjelmistojen nimenomaan kuuluu olla vapaita ja omistusohjelmistot voidaan nähdä tällöin epämoraalisina. Kontrastina tähän pelkkä avoin lähdekoodi ("open source") taas viittaa ohjelmistojen kehitysmenetelmään.
Akronyymeillä FOSS (Free and Open Source Software) ja FLOSS (Free/Libre and Open Source Software) voidaan viitata saman aikaisesti avoimiin ohjelmistoihin että avoimeen lähdekoodiin. Suomeksi voidaan vastaavasti käyttää akronyymiä VALO (Vapaa ja avoimen lähdekoodin ohjelmisto). 
Koska englannin sana free voi tarkoittaa paitsi vapaata myös ilmaista, vapaat ohjelmistot saatetaan joskus sekoittaa ilmaisohjelmiin, joita ei kuitenkaan saa tutkia ja muuttaa vapaasti. Vaikka vapaatkin ohjelmistot tyypillisesti ovat saatavilla maksuttomasti, maksuttomuus ei ole vapaan ohjelmiston määritelmän kannalta olennaista.
Vapaiden ohjelmistojen kehittämisen motiivit voivat olla teknisiä, taloudellisia tai yhteiskunnallisia. Kehittäjien kannalta merkittävää on halu kehittyä ohjelmien tuottajina oppimalla toisilta tuottajilta. Myös halu auttaa toisia on merkittävä motiivi. Yhteisyyskin luo lisäarvoa: kun minä annan ja joku toinen ja kolmas antaa, me kaikki hyödymme. Vapaiden ohjelmien kehittäjät tekevät usein kehitystyötä ansiotyön ulkopuolella. Vapaita ohjelmistoja kehitetään laajasti myös osana kaupallista yritystoimintaa tai muuna palkkatyönä.

Vapaa ohjelmisto vai avoin lähdekoodi?

Vapaista ohjelmistoista puhuvat korostavat vapautta. Linuxin menestyksen myötä huomattiin myös vapaiden ohjelmistojen muita etuja, mm. varsinaiseen kehittäjätiimiin kuulumattomien mahdollisuus parantaa ohjelmistoja. Näitä käytännön etuja korostavat, johtohahmonaan Eric Raymond, alkoivat kutsua vapaita ohjelmistoja avoimen lähdekoodin ohjelmistoiksi, koska vapaus, ja varsinkaan vapauden englanninkielisen sanan free toinen merkitys ilmainen, ei istu kovin hyvin, kun ohjelmistoyrityksiä yritetään ylipuhua vapauttamaan koodinsa.
Stallman ja FSF eivät kuitenkaan pidä termistä avoin lähdekoodi: kun vapauden arvoa välineenä korostetaan vapauden itseisarvon sijaan, on helppo luopua vapaudesta silloin, kun siitä luopuminen on käytännöllistä (esimerkiksi kun suljettu laiteajuri on avointa ajuria parempi aiotussa käytössä). Epävapaan laiteajurin (ja sen myötä epävapaata ajuria vaativan laitteen) torjuminen sen sijaan antaisi kilpailuvaltin niille laitevalmistajille, jotka tukevat vapaiden ajureiden kehittämistä.
Linux-ytimen luojalla, suomalaisella Linus Torvaldsilla on Stallmanin kritisoima käytännöllinen suhde tietokoneohjelmien vapauteen, mikä on osaltaan johtanut kiistaan GNU/Linux-jakeluiden nimeämisestä. Jos nimessä viitataan pelkästään Linuxiin, korostetaan Torvaldsin osaa näiden käyttöjärjestelmien synnyssä ja hänen ensisijaisesti välineellistä asennoitumistaan avoimeen lähdekoodiin. Jos nimessä mainitaan GNU, huomiota annetaan GNU-hankkeelle ja sen arvomaailmalle.
Vaikka avoimen lähdekoodin ja vapaiden ohjelmistojen puolestapuhujien näkökohdat ovat erilaisia, käytännön työssä he ovat usein samassa rintamassa: avoimen lähdekoodin määritelmä on käytännössä hyvin lähellä FSF:n vapaan ohjelmiston määritelmää. Esimerkiksi Mozilla ja Openoffice vapautettiin luultavasti avoimen lähdekoodin liikkeen ansiosta, ja ne ovat merkityksellisiä vapaalle GNU/Linux-käyttöjärjestelmälle.

Lisenssit

Vapailla ohjelmilla on erilaisia lisenssejä. Lisenssit on tapana jakaa kahteen pääluokkaan niin sanotun copyleft-ominaisuuden perusteella:
Copyleft-lisenssit vaativat, että ohjelman (joko sellaisenaan tai muokattuna) levittäminen edelleen on tehtävä alkuperäisin ehdoin (samalla lisenssillä). Ehtojen säilyttäminen koskee edelleen levittämistä ja uudelleen julkaisua. Omaan käyttöön saa toki tehdä muutoksia vailla pakkoa julkaista niitä. Copyleft-lisensseistä tunnetuin on Linuxinkin käyttämä, FSF:n julkaisema GNU General Public License (GPL). Muita copyleft-lisenssejä ovat esim.  GNU Lesser General Public License (LGPL), Mozilla-lisenssi (MPL) ja Berkeley Database (aka Sleepycat Software Product) -lisenssi.
Ei-copyleft-lisenssit (esim. Zope-, X11- ja BSD-lisenssi) eivät aseta vaatimuksia muokattujen versioiden julkaisulle, jolloin omille muokatuille versioille saa halutessaan määrätä kopiointikiellon tai muita rajoituksia.
Yleensä kehotetaan käyttämään jotakin vakiintunutta ja hyvää lisenssiä, oman lisenssin laatimisen sijaan. Näin koodin lainaaminen eri projektien välillä on mahdollisimman helppoa eikä ohjelmistoa levitettäessä jouduta miettimään onko ohjelmisto riittävän vapaa. Jos projektilla, johon koodia tehdään, on poikkeava lisenssi, koodin levityksen salliminen tämän ohessa myös esimerkiksi GPL:n alla edesauttaa tilannetta. Lisenssiä on vaikea muuttaa jälkikäteen, kun koodia on jo moni muuttanut.