Kylteri 03/17
Verkkojulkaisu 
.
.

Näin esität fiksua – Avoimen lähdekoodin 101

Haluatko vaikuttaa uudella työpaikallasi nuorekkaalta ja fiksulta kauppislaiselta? Silloin sinun pitää tietää joistain nykyaikaisista asioista enemmän kuin Matti henkilöstöhallinnosta. Yksi niistä on avoin lähdekoodi. Tässä seitsemän asiaa, jotka sisäistettyäsi voit jättää pari TKK:n koodauskurssia väliin ja olla silti melkein kartalla.

Mikä ihmeen avoin lähdekoodi?

Lähdekoodi viittaa komentoihin, jotka ohjaavat, miten jokin tietokoneohjelma toimii. Ohjelmiston ominaisuuksia voidaan muuttaa muokkaamalla lähdekoodia, mutta monien ohjelmistojen kohdalla lähdekoodi on liikesalaisuus. Tällaisten suljetun lähdekoodin ohjelmistojen lisäksi on avoimen lähdekoodin ohjelmistoja, joiden koodia kuka tahansa voi vapaasti tarkastella ja muokata.

Avoimuuden keskeisiä periaatteita on, että omat koodiin tehdyt muokkaukset jaetaan muidenkin vapaaseen käyttöön. Kehitystä ei hallinnoi vain yksi taho, vaan mukana on maailmanlaajuinen yhteisö, joka koostuu sekä yksityishenkilöistä että yrityksistä. Kaikki voivat osallistua kehitystyöhön.

Avoimen lähdekoodin ohjelmalla ei ole yhtä määritelmää, mutta näistä vakiintuneimmat sisältävät samat käyttöön, kopiointiin, muokkaamiseen ja levittämiseen liittyvät vapaudet. On olemassa myös erilaisia avoimia lisenssejä, joista osa sallii avoimen lähdekoodin käyttämisen suljetun tuotteen kehittämisessä ja osa ei.

Miksi sinun pitäisi tietää siitä yhtään enempää?

Työllistyt lähes varmasti yritykseen tai organisaatioon, joka joko kehittää avoimen lähdekoodin ohjelmistoja, käyttää sellaisia tai harkitsee niiden käyttöönottoa. Silloin on hyvä tietää, mistä on kyse, jotta voit vaikuttaa nuorekkaalta ja fiksulta. Ja tehdä työsi paremmin.

Suurin osa olemassa olevista ohjelmistoista ja applikaatioista käyttää edes jonkin verran avointa lähdekoodia. Esimerkiksi Applen suljetut iOS ja macOS -käyttöjärjestelmät pohjautuvat yrityksen kehittämään avoimeen käyttöjärjestelmään Darwiniin, jossa yhdistyy osasia useista eri avoimen lähdekoodin projekteista.

Jos tuleva työpaikkasi kehittää avoimen lähdekoodin ohjelmistoja, on olennaista tietää miksi, jotta ymmärrät organisaatiosi toimintaa. Tai jos tuleva työpaikkasi esimerkiksi harkitsee avoimen lähdekoodin ohjelmistojen käyttöönottoa, voit kontribuoida päätöksentekoon, koska osaat paremmin arvioida avoimen lähdekoodin edut ja haitat organisaatiollesi.

Miksi joku haluaisi kehittää jotain ilmaiseksi? Missä massit?!

Ohjelmiston ei tarvitse olla suljettu, jotta sillä olisi kaupallista potentiaalia. Lisäksi avoimen tuotteen kehitystä ja hiomista voi joukkoistaa kehittäjäyhteisölle, mikä säästää alkuperäiselle kehittäjälle paljon aikaa ja viime kädessä tekee koodista laadukkaampaa. Kehittäjäyhteisössä voi olla satoja jollei tuhansia jäseniä. Lukuisat silmä- ja käsiparit löytävät ja korjaavat ohjelmointivirheet huomattavasti tarkemmin ja nopeammin kuin kukaan yksi ihminen tai ohjelmointitiimi.

Liiketoimintaa voi harjoittaa rakentamalla palveluita avoimen tuotteen ympärille. “Tyypillinen liiketoiminta avointen ohjelmistojen kohdalla on palveluliiketoimintaa, esimerkiksi koulutusta, tukea, 24/7-palvelua, järjestelmän toimivuudesta huolehtiminen – sitä samaa, mitä suljetun lähdekoodinkin tuotteiden kohdalla tarjotaan”, Suomen avoimien tietojärjestelmien keskuksen COSSin toiminnanjohtaja Timo Väliharju sanoo.

Okei, no mitkä sitten ovat joitain hyviä avoimen lähdekoodin ohjelmistoja?

