Kaikki avoimen lähdekoodin projektit ovat erilaisia

Sain toimeksiannoksi tutkia miten jotkut avoimen lähdekoodin projektit kehittyvät ja miten näitä projekteja ylläpidetään. Avoimen lähdekoodin projektien perustamisohjeita onkin netti pullollaan. Kehotan kuitenkin lukemaan Jono Baconin The Art of Community -kirjan ennen tai jälkeen oman projektin perustamisen. Sillä…

Yhteisö on näissä asioissa tärkeintä

Yhteisö on se joka tuottaa projektin sisällöt, käyttää palveluita ja kehittää niitä eteenpäin ja loppukädessä päättää hyödynnetäänkö projektia vai ei. Tärkeintä on siis tuntea niin kehittäjät kuin hyödyntäjätkin yhteisössä ja pyrkiä luomaan yhteistyötä ja ymmärrystä näiden toimijoiden välillä.

Yhteisöä ylläpidetään kontakteilla ja toimivat kontaktit luovat pikkuhiljaa toimijoiden välille luottamuksen ilmapiirin. Luottamus nousee erityisesti siitä, että asiat saadaan hoidettua ja ajallaan. Tässä on varmasti jokaisella kehittämisen varaa ja etenkin avoimen lähdekoodin puolella, jossa vapaaehtoisuus on usein iso voimavara monelle tekemiselle. Tärkeää onkin pitää yhteisöstä huolta, etteivät nämä voimavarat lopu kesken.

Automatisoi mahdollisimman pitkälle ja dokumentoi

Siksi automaatiotoimet ja tiedon kulun jouhevoittaminen on tärkeää. Ohjeet ja tukipalvelut pitää saada helposti lähestyttäväksi, jotta samojen toiminnallisuuksien kyseleminen ei rasita pääkehittäjiä. Prosessit on hyvä siis dokumentoida ja automatisoida ja panostaa tähän kunnolla. Hyvä kommunikointi, dokumentointi ja tiedon välitys on jokaisen menestyvän avoimen lähdekoodin projektin ytimessä.

  • kirjallinen viestintä yhteisölle (pikaviestit, ohjeistukset, palautekanava, some, sähköpostilistat)
  • säännölliset tapaamiset (etäpalaverit, meetupit, webinaarit)
  • selkeä dokumentaatio

Kaikki eivät selviydy – Darwinistinen ekolokero pitää löytää

Vuodelta 2009 peräisin oleva case-study kahdesta avoimen lähdekoodin yhteistyöprojektista (Hamel & Schweik, 2009) valottaa n. vuosikymmen sitten vallinnutta ilmapiiriä: yhteiskehittäminen virastojen välillä oli kuuminta hottia, se on verovaroin tuotettua ja siksi jopa yhteiskunnan vastuulla jakaa tuotettua koodia takaisin yhteisölle. Ongelmana oli kuitenkin projektien eläminen ja jatkuvuus, sillä yhteiskehittäminen vaatii yhteisöltä aktiivista osallistumista kehittämiseen.

Yhteisöjen luominen ei ole helppoa ja kaikki projektit eivät menesty. Onkin hyvä koittaa pitää silmällä vastaavia projekteja ja tarkastella niiden yhteisön eheyttä ja aktiivisuutta valintaa tehdessä. Jos projektit ovat alkuvaiheessa, valintaa on vaikea tehdä. Jälkikäteen ajatellen on aina helpompi sanoa, mikä ratkaisu olisi kannattanut tehdä, mutta valinnantekohetkellä asia ei välttämättä ole niin yksinkertaista.

Miten julkishallinto avaa koodia?

Firmoilla on selkeät toimintamallit avoimen lähdekoodin hyödyntämiseen (esim. koulutus, tukipalvelut, ylläpito, kehitys). Jos työskentelet julkisella puolella ja organisaatiosi tukee vahvasti omaa avoimen lähdekoodin projektisi tekemistä, ei ansaintalogiikan kehittäminen ole ehkä perusteltua. Briteissä Gov.uk:n Govenrement Digital Service (GDS) näkee avoimen lähdekoodin projektit erityisesti tärkeänä sisäiselle hallinnon osastojen välisen toiminnan kehittämiselle ja osastojen väliselle avoimuudelle. 

