Vapaa ohjelmisto

Wikipediasta
Siirry navigaatioon Siirry hakuun

Vapaa ohjelmisto(engl.free software) on sellainentietokoneohjelmisto,joka kunnioittaa ohjelman käyttäjän vapauksia käyttää, muokata ja jakaa kyseistä ohjelmistoa. Vapaa ohjelmisto menee usein sekaisinavoimen lähdekoodinkanssa. Vapaa ohjelmisto ja avoin lähdekoodi ei tarkoita samaa asiaa, eivätkä ole toisiaan poissulkevia.

Richard Stallmaninmukaan vapaalla ohjelmistolla viitataan vapauteen ja oikeuteen levittää ohjelmistoa muutoksilla tai muuttamattomana kutensananvapaudessa.[1]Eric RaymondinesseeThe Cathedral and the Bazaarhuomioi avoimen lähdekoodin käytännöllisen merkityksen ohjelmistojen kehitysmenetelmään.[2]Vapaa ja avoin ovat eri asioita, mutta eivät estä toisiaan: avoin lähdekoodi on kehitysmenetelmä kun taas vapaa ohjelmisto on sosiaalinen liike.[2]

Vapaista ohjelmistoista puhuttaessa halutaan usein viitata eettis-normatiiviseen ajatukseen, jonka mukaan ohjelmistojen nimenomaan kuuluu olla vapaita jaomistusohjelmistotvoidaan nähdä tällöin epämoraalisina. Omisteiset ohjelmistot ovat tällöin vastakohta vapaalle ohjelmistolle.[1]

AkronyymeilläFOSS(Free and Open Source Software) jaFLOSS(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 sanafreevoi tarkoittaa paitsi vapaata myös ilmaista, vapaat ohjelmistot saatetaan joskus sekoittaailmaisohjelmiin,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.[3]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ä.lähde?

Vapaille ohjelmistoille on olemassa erilaisia määritelmiä. Yleisin ja hyväksytyin niistä onFree Software Foundationin(FSF) määritelmä. FSF korostaa yksilön oikeuksia ja sen näkökulma onfilosofinen.Vapaan ohjelman tunnusmerkit ovat neljä perusvapautta (joiden numerointi yleisen ohjelmointitavan mukaan aloitetaan nollasta):[4]

  • vapaus 0: ohjelmaa saa käyttää mihin tahansa tarkoitukseen
  • vapaus 1: ohjelman toteutustapaa saa tutkia, ja ohjelmaa saa muokata omien tarpeiden mukaiseksi
  • vapaus 2: ohjelman kopioita saa jakaa edelleen lähimmäisen auttamiseksi
  • vapaus 3: ohjelman muokattuja versioita saa jakaa muille, niin että niistä on hyötyä koko yhteisölle.

Ohjelman muokkaaminen vaatii käytännössä ohjelmanlähdekoodin.Vaikka muutoksia on mahdollista tehdä suoraan konekieliseen ohjelmaankin, tämä on virhealtista, useimmissa tapauksissa hyvin hankalaa ja tietynlaisten muutosten osalta mahdotonta. Pelkkälähdekoodin jakeluei kuitenkaan tee ohjelmaa vapaaksi – esimerkiksi joissakin myytävänä olevissa peleissä voi olla mukana lähdekoodia, vaikka sitä ei ole lupa levittää edelleen.

FSF:n määritelmä ei ota kantaa hintaan. Ohjelmaa pitää saada myydä, mutta toisaalta ostajaa ei saa kieltää levittämästä ohjelmaa eteenpäin ilmaiseksi tai valitsemallaan hinnalla, maksamatta tekemistään lisäkopioista. Tästä seuraa, että vapaat ohjelmat käytännössä ovat yleensä saatavilla ilmaiseksikin. Vapaiden ohjelmistojen mukana voidaan kuitenkin myydä esimerkiksi tukipalveluja tai sellaisia osia, jotka eivät ole vapaita. KaupallistenLinux-jakeluversioiden ansaintalogiikka perustuu tyypillisesti juuri tukipalvelujen myyntiin.

GNU:n lisäksi toinen merkittävä vapaan ohjelman määritelmä onDebianin vapaiden ohjelmistojen ohjeisto.Debianin määritelmä ei ole aina yhteensopiva GNU:n käsityksen kanssa. Debian on päätynyt pitämään GNU:nGNU Free Documentation Licensea(GFDL) epävapaana. MyösWikipediakäytti tätä lisenssiä.[5]

Vapaa ohjelmisto vai avoin lähdekoodi?

[muokkaa|muokkaa wikitekstiä]

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, johtohahmonaanEric Raymond,alkoivat kutsua vapaita ohjelmistojaavoimen lähdekoodinohjelmistoiksi, koska vapaus, ja varsinkaan vapauden englanninkielisen sananfreetoinen merkitysilmainen,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 kunsuljettulaiteajurion 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-ytimenluojalla, suomalaisellaLinus Torvaldsillaon 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 annetaanGNU-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ää. EsimerkiksiMozillajaOpenOfficevapautettiin luultavasti avoimen lähdekoodin liikkeen ansiosta, ja ne ovat merkityksellisiä vapaalle GNU/Linux-käyttöjärjestelmälle.

Vapailla ohjelmilla on erilaisialisenssejä.Lisenssit on tapana jakaa kahteen pääluokkaan niin sanotuncopyleft-ominaisuuden perusteella:

Copyleft-lisenssitvaativat, 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 onLinux-ytimenkäyttämä, FSF:n julkaisemaGNU 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- jaBSD-lisenssi) eivät aseta vaatimuksia muokattujen versioiden julkaisulle, jolloin omille muokatuille versioille saa halutessaan määrätä kopiointikiellon tai muita rajoituksia. GNU-projekti ei pidä alkuperäistäBSD-lisenssiävapaana sen "mainontalausekkeen" vuoksi. Lisäksi GPL-lisenssin 2.0 ja 3.0-versiot eivät ole yhteensovia keskenään. GNU-projekti kehottaa lisensoimaan ohjelmat esimerkiksi "GPL 3 tai myöhempi versio".[6]

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.

  1. abRichard Stallman:Why Open Source misses the point of Free Softwaregnu.org.Viitattu 30.5.2021.(englanniksi)
  2. abScott K Peterson:What's the difference between open source software and free software?opensource.com.7.11.2017. Viitattu 30.5.2021.(englanniksi)
  3. Feller & Fizgerald: Understanding open source software development. (ISBN 0201734966)
  4. The Free Software Definition
  5. https://www.debian.org/vote/2006/vote_001
  6. https://www.gnu.org/licenses/license-compatibility.html

Aiheesta muualla

[muokkaa|muokkaa wikitekstiä]