Jotkin aikakautemme käytetyimmistä sovelluksista, kuten Internet-selain Mozilla Firefox, sisällönhallintaohjelma WordPress ja Otaniemen teekkareiden ykkösvalinta, viestintäsovellus Telegram, ovat avointa lähdekoodia.

Kaikille yleisimmille käyttötarkoituksille on avoimen lähdekoodin vaihtoehto. Suljetuille toimisto-ohjelmistoille laadukkain vaihtoehto on LibreOffice, joka kattaa kaiken tekstinkäsittelystä taulukkolaskentaan ja esitysgrafiikkaan. Toiminnanohjaus- ja asiakkuudenhallintajärjestelmille avoin ratkaisu on esimerkiksi Apache OFBiz. Kuvankäsittelyyn löytyy GIMP ja lehden taittamiseen Scribus.

Miksi työnantajani haluaisi ottaa avoimen lähdekoodin ohjelmistoja käyttöön?

Avoimilla ohjelmistoilla on alhaisemmat hankintakustannukset, koska niiden käyttöoikeudesta ei tarvitse maksaa suljetuille ohjelmistoille ominaisia kalliita lisenssimaksuja. Ohjelmistotuestakaan ei tarvitse välttämättä maksaa, sillä aktiiviset kehittäjäyhteisöt parantelevat koodia jatkuvasti.

Ohjelmointivirheiden nopea löytyminen on kriittistä, sillä päiväkausia takkuileva ohjelmisto voi hankaloittaa liiketoimintaa suuresti. Räätälöityä ohjelmistotukea haluavat asiakasyritykset voivat puolestaan kilpailuttaa ohjelmistotoimittajansa vapaasti koko tuotteen elinkaaren ajan, jopa järjestelmästä toiseen siirryttäessä. Eniten avoimista ratkaisuista hyötyvät pienet ja keskisuuret toimijat, joilla ei ole rajatonta budjettia, monimutkaisia tarpeita tai satojen eri järjestelmien yhteentoimivuutta murheenaan.

Tässä avoimen lähdekoodin jutussa on pakko olla jotain miinuksia – mitä?

Avoimen lähdekoodin ohjelmistojen keskeisin heikkous on niiden epävakiintunut asema verrattuna suljettuihin ratkaisuihin. Kun enemmistö on tottunut Microsoft Officeen, Adobe Photoshopiin tai Deltek Maconomyyn, voi olla vaikea siirtyä LibreOfficen, GIMPin tai Apache OFBizin käyttämiseen.

Hankalan käyttöönoton lisäksi kompastuskiveksi voi muodostua myös yhteentoimivuusongelmat, joita ei voi korjata elleivät myös yhteensovitettavien ohjelmistojen rajapinnat ole avoimet. Suurilla organisaatioilla sekä esimerkiksi kaupungeilla ja kunnilla saattaa olla käytössään satoja järjestelmiä, jolloin yhteentoimivuuden merkitys korostuu. Eri avointen ratkaisujen arvioinnissa vaikkapa muiden sovellusten kanssa yhteentoimivuuden kannalta on monesti tarpeellista turvautua ulkopuoliseen asiantuntijapalveluun.

Moniin käyttötarkoituksiin ei ole riittävän kypsiä avoimen lähdekoodin vaihtoehtoja. Vähemmän tunnetuille avoimille ohjelmistoille saattaa olla myös heikosti ohjelmistotoimittajia, jolloin ohjelmiston avoimuuden tuoma vapaus kilpailuttaa sen toimittaja on merkityksetöntä.

“On alueita, kuten potilashallinto, joille ei vielä ole suljetun kanssa kilpailemaan kykenevää avointa ratkaisua. Mutta kehitys on menossa siihen suuntaan”, Väliharju sanoo.

Jep jep. Onko tämä nyt tulevaisuutta vai miten näille avoimille jutuille käy?

Avoimen lähdekoodin ratkaisujen vähittäisestä vakiintumisesta on merkkejä. Pari vuotta sitten kansainvälinen avaruusasema vaihtoi suljetusta Windows-käyttöjärjestelmästä avoimeen Linuxiin luotettavamman ohjelmiston perässä. Globaaleilla jäteilläkin, kuten Samsungilla ja Googlella on suuret avoimeen lähdekoodiin keskittyvät osastot.

“Nykyään Microsoftkin puhuu avoimesta lähdekoodista salonkikelpoisesti”, Väliharju sanoo ja jatkaa, “Ohjelmistojen avoimuutta kannattava liikehdintä käynnistyi noin 30 vuotta sitten. Välillä tulee sellainen fiilis, että eikö kaikki vielä tiedä tästä asiasta. Itseasiassa tämä liike on kyllä vasta lähdössä käyntiin.”