Tämä kaksiosainen blogisarja on julkaistu sekä Goforen että COSS:in sivuilla

Onko sinulla mitään hajua, montako riviä koodia Suomen julkishallinnon julkaisemasta avoimesta lähdekoodista on koskaan uudelleenkäytetty jossain toisessa palvelussa?

Viime keväänä selvitimme, onko avointen lisenssien hallinta riittävällä tasolla, jotta lisenssirikkomukset tai niiden pelko eivät toimisi esteenä julkishallinnon tuottaman koodin uudelleenkäytölle. Vaikka lisenssien hallinnalle ei löytynyt juurikaan tilaajien puolelta prosessia eikä näin ollen otettu vastuuta tuotetun koodin uudelleenkäytettävyydestä, pystyivät ainakin osassa projekteja pätevät toimittajat ehkäisemään lisenssiriskejä.

Mikropalvelu ei tarkoita uudelleenkäytettävyyttä

Systemaattisena ongelmana koodin uudelleenkäytölle oli, ettei uudelleenkäytön edistämistä oltu resursoitu ollenkaan. Palveluiden lähdekoodi saatettiin julkaista ilman riittävää dokumentaatiota, eikä optimoidulla budjetilla tuotetun järjestelmän arkkitehtuuri sisältänyt loogisia ja uudelleenkäytettäviä kokonaisuuksia.

Vaikka mikropalveluarkkitehtuuri on yleistynyt, on yksittäinen mikropalvelu yleensä liian ympäristöriippuvainen uudelleenkäytettäväksi suoraan. Näin ollen julkaistu koodi oli laillisesti uudelleenkäytettävää, mutta sen jalostaminen myös käytännössä uudelleenkäytettäväksi vaatii vielä työtä.

Palvelun refaktoroiminen niin, että uudelleenkäytettävät kokonaisuudet voidaan julkaista on helpointa tietysti palvelun toteuttaneille kehittäjille, joilla on paras ymmärrys järjestelmän toteutuksesta. Muutamassa projektissa kehittäjät itsenäisesti tai toimittajana toiminut yritys olivat tehneet työn uudelleenkäytettävän komponentin irrottamiseksi ja julkaisemiseksi.

Käännöstyö tarvitsee apua

Samat haasteet avoimien lisenssien hyödyntämisessä on havaittu rapakon takana. Yhdysvaltain ulkoministeriö julkaisikin tänä keväänä “Liittovaltion avoimen lisensoinnin pelikirjan” (Federal Open Licensing Playbook), joka sisältää ohjeita avoimilla lisensseillä materiaalia julkaiseville julkishallinnon toimijoille.

Koska kirjanen on lisensoitu CC0:lla ja on varsin yleispätevä, olen alkanut suomentaa sitä Google Docsissa. Kutsunkin sinut käännösprojektiin mukaan. Varsinkin kokemus Suomen julkishallinnon avoimista projekteista olisi hyödyksi, sillä ei ole mielekästä käyttää yhdysvaltalaiseen lainsäädäntöön tai hallintoon perustuvia esimerkkitapauksia suomenkielisessä Avoimien lisenssien pelikirjassa.

Kirjassa on yhdeksän “peliohjetta” eli eri teemoihin liittyviä ohjekokonaisuuksia, joiden avulla voidaan tarkastella, ollaanko nyt oikeasti julkaisemassa avoimesti hyöydynnettävää kokonaisuutta vai lätkäisemässä vain lisenssi johonkin julkisessa verkossa näkyvään dokumenttiin. Yhdeksästä peliohjeesta vain ensimmäinen liittyy suoraan lisensseihin ja sen sisältö onkin jo useaan kertaan toistettu “käytä yleistä tunnettua lisenssiä”.

Pelikirjaa tai peliohjeita ei ole tarkoitus noudattaa orjallisesti, vaan hyödyntää tulkinnanvaraisesti ja omaan tilanteeseen soveltaen.

On luonnollista aloittaa (1.) lisenssivalinnasta, ja pelikirjassa edetäänkin seuraavaksi julkaistavan sisällön (2.) metadataan, (3.) muotoon ja muokattavuuteen, sekä (4.) saavutettavuuteen ja käytettävyyteen. Lisenssivalinta on vain lähtökohta. Tilaajan on osattava ottaa kantaa myös näihin asioihin, mikäli haluaa varmistaa toimittajan tuottaman sisällön uudelleenkäytettävyyden.

Kolme seuraavaa peliohjetta keskittyvät oman organisaation toiminnan kehittämiseen avointen materiaalien julkaisun tukemisessa, mm. (5.) markkinoimalla, (6.) riittävän henkilöstön osaamisen kehittämisessä sekä avoimeen julkaisuun tarvittavien (7.) resurssien varaamisessa. Kaksi viimeistä peliohjetta liittyvät avoimen julkaisun (8.) pitkäaikaisen saatavuuden varmistamiseen sekä avoimen julkaisun hyödyntämisen (9.) monitorointiin ja mittaamiseen.

Jos et osannut vastata alun kysymykseen,  ei mitään hätää. Ei osaa kukaan muukaan, mutta toivottavasti pelikirjassa ohjeistettujen käytäntöjen leviämisen jälkeen myös tähän saadaan vastaus.


Blogin jatko-osassa tutustutaan erityisesti avoimen lähdekoodin projektien julkaisemiseen ja ylläpitämiseen liittyvää ohjeistukseen.