Hyppää pääsisältöön

Vikasietotila: Vältä avoimen lähdekoodin ohjelmien sudenkuopat

Vikasietotilan tekijät Kari Haakana, Panu Räty ja Olli Sulopuisto.
Vikasietotilan tekijät Kari Haakana, Panu Räty ja Olli Sulopuisto. Vikasietotila

Avoimen lähdekoodin ohjelmistoilla on imago-ongelma. Moni tuntuu ajattelevan, että kaupalliset ohjelmat ovat aina parempia, koska eihän ilmainen tuote voi olla yhtä hyvä kuin maksullinen. Mielikuva ei ole täysin oikea, mutta ei täysin vääräkään. Olennaista on tietää, miten erottaa kehnon ohjelman toimivasta softasta, joten nyt tarjoamme siihen muutaman nyrkkisäännön.

1. Etsi elonmerkkejä

Tärkein merkki avoimen lähdekoodin ohjelmiston toimivuuudesta on yleensä se, millaisella tahdilla ohjelmaa kehitetään. Katso siis ensimmäisenä ohjelman versiohistoriaa: onko edellisestä päivityksestä kuukausi vai vuosi, onko päivityksiä julkaistu tasaiseen tahtiin, onko tempo kiihtynyt tai hidastunut?

Jos projekti on eloisa, voi suhtautua varsin luottavaisin mielin siihen, että ohjelmassa väistämättä olevia puutteita ja vikoja korjataan ajallaan. Jos taas kehitystyö on kovin hidasta, eivät ongelmat korjaannu itsestään ja silloin voi olla viisaampi etsiä vaihtoehtoinen ratkaisu.

Suosituimpien ohjelmistojen kehitystyö on hyvin määrätietoista. Esimerkiksi Wordpress-julkaisujärjestelmän versiohistoriasta näkee nopeasti, että sekä isompia että pienempiä päivityksiä tulee jatkuvasti. Moni avoimen lähdekoodin ohjelma käyttää versionumerointia, jossa ensimmäisen numeron vaihtuminen kertoo perustavanlaatuisista muutoksista ja viimeinen numero taas bugipäivityksistä. Täten siirtymä 4.8.2 -> 4.8.3 on pienempi kuin siirtymä 4.8.3 -> 4.9.

Käytännössä versiohistoria näyttää ohjelmiston pulssin ja elinkelpoisuuden. Tähän on muutamia poikkeuksia, kuten se että hyvin yksinkertaisissa ohjelmissa versiohistorian hiljaisuus voi olla hyvä merkki. Kenties ohjelma on saavuttanut pisteen, jossa se hoitaa tehtävänsä hyvin eikä sitä ole enää tarve muokata jatkuvasti.

2. Virheet ovat hyvä merkki

On muutama ristiriitaiselta tuntuva piirre, jotka ovat itse asiassa hyviä signaaleja ohjelman voinnista.

Niistä ensimmäinen on käyttäjien ilmoittamien bugien määrä. Jos katsoo vaikka Libreoffice-toimisto-ohjelmiston viimeisen viikon aikana listattuja virheitä, saattaa ajatella että reilut sata bugia on aika paljon. Mutta mikä olisi vaihtoehto? Jos virheitä ei löydy, on se todennäköisemmin merkki siitä, ettei ohjelmalla ole käyttäjiä jotka ilmoittaisivat bugeista, mikä taas on usein huono ennuste jatkuvuuden kannalta.

Samaan tapaan ei kannata huolestua, jos ohjelmistosta on tehty useita erilaisia versioita eli sen lähdekoodi on niin sanotusti forkattu, lohkaistu omaksi, erilliseksi haarakseen. Usein se nimittäin kertoo siitä, että joku haluaa muokata sen vastaamaan hieman erilaiseen tarpeeseen sen sijaan, että jättäisi koko asian sikseen.

Esimerkiksi tätä staattisten www-sivujen rakentamiseen käytettävien ohjelmistojen luetteloa voi selailla forkkausten määrän mukaan lajiteltuna, kun valitsee pudotusvalikosta kohdan Sorted by forks.

3. Miten yhteisö jaksaa?