Usein julkishallinnon open source projektit ovat myös sisällöltään avoimen lähdekoodin hankintojen tukemista ja viestintää, ei niinkään itse kehittämistä, joka on ulkoistettu yrityksille tai hyödynnetään yritysten tuottamia avoimen lähdekoodin ohjelmistoja.

Koitin kollegoiden kanssa pohtia mitä muita suomalaisia avoimen lähdekoodin projekteja on kuin Oskari on, joiden lähtökoti olisi julkishallinto. Avoinkoodi.fi sivuilta löytyy osa Suomessa julkishallinnolla käytössä olevista avoimista ohjelmistoista. Niistä esimerkiksi Skosmos (sanastojen etsintään) oli selkeästi julkishallintolähtöinen (Kansallisarkisto), ja sen taustalta löytyi kehittäjä – ja keskustelufoorumia. Mieleen tuli myös Turku.fi nettisivujen kehitysprojekti, jossa tuotettiin Turun kaupungin sisällönhallintaan ns. kuntapaketti. Mutta maailmanlaajuisista projekteista ei äkkiseltään tullut mitään mieleen (kerro viestillä jos tiedät jonkin!).

Avoin koodi <> Avoimen lähdekoodin projekti

Vaikka julkishallinnossa onkin tuotettu valtava määrä avointa koodia, suuri osa siitä ei ole jatkuvan ylläpidon tai tuen piirissä. Ainakaan heti.

Suomalainen vauhdilla etenevä esimerkki tästä on Liikenneviraston ja HSL:n kehitystyönä (2015-2017) syntynyt reittiopas Digitransit. Alunperin HSL:n ja Matkat.fi:n reittioppaan taustamoottoriksi kehitetty Digitransit on käytössä nyt useissa suomalaisissa kaupungeissa ja testausta on tehty myös Norjassa ja New Yorkissa. Tällä hetkellä yhteisö ja dokumentaatio on vielä kevyttä – isoin syy etenemisvauhtiin on palvelun helppo käyttöönotto. Mitä tapahtuu kun tukikysymykset ja vaatimukset yhteisöltä dokumentaation kehittämiseen kasvavat liian isoksi?

Niissä tapauksissa, joissa tuotettu koodi selkeästi kiinnostaa myös muita tahoja, projektin avaaminen avoimen lähdekoodin ohjelmistoksi on koettu järkeväksi ja samalla pitää ottaa tukitoimet huomioon. Vaikka Brittien hallinnon tapauksessa ei puhuta ansaintalogiikasta, kannattaa lukea heidän kokemuksiaan avoimen lähdekoodin ohjelmiston avaamisesta, sillä ne ovat yleispäteviä kaikille.

Usein avoimen lähdekoodin projektin kehitys lähteekin omasta tarpeesta. Se onko toimija yksityinen, julkishallinto vai yritys, ei ole tärkeintä. Isoin asia ohjelmiston kehittymiselle on sen hyödyntämispotentiaali ja käyttäjäkunnan sopiva koko. Jos projektissa on näkyvissä selkeä liiketoimintapotentiaali, usein yritykset tämän myös hoksaavat ja ottavat kehittämisen tai palveluntarjoamisen omaan tarjontaansa.

Miten avoimen lähdekoodin projektit ovat organisoituneet?

Julkishallinnosta peräisin olevia avoimen lähdekoodin projekteja on varmasti useita, mutta koska taustalla projekteissa voi olla useita organisaatioita tai yhdistys, niiden jäljittäminen on vaikeaa. Ja kun yhdistys on perustettu, jäsenenä voi olla niin yrityksiä, julkishallintoa kuin yhdistyksiäkin.

