Määritelmä
Vapaille ohjelmistoilla on olemassa erilaisia määritelmiä. Yleisin ja hyväksytyin niistä on Richard Stallmanin Free Software Foundationin (FSF) määritelmä. FSF korostaa yksilön oikeuksia ja sen näkökulma on filosofinen. Vapaan ohjelman tunnusmerkit ovat:
- vapaus käyttää ohjelmaa, mihin tahansa tarkoitukseen.
- vapaus muokata ohjelmaa tarpeisiisi. (Tämän vapauden toteuttaminen käytännössä vaatii että sinulla on pääsy lähdekoodiin, koska muutosten tekeminen ohjelmaan ilman lähdekoodia on erittäin vaikeaa. Tosin on syytä mainita, että vaikeus on hyvin suhteellinen asia.)
- vapaus levittää ohjelman kopioita, joko ilmaiseksi tai maksua vastaan.
- vapaus levittää muokattuja versioita ohjelmasta siten, että yhteisö voi hyötyä tekemistäsi muutoksista.
FSF:n määritelmä ei ota kantaa hintaan. Ohjelmaa on lupa myydä, mutta myös asiakkaalla on lupa levittää ohjelmaa eteenpäin. Erilaisia Linux-käyttöjärjestelmäpaketteja on yleisesti myynnissä. Pelkkä lähdekoodin jakelu ei kuitenkaan muuta ohjelmaa vapaaksi. Esimerkiksi joissakin myytävänä olevissa peleissä voi olla mukana lähdekoodia, vaikka sitä ei ole lupa levittää.
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 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 yrityksille, jotka tukevat vapaiden ajureiden kehittämistä.
Linuxin luojalla, suomalaisellaillailla Linus Torvalds on Stallmanin kritisoima käytännöllinen suhde tietokoneohjelmien vapauteen, mikä johti kiistaan GNU/Linux-jakeluiden nimittämisestä: Jos nimenä käytetään pelkkää Linuxia, korostetaan Torvaldsin osaa näiden käyttöjärjestelmien synnyssä, ja sen myötä hänen asennoitumista vapauteen. Jos nimessä mainitaan GNU, Linuxiin siirtyvän mielenkiinto kohdistuu myös GNU-projektiin ja sen arvomaailmaan.
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. Lisenssin muuttaminen jälkikäteen, kun koodia on muutettu monen ihmisen toimesta, on vaikeaa.
Katso myös
Aiheesta muualla