Avoin lähdekoodi – edut ja haasteet

news
06 May 2024
Category
Insights

Avointa lähdekoodia (engl. open source) ja sitä hyödyntäviä ohjelmistoja esiintyy nykypäivänä kaikkialla. Monelle meistä avoin lähdekoodi on tuttu lähinnä vain käsitteen tasolla varsinaisen sisällön ollessa tuntematon. Avoimeen lähdekoodiin liitettyjä, tavallisimpia mielleyhtymiä lienevät sen käyttöön liittyvät kustannussäästöt. Toisaalta moni saattaa täysin oikeutetusti pohtia myös avoimen lähdekoodin riskipuolta, esimerkiksi lisenssiehtojen noudattamatta jättämisen seurauksia.

Lähdekoodi (engl. source code) tarkoittaa tietyllä ohjelmointikielellä toteutettua kuvausta ohjelmiston toiminnasta. Lähdekoodia suojaa tekijänoikeus. Omisteiset tai suljetun lähdekoodin ohjelmistot (engl. proprietary software) ovat yksityisomistuksessa olevia ohjelmistoja, joiden lähdekoodi ei ole julkisesti tarkasteltavissa. Avointa lähdekoodia voidaan pitää omisteisten ohjelmistojen vastakohtana, eli avoin lähdekoodi on vapaasti kaikkien tarkasteltavissa. Avoimen lähdekoodin komponenttien osuus ohjelmistoissa on ollut jatkuvassa kasvussa. Joidenkin arvioiden mukaan osuus voi olla 35 % tarkasteltaessa kaupallisia ohjelmistoja ja jopa 75 % sisäisessä käytössä olevien ohjelmistojen tapauksessa.

Tässä artikkelissa tarkastelemme avoimen lähdekoodin ohjelmistojen käyttöön liittyviä etuja, avoimen lähdekoodin käyttöön liittyviä lisenssejä ja avoimen lähdekoodin lisensseihin liittyviä haasteita.

Avoimen lähdekoodin ohjelmistojen etuja

Perinteisesti avoimen lähdekoodin ohjelmistojen käyttöön on liitetty useita etuja omisteisiin ohjelmistoihin verrattuna. Etuja ovat muun muassa:

  • Ohjelmistoyritysten tuotekehityksessä saavutettavat kustannussäästöt. Avoimen lähdekoodin ohjelmistojen käyttö on useimmiten ilmaista, jolloin vältytään lisenssimaksujen maksamiselta.
     
  • Käytön joustavuus. Avoimen lähdekoodin ohjelmistot tarjoavat joustavuutta ja muokattavuutta, jolloin niiden käyttäjät voivat muokata ohjelmistoja vastaamaan yksilöllisiä tarpeita.
     
  • Yleisyys. Monet avoimen lähdekoodin ohjelmistot ovat laajasti käytettyjä, mikä on mahdollistanut niiden nopean kehityksen.
     
  • Laatu ja turvallisuus. Suuri suosio lisää ohjelmistojen laatua ja turvallisuutta, koska niissä piilevät virheet on mahdollista paikantaa ja korjata nopeasti. Avoimen lähdekoodin parissa työskentelevät koodaajat muodostavat myös eräänlaisen yhteisön, jossa on usein mahdollista saada koodihaasteisiin pikaistakin apua.

Avoimeen lähdekoodiin liittyviä haasteita

Kolikolla on usein myös kääntöpuolensa, eivätkä avoimen lähdekoodin lisenssit ole tässä mielessä poikkeus. Omisteisiin ohjelmistoihin verrattuna avoimeen lähdekoodiin liittyy seuraavia haasteita:

  • Kaupallinen haitta. Monet avoimen lähdekoodin ohjelmistot on lisensoitu kaupallisesta näkökulmasta tarkasteltuna haastavasti. Tietyt lisenssit edellyttävät esimerkiksi koodiin tehtyjen muutosten julkaisemista. Lisensointihaasteet muodostavat yrityksille ongelmia niiden pyrkiessä suojaamaan liikesalaisuuksiaan. Haasteet ovat tapauksesta riippuen omiaan lisäämään vaihtoehtojen (kaupallisten ratkaisujen) houkuttelevuutta.
     
  • Kustannukset. Avoimen lähdekoodin käyttöön liittyy myös kuluja. Vaikka kokonaiskustannukset jäävät avointa lähdekoodia käytettäessä yleensä alhaisemmiksi omisteiseen ratkaisuun verrattuna, sisältyy avoimen lähdekoodin käyttöön omisteisten ohjelmistojen tavoin käyttöönotto-, integraatio-, ylläpito- ja tukikustannuksia.
     
  • Resurssien tarve. Avoimen lähdekoodin onnistunut käyttö edellyttää resursseja.