Alla muutama esimerkki, jossa OS-projektin taustalla toimii yhdistys tai ”hallitus”, joka on loppukädessä vastuussa koodin kehittämisestä ja eteenpäin viemisestä.

  • QGIS:n työpöytäohjelmiston kehitystoimista vastaa QGIS.org -yhdistys, jonka hallituksen muodostaa osa QGIS:n Project Steering Committeesta (PSC). QGIS:n PSC puolestaan neuvoo hallitusta työssään. PSC:n alaisuudessa toimii useita tiimejä, joilla on omat vastuunsa kehittämisestä. QGIS:n budjetti on suhteellisen pieni (vuonna 2017 budjetoitu 109 850€). Tulot tulevat sponsorointirahoituksesta ja lahjoituksista ja niitä on allokoitu esimerkiksi dokumentaatioon ja bugien korjauksiin. Käyttäjinä ja kehittäjinä on nyt eri toimijoita ympäri maailmaa. Yksi iso tukija on Vorarlbergin maakunta Itävallassa sekä Sveitsin QGIS User Group.
  • CKAN -yhdistys puolestaan edistää avoimen datan portaalin kehitystyötä. CKAN:in taustalla toimii vahvasti Open Knowledge Foundation, mutta yhdistyksessä on nykyisin muitakin toimijoita. Yhdistyksen jäsenet kontribuoivat rahaa tai muita resursseja ohjelmiston kehitykseen. Yhdistyksessä on useita eri tiimejä, jotka edistävät teknistä kehitystä, viestintää sekä esimerkiksi CKAN ohjelmistoa käyttävien maiden hallintojen välistä yhteistyötä (Government Working Group).
  • 3D-mallinnukseen soveltuva Blender kehittyy Blender Foundationin alaisuudessa, joka on hollantilainen public-benefit corporation eli yleishyödyllinen yritys, jonka tavoitteena ei ole tuottaa voittoa. Sitä kuitenkin pääasiassa ylläpitää kaupallinen toimija Blender Institute, joka tuottaa myös muita avoimia 3D-toimintaan liittyviä ohjelmistoja. Tulonsa yritys saa kehittämällä työkaluja ja tarjoamalla pilvipalveluna ohjelmistoa ja kouluttamalla käyttäjiä.
  • Vektoripiirto-ohjelmisto Inkscape:n kehitystiimin puolestaan muodostaa kehittäjistä koostuva hallitus, joka kokoontuu viikoittain ja keskustelut on kaikkien nähtävillä wiki:n kautta, josta saa vähän osviittaa siihen mitä siellä hallituksissa oikein tapahtuu.
  • GeoServerin puolella puolestaan toiminta rakentuu yhteisön avulla. GeoServerin yhteisö muodostuu yksityishenkilöistä, organisaatioista ja rahoitustukea tarjoavista toimijoista. GeoServerin PSC tapaa viikottain Skype-yhteyden avulla keskustellaakseen projektin kehittämisestä ja ylläpidosta. GeoServerin kehitys on myös usean yrityksen intresseissä ja oman tuotekehityksen ja palveluiden tuottamisen ydintä.

Malleja on siis useita, usein taustalla toimii yhdistys tai verkosto, jonka kautta kehitystoimia edistetään. Näiden taustalla toimii yrityksiä, julkishallintoa ja yksityishenkilöitä jotka tukevat yhdistysten tai verkostojen toimintaa.

Miten Oskari sitten?

Oskarin tarina on vielä alkuvaiheessa. Vaikka projekti on ollut pitkään avoin, se on ollut myös pitkälti julkishallinnon hoteissa. Oskari on menossa OSGeo Foundationin projektiksi, jolloin samalla se ”päästetään irti” ja annetaan yhteisön kehitettäväksi. Tätä työtä tukee tänä vuonna perustetun Oskari PSC:n työ ja dokumentaation kehittäminen.

Meidän kaikkien Oskari-hyödyntäjien pitää löytää oma ekolokero Oskarin ekosysteemistä. Dokumentaatiota pitää edelleen kehittää, jotta hyödyntäminen pääsee alkuun helposti ja kehittyy. Automatisointia pitää harrastaa ja yhteisön aktivointitoimiin panostaa. Pohja on hyvä ja mahdollisuuksia esimerkiksi yritysten tuotekehitykselle on. Tästä on jo esimerkkejä mm. työkalujen ja koulutuksen suhteen. Mitä sinä tekisit Oskarilla? Keräämme tietoja yhteisön käyttötavoista sivuillemme, lisää omat tietosi tänne.

Sanna Jokela, Oskarin viestintäkoordinaattori

Lähteet: