Mitä on avoin lähdekoodi?
Sana avoin lähdekoodi tulee käännöksenä englannin kielen sanasta open source. Avoin tarkoittaa, että se on kaikille ilmaista ja kaikkien saatavilla. Lähdekoodi on (ohjelmointikielen) tekstiä, joka käännetään tietokoneen ymmärtämäksi kieleksi, binääriksi. Lähdekoodi on siis kaikkien ohjelmien perusta, sen avulla luodaan ja muokataan ohjelmaa/ohjelmistoja. Kaupallisissa ohjelmissa lähdekoodi pidetään yleensä salassa ja kuluttajan käsissä on ainostaan binääriversio ohjelmasta. Ohjelman käyttäminen onnistuu, mutta esimerkiksi tiettyjen toimintojen muokkaaminen halutuksi tai ohjelmointivirheiden korjaaminen on mahdotonta. Täytyy luottaa ohjelmapäivityksiin, jotka ovat usein myös maksullisia.
Avoimen lähdekoodin historia.
1960-luvulle saakka ohjelmistot olivat ilmaisia, ne kuuluivat laitteiston hintaan, samoin lähdekoodi. 1965 IBM lopetti lähdekoodin jakamisen käyttöjärjestelmän ohessa ja tästä alkoi uusien lakien ja tekijänoikeuksien muokkaaminen siten, että ohjelmien levittämisestä ilman lupaa tuli laitonta. Kymmenessä vuodessa ilmaiset lähdekoodit katosivat kokonaan ja kuluttajien oli käännyttävä ohjelmistotuottajien puoleen, jos heillä oli erityisiä toiveita ohjelman suhteen tai havaitsivat siinä virheitä. 1984 Richard Stallman, kyllästyneenä tälläiseen kehitykseen, julkaisi avoimen ohjelmistopaketin GNU:n, joka sisälsi käyttöliittymän ja erilaisia ohjelmointityökaluja. Sen suosio kasvoi ja seuraavana vuonna hän perusti kumppaniensa kanssa Free Software Foundationin kehittelemään tämän kaltaista toimintaa. Tätä varten luotiin GNU General Public License (GPL), jonka alla voitiin julkaista avointa lähdekoodia sisältäviä ohjelmia. GPL-lisenssi takaa kaikille oikeuden käyttää ja levittää ohjelmaa ja tehdä siihen muutoksia sekä päästä käsiksi lähdekoodiin. GNU oli pelkkä kokoelma ohjelmia, mutta siitä puuttui vielä ydin, kernel, että se voisi toimia itsenäisenä käyttöjärjestelmänä. 1991 Linus Torvald kehitteli avoimen Minix käyttöjäjestelmän pohjalta oman versionsa kernelistä, jolle hän antoi nimeksi Linux. Tämä oli siihen mennessä potentiaalisin kernelehdokas, joten sen kehittämistä jatkettiin ja nykyisin Linux on yleisin avoimeen lähdekoodin perustuvien käyttöjärjestelmien ydin.Miksi avointa lähdekoodia syntyy?
Monet ovat kyllästyneet kaupallisten ohjelmistojen yksinkertaisuuteen ja siihen, että niitä ei voi muokata. Tämä oli alunperin myös Richard Stallmanin ongelma: tulostusohjelma ei antanut virheilmoitusta, jos laitteessa oli paperitukos. Koska uutta ajuria ei löytynyt mistään, hän päätti tehdä sellaisen itse. Ongelma on siis siinä, että lähdekoodin salaaminen hidastaa asiakkaan tarpeita. Edellisessä tapauksessa ongelma olisi ratkaistu helposti, jos tulostimen valmistaja olisi antanut ajurin lähdekoodin muokattavaksi, nyt se piti tehdä alusta asti itse. Tämän idean ympärille Stallman kehitti järjestelmän, jossa kaikki on avointa. Yhteisö onkin kasvanut nykyisin suureksi ja uusia ohjelmia eri tarkoituksiin syntyy jatkuvasti. Niissä esiintyvät viat ja uudet ominaisuudet päivittyvät myös nopeaan tahtiin. Koko järjestelmä perustuu siihen, että muutaman silmäparin sijasta ohjelmakoodin näkee sadat silmäparit, näin virheet huomataan paljon nopeammin. Suuremmat julkaisut käyvät myös järjestelmällisen testausvaiheen, jota ei aina ehditä tehdä kaupallisissa ohjelmissa.Kuinka avoimen lähdekoodin projektit rahoitetaan?
Suurin osa avoimen lähdekoodiin laitetusta pääomasta on talkootyö, ihmiset haluavat kehittää ohjelmointialaa ja näin omalla pienellä panostuksellaan saavat yhdessä paljon aikaan. Pienissä projekteissa kulutkin ovat suhteellisen pienet, ainoat kulut tulevat lähinnä internetyhteyksistä, joiden avulla projektin jäsenet ovat yhteydessä. Isommissa projekteissa joudutaan säilömään ja siirtämään suurempia määriä dataa, joka tulee kalliiksi. Monet yhtiöt ja yhteisöt tukevatkin avoimen lähdekoodin projekteja avustaakseen koko ohjelmistoalan kehitystä tai/ja omaa etuaan. Ohjelmistojen julkaisijat, kuten SuSE tai Red Hat, palkkaavat ohjelmoijia kehittelemään avoimen lähdekoodin ohjelmia.Avoimen lähdekoodin vahvuudet ja heikkoudet
Avoimen lähdekoodin vahvuudet painottuvat kolmeen perusasiaan:Lähdekoodin saatavuus ja oikeus muokata sitä. Tämän ansiosta ohjelmia voidaan kehitellä jatkuvasti tai muokata käyttäjän haluamaksi. Myös ohjelmointivirheet tai turva-aukot havaitaan ja korjataan nopeasti yhteistyössä eri ohjelmoijien kanssa ympäri maailmaa. Mikään kaupallinen ohjelmistotalo ei pysty reagoimaan samalla nopeudella ilmenneisiin ongelmiin.
Oikeus levittää ohjelmaa ja lähdekoodia muutoksineen. Kuka tahansa voi luoda valmiiseen ohjelmaan uusia ominaisuuksia ja julkaista ohjelman uudestaan. Tämä takaa jatkuvan kehityksen.
Kukaan ei omista lähdekoodia. Kukaan yksityinen tai julkinen taho ei voi määrätä mihin suuntaan ohjelmaa lähdetään kehittelemään. Kaupallisten ohjelmistojen tapaan avoimessa lähdekoodissa ei myöskään synny ongelmaa, jos sitä kehittelevä yhteisö lakkaa olemasta tai vaikka toinen firma ostaa sen. Kehittelyä voidaan jatkaa toisella kokoonpanolla.
Harvat ohjelmistoja tuottavat yritykset ovat pystyneet luomaan yhtä monen osa-alueen kattavaa ohjelmistoa, minkä avoimen lähdekoodin ohjelmat tarjoavat. Esimerkiksi Linuxille on tarjolla noin tuhat erilaista ohjelmaa, jotka ovat kenen tahansa saatavilla ja mikä parasta, ilmaiseksi. Yksi unix-tyyppisten avoimen lähdekoodin parhaista puolista on sen etäkäytettävyys. Mistä tahansa voidaan ottaa yhteys koneeseen ja käyttää sitä samalla tavalla, kuin paikan päältä. Tämän ansiosta ei tarvita suurta mikrotukihenkilöiden joukkoa, koska yksi henkilö voi hoitaa saman homman mistä päin tahansa. Avoimen lähdekoodin ohjelmat ovat myös yhteensopivia lähes kaikkien laitteistojen kanssa, PC:stä Macintoshiin ja SPARCiin. Tietoturva ja sen kehittäminen on ollut mukana avoimen lähdekoodin projekteissa alusta asti ja se onkin huippuluokkaa. Tiedon oikeellisuus perustuu kolmeen asiaan, saatavuus, eheys ja luottamuksellisuus. Saatavuus perustuu luotettavuuteen, joista avoimen lähdekoodin käyttöjärjestelmät ovat kuuluisia, ne ovat siis vakaita käytössä. Eheys ja luottamuksellisuus perustuvat siihen, että kukaan ei pääse käsiksi tietoihin tai niiden siirtämiseen. Tämän takaavat profiloidut käyttäjätunnukset ja salatut yhteydet. Viruksia ei käytännössä esiinny laisinkaan, vaikka muutama sellainen on olemassa.
Vaikka avoimen lähdekoodin ohjelmat kattavatkin monet osa-alueet, on vielä muutamia joille ei löydy kunnollisia sovelluksia, tälläisia ovat mm laskutus, erilaiset hallintatyökalut, esimerkiksi projektinhallinta ja räätälöidyt erikoissovellukset. Toimistotyökalujen osalta on vielä pieniä yhteensopivuusongelmia graafisten esityssovellusten ja makrojen (Microsoftin suljetun lähdekoodin alainen) kanssa, mutta yleisesti ottaen toimistotyökalut ovat yhteensopivia kaupallisten vastaavien tuotteiden kanssa. Ongelmia saattaa tulla myös uusimpien 3d-näytönohjainten kanssa, joille ei ole vielä tehty kunnollista tukea. Avoimen lähdekoodin käyttöjärjestelmien ja ohjelmien kehittyneempi käyttäminen vaatii myös käyttäjältä enemmän tietämystä järjestelmästä, kuin esimerkiksi Microsoftin sovellusten käyttäminen. Myös tiedon löytäminen saattaa olla joskus aloittelijalle vaikeaa, esimerkiksi minkälainen ohjelma olisi paras mihinkin tarkoitukseen.
Käyttäjäystävällisyys onkin avoimen lähdekoodin ohjelmistojen suurin epäilyksen aihe. Viime vuosina tähän puoleen on panostettu paljon ja nykyisin erilaiset julkaisut on tehty erittäin käyttäjäystävällisiksi. Esimerkiksi linuxin asentamisen osaa kuka tahansa tietokoneita käyttänyt, siihen riittää, kun laittaa cd:n sisään ja seuraa ohjeita. Graafiset käyttöliittymät ja toimistotyökalupaketit ovat myös erittäin helppokäyttöisiä, käytännössä vastaavien kaupallisten kaltaisia.
Lue lisää GNU/linux pohjaisten järjestelmien eduista