Lisähaasteita asettavat myös esimerkiksi mahdollinen kaupallisen tuen puute, koodidokumentaation niukkuus tai puuttuminen kokonaan sekä riski koodiprojektin lopettamisesta. Avoimen lähdekoodin käytön riski kasvaa myös, jos organisaatiossa ei säilytetä kokonaiskäsitystä käytössä olevista lisensseistä, koska tämä lisää riskiä rikkoa lisenssiehtoja tiedostamattomasti. Avoimen lähdekoodin ohjelmistoja käytettäessä tyypillisesti ei voida lisäksi tukeutua virheenkorjaustakuuseen eikä koodin kirjoittanut taho yleensä ota vastuuta siitä, ettei lähdekoodi loukkaa kolmannen osapuolen immateriaalioikeuksia, jolloin käyttö on pitkälti ns. omalla riskillä, ellei toisin ole sovittu.

Avoimen lähdekoodin lisenssit ja niiden jaottelu

Avoimen lähdekoodin lisenssejä voidaan jaotella niiden ehtojen perusteella eri kategorioihin.

1. Permissiiviset eli sallivat lisenssit

Ensimmäisen avoimen lähdekoodin lisenssien ryhmän muodostavat niin kutsutut permissiiviset lisenssit (esimerkiksi Apache 2.0, MIT ja BSD), jotka antavat käyttäjille käytännössä vapaat oikeudet muokata, kopioida ja käyttää koodia haluttuun tarkoitukseen. Permissiiviset lisenssit sallivat sillä lisensoidun koodin yhdistämisen myös muuhun koodiin ja koodien yhdistämisestä syntyneen ohjelmistokokonaisuuden muuttamisen omisteiseksi.

2. Copyleft-lisenssit GPL ja LGPL

Kaupalliselta kannalta tarkasteltuna on huomionarvoista, että eräiden arvioiden mukaan noin 40 % avoimesta lähdekoodista, eli merkittävä osa, on lisensoitu niin kutsutuilla ”Copyleft”-lisensseillä.  Copyleft-lisenssit edellyttävät, että niiden alaiseen koodiin tehdyt muokkaukset lisensoidaan edelleen copyleft-lisenssin ehdoilla, mikäli muokattua koodia levitetään edelleen. Copyleft-lisenssit voivat olla joko ”vahvoja”, esim. General Public License (GPL) tai ”heikkoja” esim. Lesser General Public License (LGPL).

Ero vahvan ja heikon copyleft-lisenssin välillä tulee siitä, että mikäli vahvan copyleftin alaista koodia yhdistetään muuhun ohjelmistokokonaisuuteen, tulee siitä syntyvä kokonaisuus lisensoida samalla copyleft-lisenssillä, jos muodostunut kokonaisuus on tulkittavissa johdannaisteokseksi. Heikot copyleft-lisenssit taas sallivat niillä lisensoidun koodin yhdistämisen muuhun koodiin edellyttäen, että heikon copyleft-lisenssien alainen koodi on asianmukaisesti linkitetty muuhun ohjelmistokoodiin copyleft-lisenssin edellyttämällä tavalla. Tällöin ainoastaan alkuperäiseen, heikon copyleft-lisenssin alaiseen koodiin tehdyt muutokset on lisensoitava samalla copyleft-lisenssillä ja julkaistava.

Lisensointivelvoite hankaloittaa merkittävästi ohjelmistoyritysten kaupallista toimintaa, sillä kaupallista toimintaa harjoittavat ohjelmistoyritykset eivät ymmärrettävästi halua avata ohjelmistonsa koko lähdekoodia kolmansille osapuolille ilmaiseksi. Copyleft-lisenssien perimmäisen vaaran voi siis tiivistää piilevän siinä, että ne saattavat tehdä omisteisesta koodista avointa, mikä merkitsisi ohjelmistoyrityksen kannalta mahdollisesti vuosien kehitystyön valumista käytännössä hukkaan ja liiketoimintamallin romuttumista kyseisen tuotteen osalta. Tämän vuoksi omisteisia ohjelmistotuotteita kehittävien yritysten on todella tärkeää varmistaa lisenssiehtojen noudattaminen ja parhaansa mukaan välttää varsinkin vahvan copyleftin alaisen koodin käyttö tuotteessaan.

Avointa lähdekoodia koskee myös erilaiset open source policy -toimintaperiaatteet ja käytännöt, unohtamatta avoimeen lähdekoodiin liittyviä riskejä. Lue niistä kirjoittamamme artikkeli täältä.

Ota yhteyttä, jos tarvitsette juridista tukea avoimeen lähdekoodiin liittyvissä kysymyksissä yrityksessänne.