Skip to content

Avoimen lähdekoodin vapaat sovellukset

  • by

Ensin on syytä määritellä, mitä tarkoitamme lähdekoodilla. Lähdekoodi on ihmisten kirjoittamaa koodia, jota kirjoitetaan jollakin ohjelmointikielellä, kuten C:llä, Assemblyllä, Javalla tai Perlillä (allekirjoittaneen suosikki). Se ei tule meille avaruudesta, eikä se synny itsestään, vaan nörtit työskentelevät ahkerasti tuottaakseen koodia, jota tietokone ymmärtää ja joka voidaan kääntää sovellukseksi, jonka käyttäjä voi suorittaa kotikoneellaan, älypuhelimella tai tabletillaan.

Kaupalliset toimijat kuten Microsoft, Apple ja näiden käyttöjärjestelmille sovelluksia kehittävät kolmannet osapuolet julkaisevat sovelluksensa suurimmaksi osaksi valmiiksi suoritettavina tiedostoina, niin sanottuina binääritiedostoina. Tietokone ymmärtää binäärikoodia helposti ja osaa suorittaa sitä, mutta ihmisen on erittäin vaikea, ellei peräti mahdoton tulkita binäärikoodia. Käyttäjän kannalta on kätevää ostaa levyllä tai ladata netistä valmis binääritiedosto, jonka voi heti suorittaa omalla koneellaan. Voimme verrata tilannetta autoon. Kuka tahansa autoharrastaja voi avata autonsa konepellin, tutkia moottoria, selvittää miten se toimii ja mikäli löytää moottorista vikoja, hän voi korjata ongelman, mikäli omaa tarpeeksi tietotaitoa. Kuvittele nyt tilanne, että yrität avata autosi konepellin, mutta se onkin hitsattu tiukasti kiinni. Et voi avata sitä, joten et pääse tutkimaan mikä autossasi on vialla, eikä sinulla ole mitään mahdollisuutta korjata itse autoasi. Ostaisiko kukaan tällaista autoa? Kuitenkin jostain syystä ihmiset maksavat kovaa valuutta suljetun lähdekoodin ohjelmistoista, joita eivät voi korjata, paikata tai tuunata itse.

Käyttäjän kannalta on vain kätevää, kun saa sovelluksensa ladattua tiedostona, jonka tietokone voi avata saman tien. Mutta nörtit eivät tästä ilahdu. He haluavat tietää, miten tuo koodi toimii ja jos siinä on bugeja, mielellään korjaisivat ne itse. Innokkaallakaan tietokoneharrastajalla ei ole mitään mahdollisuutta itse korjata kaupallisten toimitsijoiden suljetun koodin sovelluksia, vaan he, kuten käyttäjätkin, ovat täysin kaupallisen toimijan armoilla. Jos Microsoft saa tarpeeksi monta virheilmoitusta, heillä on syy korjata ohjelmansa bugi ja sitten tarjota ratkaisu käyttäjälle päivityksen muodossa. Mutta huomaa, että bugin voi korjata ainoastaan Microsoft. Ostaisitko auton, johon et voi itse vaihtaa renkaita, jonka öljyä et voi tarkistaa, käynnistysmoottoria huoltaa itse tai edes avata konepeltiä? Ja vaikka itse et osaisi huoltaa autoasi, todennäköisesti tunnet jonkun tutun, joka osaa auttaa sinua, tai vähintään voit viedä autosi mille tahansa alansa osaavalle mekaanikolle, joka voi vapailla markkinoilla huoltaa autosi käypään hintaan.

Jos kerran autot, huonekalut, soittimet, jääkaapit ja tietokoneet ovat vapaasti asiansa osaavien ihmisten korjattavissa, miksi tietokoneohjelmat suurimmaksi osaksi eivät ole? Onko kaupallisen ohjelmistovalmistajan ainoa keino tehdä liikevoittoa myydä asiakkaille tuotteita, joita ainoastaan he itse voivat ja saavat korjata? Miksi Microsoftin tuotteiden lisäksi kuluttaja joutuu käyttämään rahansa myös kolmansien osapuolien virustorjuntaohjelmistoihin? Kenen mielestä tämä on hieno tilanne?

Ratkaisu tähän ongelmaan ovat avoimen lähdekoodin vapaat ohjelmistot. Avoimella tarkoitetaan sitä, että sovelluksen lähdekoodi on kenen tahansa vapaasti ladattavissa ja tutkittavissa, vapaa tarkoittaa sitä, että ohjelmistoa saa käyttää omaan tarkoitukseen vapaasti (lähes) ilman rajoituksia. Englanniksi termi kuuluu ”free open source software” ja usein täsmennetään, että free tarkoittaa samaa kuin ranskan libre, eli ”free as in freedom, not beer”. Free täten ei tarkoita ilmaista, vaan pikemminkin vapaata. Huomaa että kaikki avoin lähdekoodi ei kuitenkaan ole ilmaista, eivätkä kaikki ilmaiset sovellukset ole avoimia. Myöskin avoimen lähdekoodin lisensseissä on eroja, osa asettaa rajoituksia sille, mitä lähdekoodilla saa tehdä, osa ei juuri mitenkään rajoita käyttäjän vapautta.

Aivan kuten minkä tahansa ihmisen luoman insinööritaidon luomuksessa, myös lähdekoodiin saattaa päätyä virheitä, eli bugeja. Osa näistä saattaa olla harmittomia, mutta osa saattaa johtaa vakavaan tietoturvariskiin. Jos ohjelmiston lähdekoodi ei ole avointa, ainostaan sen valmistaja tietää, miten se toimii ja riippuen omasta osaamisestaan saattaa tai ei saata tunnistaa vakavia tietoturvariskejä. Näin ollen lukuisissa suljetun koodin sovelluksissa on ollut vakavia niin kutsuttuja nollapäivän aukkoja, joka tarkoittaa sitä, että niitä on saattanut hyväksikäyttää ennen kuin valmistaja on kerennyt korjaamaan ohjelmistoaan. Windows-käyttöjärjestelmää ovat läpi sen historian vaivanneet virukset ja haittaohjelmat. Applen macOS:n historia on puhtaampi, mutta mikään ei vedä vertoja Linuxille, jota virukset kertakaikkiaan eivät ole koskaan vaivanneet. Mistä tämä voisi johtua?

Koska Linuxia kehittävät miljoonat nörtit ympäri maailman, on sen lähdekoodissa havaitut ongelmat tunnistettu ajoissa ja korjaus saatu toimitettua käyttäjille ajoissa. Tämä ei tarkoita, etteikö Linuxissa voisi olla ainuttakaan bugia, mutta sen kernel, eli käyttöjärjestelmän ydin, on niin nerokasta suunnittelua, että maailman yleisin käyttöjärjestelmä, Googlen kehittämä avoimen lähdekoodin Android, pohjautuu Linuxin lähdekoodiin. Jos avoimen lähdekoodin käyttöjärjestelmä toimii kännyköissä ja tableteilla, miksi se ei toimisi myös pöytäkoneissa?

Kaikista edellä mainituista seikoista huolimatta Microsoftin Windows on edelleen työpöydillä ylivoimaisesti maailman suosituin käyttöjärjestelmä, yli 77% osuudella. Microsoftin monopoli on vahva. Pitääkseen kiinni omasta asemastaan Microsoft on Office-ohjelmistossaan avoimien standardien sijaan käyttänyt omia formaattejaan, jotka ovat huonosti yhteensopivia muiden valmistajien tuotteiden kanssa. Tästä syystä Officen tuotteisiin tottuneet ihmiset eivät voi helposti siirtyä käyttämään avoimen lähdekoodin Libre Officen tuotteita, koska Microsoftin tiedostomuodot eivät ole niiden kanssa täysin yhteensopivia. Koska lukuisat yritykset ja oppilaitokset ovat rakentaneet kaikki tietojärjestelmänsä Windows-sovellusten varaan, on niiden siirtäminen muille alustoille työlästä, hankalaa ja kallista. Microsoftin monopoliaseman murtaminen ei täten ole mikään helppo tehtävä.

Kuitenkin muutoksia on havaittavissa. Koska yhä useampi sovellus tuotetaan nykyään pilvipalveluna, jota käyttäjä voi käyttää aivan millä tahansa selaimella ja millä tahansa käyttöjärjestelmällä, ihmisillä on yhä vähemmän syytä pitää kiinni Microsoftin tuotteista. Avoimen lähdekoodin ohjelmistot ovat olleet ylivertaisia palvelinpuolella, websovelluksissa ja selaimissa. Nykyään maailman yleisin selain, Googlen Chrome yli 63% markkinaosuudellaan pohjautuu avoimen lähdekoodin Chromium selaimeen, vaikka ei itse olekaan avointa lähdekoodia. On hyvä kysymys, miksi Google ei ole tuottanut omaa selaintaan avoimena lähdekoodina. Internetin palvelimista 40% pyörii avoimen lähdekoodin Apache ohjelmistolla, web sovelluksista peräti 78% on tuotettu avoimen lähdekoodin Worpress sisällönhallintajärjestelmällä ja websovellusten ohjelmointiin käytetty avoin PHP on ylivoimainen ykkönen 63% markkinaosuudella. Valitettavasti palvelimien käyttöjärjestelmissä Windows Server johtaa markkinoita 62 prosentin osuudella ja loput ovat Linux- tai Unix-järjestelmiä.

Kuitenkin tästä datasta on pääteltävissä, että avoimen lähdekoodin sovellukset yksinkertaisesti toimivat ja niiden markkinaosuudet ovat vahvassa kasvussa. Kenties vuosi 2022 on Linuxin vuosi valloittaa myös työpöytämarkkinat. Ennustan, että kymmenen vuoden kuluttua kukaan ei enää muista Microsoftia tai Applea. Voin olla myös väärässä, mutta se on varmaa, että kymmenen vuoden kuluttua minä käytän edelleen Linuxia ja autan asiakkaitani siirtymisessä kohti avoimen lähdekoodin ohjelmistojen tuomaa rauhaa, turvaa, iloa ja vapautta. Free software, free as in freedom, not beer.

Leave a Reply

Your email address will not be published. Required fields are marked *