Ohjelmat eivät ohjelmoi itse itseään, vaan siihen tarvitaan ihmisiä. Mitä useampi ihminen osallistuu ohjelmiston kehittämiseen, sitä parempi – avoimen lähdekoodin historia on täynnä hankkeita, jotka ovat nuupahtaneet innokkaan aloittajan uuvuttua. (Teoriassa on mahdollista, että joku jatkaa hänen työtään, koska kaikki lähdemateriaalit ovat saatavilla, mutta läheskään aina teoria ei toimi käytännössä.)

Siispä vilkaise, kuinka moni ohjelmoija on kantanut kortensa kekoon ohjelmiston puolesta. Frappe Charts on työkalu, jolla voi rakentaa infografiikoita www-sivuille. Sen lähdekoodi on julkaistu Githubista ja ohjelman projektisivulta näkee heti, kuinka moni kehittäjä on muokannut lähdekoodia. Kirjoittamishetkellä heitä oli 13, mikä on rajatun käyttötarpeen ohjelmistolle aivan passeli määrä.

Myös käyttäjämäärillä on väliä. On nimittäin monia tehtäviä, joita muut kuin ohjelmoijat voivat hoitaa parantaakseen ohjelmistojen toimivuutta. Jo aiemmin mainittu virheiden ilmoittaminen on niistä yksi, minkä lisäksi käyttäjät ovat usein avainasemassa, kun pitää saada apua ohjelman käyttämiseen.

Äänieditori Audacityn käyttäjien keskustelufoorumille on kirjoitettu yli neljännesmiljoona viestiä, joten on hyvin mahdollista, että joku on jo ehtinyt pohtia täsmälleen samaa ongelmaa kuin sitä, jonka kanssa sinä painit juuri nyt.

Entä onko ohjelma niin suosittu, että sille on mahdollista ostaa asennuspalveluita ja neuvontaa kolmansilta osapuolilta? Jos tällaisia palveluita on olemassa, voi olla lähes varma siitä, että softa on muidenkin mielestä käyttökelpoinen ja hyödyllinen, koska eihän sen ympärille muuten voisi rakentua maksullista ohjeistusta.

4. Löytyykö ohjeistusta?

Vanhan ohjelmoijasanonnan mukaan lähdekoodia ei tarvitse selitellä, koska hyvin kirjoitettu koodi selittää itse itsensä. Meille muille kunnollinen ohjeistus on kultaakin kalliimpaa, sillä maailman parhaastakaan ohjelmasta ei ole hyötyä, jos sitä ei osaa käyttää.

Siispä tarkista, millaista dokumentaatiota ohjelmasta on tarjolla. Löytyykö nettisivuilta käyttöohje, vastauksia usein kysyttyihin kysymyksiin, kuvakaappauksia tai Youtube-videoita, joissa esitellään ohjelman toimintaa.

Miten tuoreita ohjeet ovat? Harmillisen usein käy niin, että ohjeistus on kirjoitettu kerran ja sen jälkeen softa on muuttunut paljonkin, mutta kukaan ei ole ehtinyt päivittää ohjeistusta.

Entistä parempi on, jos ohjelma on niin suosittu, että sen dokumentaatio on tarjolla muillakin kielillä kuin englanniksi. Tällaisia tapauksia on kylläkin varsin harvassa – ellet sitten satu innostumaan niin paljon, että ohjelman tehokäyttäjäksi opittuasi kirjoitat itse sille suomenkieliset ohjeet.

Jakson linkit ja vinkit

Vikasietotila

  • Vikasietotila: Internet on pilannut ihan kaiken

    Mitä paremmaksi netti kehittyy, sitä kamalampi siitä tulee.

    Internet on ihmiskunnan paras vastine Sammolle. Mitä ikinä keksitkään toivoa, sen on joku nettiin tunkenut (vertaa myös sääntöön 34). Miksi sitten vähän väliä tuntuu siltä, että netti on valtava kaatopaikka, joka tekisi mieli polttaa napalmilla ja upottaa suohon? Siksi että internet on ennen kaikkea mittakaavaihme.

  • Yle Oppimisen joulukalenteri 2017: Minä osaan!

    Me kysyimme taidoista, asiantuntijat vastasivat.

    Kysyimme taidoista ja oppimisesta alan asiantuntijoilta. Mikä on tärkein taitosi? Minkä mielikuvitushahmon taidon haluaisit? Mitä opettaisit kaverille? Näin he vastasivat.