Reilut kolme vuotta sitten kirjoitin AI-taiteesta ja tekijänoikeudesta. Jo silloin AI-mallien kehitys oli hurjan nopeaa, eikä vauhti ole hidastunut. Mutta siinä missä kolme vuotta sitten AI oli lähinnä kiinnostava kuriositeetti, nykyään erilaisia AI-malleja on jo käytössä useilla toimialoilla. Yksi näistä on ohjelmointi. Yhä useammat koodarit tekevätkin työtään erilaisten LLM:ien (tässä kirjoituksessa käytän AI:ta ja tekoälyä LLM:n synonyyminä) avustuksella ja jopa täysin ohjelmointitaidottomat voivat tehdä ihan toimivia ohjelmia vaikkapa ChatGPT:n avulla vibekoodaamalla, ja AI-agentti voi vieläpä testata koodin toimivuuden. Piti asiasta tai ei, AI-avusteinen ohjelmointi on tullut jäädäkseen vähintäänkin toistaiseksi.
En aio tässä kirjoituksessa ottaa mitenkään kantaa siihen, onko AI-avusteinen ohjelmointi hyvä vai huono asia, sillä se on joka tapauksessa tosiasia yhä useammassa yrityksessä. Sen sijaan aion kirjoittaa siitä, mitä tekijänoikeudellisia seikkoja ohjelmoijien ja yritysten tulee ottaa huomioon tekoälyavusteisesti ohjelmoidessaan.
Tietokoneohjelma on kirjallinen teos
Perinteisen tekijänoikeudellisen tulkinnan mukaan tietokoneohjelma on kirjallinen teos. Se siis saa tekijänoikeuden suojaa samoilla ehdoilla kuin vaikkapa romaani, novelli tai kirje. Nykyisin puhutaan teoskynnyksen sijaan omaperäisyyskynnyksestä: onko teoksen luoja tehnyt omaperäisiä luovia valintoja teosta luodessaan? Jos on, teos saa tekijänoikeuden suojaa. Jos ilmaisu ei ole omaperäistä, suojaa ei saa. Käytännössä tämä tarkoittaa, että pelkät banaalit rykäisyt jäävät suojan ulkopuolelle: ”tulen sinne huhtikuun 7. päivä kello 19” todennäköisesti jää ilman suojaa, mutta niinkin lyhyt lause kuin ”neito kulkee vetten päällä” todennäköisesti saa (ks. Tekijänoikeusneuvoston lausunto 2010:11; lausunto puhuu aiemmasta ”teoskynnyksestä” omaperäisyyskynnyksen sijaan).
Lisäksi pitää muistaa, että vakiintuneen tekijänoikeudellisen tulkinnan mukaan pelkät ideat eivät saa suojaa, ainoastaan ilmaisu. Toisaalta tavanomaiselle ohjelmoijalle tavanomaiset ja tyypilliset tavat ohjelmoida tietty toiminnallisuus ei saa suojaa (ks. yllä banaaliudesta sanomani).
Ottaen kuitenkin huomioon, että omaperäisyyskynnys on ylittynyt melko helpostikin, kuten ”neito kulkee vetten päällä”-esimerkki osoittaa, on ollut hyvinkin turvallista lähteä siitä, että lähes mikä tahansa vähänkään mutkikkaampi tietokoneohjelma ylittää omaperäisyyskynnyksen ja siis saa tekijänoikeuden suojaa. Tai oikeastaan voisin todeta niinkin raflaavasti, että käytännössä mitään kaupallista ohjelmistokehitystä ei ole ollut mahdollista harjoittaa ilman, että syntyvä ohjelmistokoodi ylittää omaperäisyyskynnyksen ja sitä kautta saa tekijänoikeudellista suojaa.
LLM:t muuttavat tämän asian täysin.
AI:n tuottama koodi ei saa tekijänoikeutta
Kuvittele olevasi metsässä kävelyllä pakkassäällä. Yhtäkkiä huomaat, että maassa on useita pyöreitä jääpaloja, kuin helmiä, jotka muodostavat kauniin kuvion. Fiksuna tyyppinä päättelet, että paikalla vallitsevan mikroilmaston vuoksi sinne on tullut hyperpaikallinen sadekuuro, jonka sadepisarat ovat jäätyneet jäähelmiksi. Kehystät helmet siihen paikkaan ja kutsut ihmiset katsomaan luomaasi tilataideteosta. Onko sinulla taideteokseen tekijänoikeus?
Ei tietenkään ole. Et ole luonut helmiä etkä asetellut niitä maahan. Et ole tehnyt yhden yhtä valintaa helmien suhteen, paitsi päättänyt kehystää ne. Et voi saada tekijänoikeutta vain sillä perusteella, että olet päättänyt kehysten olinpaikan.
Nyt kuvittele, että olet shamaani. Esität sadetanssin jumalille ja toivot, että sadekuuro osuu paikalle juuri oikealla tavalla ja jäähelmet asettuvat juuri oikeaan asentoon. Ja näin tapahtuukin! Onko sinulla taideteokseen tekijänoikeus nyt?
Ei ole. Nykytieteen valossa sadetanssi on lähinnä toiveajattelua, ja vaikka jäähelmet asettuisivatkin toivomaasi asentoon, tekijänoikeudellisesti kyse on sattumasta. Vaikka sadepisarat toistuvasti putoaisivat juuri siihen asentoon, mitä olet toivonut, et ole suoraan luonut yhtään mitään, vaan jäähelmet ovat ilmestyneet paikalle luonnonvoimien vaikutuksesta, ei sinun toimiesi seurauksena.
Arvaat varmaan jo, mihin olen menossa tämän esimerkin suhteen. AI:n luoma koodi on kuin jäähelmiä lumella, ja AI:ta käskyttävä promptaaja rinnastuu lähinnä shamaaniin. Vaikka voisit osoittaa, että promptillasi on vaikutusta siihen, minkälaista koodia AI luo, varsinaiset valinnat on tehnyt AI, et sinä. Näin sanoin myös aiemmassa kirjoituksessani: AI-teoksen kohdalla luovista valinnoista vastaa AI, ei AI:n käskyttäjä.
Ja vaikka aiemmassa kirjoituksessani sanoinkin, että AI:n käskyttäjä olisi kaikista todennäköisin tekijänoikeuden saaja, käskyttäjä on todennäköisin vain siksi, että kaikki muut ovat vielä epätodennäköisempiä, siis relatiivisesti. Absoluuttisesti katsottuna vaikuttaa hyvin epätodennäköiseltä, että tekijänoikeuden voisi saada vain AI:ta käskyttämällä ja siihen kannattaakin suhtautua lähinnä teoreettisena mahdollisuutena. Kuten ex-työnantajani Resonin (ent. Turre Legal) blogista voi lukea, myös Münchenin käräjäoikeus asettui tälle kannalle: yksityiskohtainenkaan promptaus ei synnyttänyt tekijänoikeutta, koska luovista valinnoista vastasi kuitenkin AI. Suosittelen lukemaan Resonin blogitekstin, se avaa ko. oikeustapausta hyvin.
Toisin sanoen: AI:n tuottama ohjelmistokoodi jää hyvin todennäköisesti ilman tekijänoikeutta. Koska ohjelmistokoodin kopioinnilta suojaa nimenomaan tekijänoikeus, se tarkoittaa, että kuka tahansa voi kopioida koodin, eikä asiassa ole mitään laitonta ainakaan tekijänoikeuden kannalta, kun AI:n tuottamalle koodille ei ole syntynyt tekijänoikeutta ylipäänsä.
AI ei välitä muiden tekijänoikeuksista
Jos AI-avusteisen koodamisen ensimmäinen ongelma onkin se, ettei AI:n luoma ohjelmistokoodi todennäköisesti saa tekijänoikeutta, niin toinen ongelma on siinä, että AI:n luoma ohjelmistokoodi voi kuitenkin loukata jonkun toisen ohjelmakoodia.
Tässä lienee syytä muistuttaa, että AI-mallit eivät ole valtavia kopiokasoja muiden teoksista, vaan muiden teosten pohjalta muodostettuja tilastollisia malleja. Välillä netissä näkyy erilaisia emotionaalisesti vetoavia, AI:ta vastustavia kampanjoita, jotka kertovat, että ”Using AI is stealing!” tai ”AI is stealing from real artists!” tai muuta vastaavaa. No, varastamisväitteet tässä ovat ihan yhtä virheellisiä kuin sisältöteollisuuden ”laiton lataaminen on varastamista!”-kampanjoissa: varastaminen poistaa originaalin, kopiointi muodostaa kopion. Toki tekijänoikeuksien loukkaaminen on lainvastaista toimintaa, mutta silloin kyseessä on tekijänoikeusrikkomus tai -rikos, ei varkaus. Enivei: AI muodostaa lähdeteosten perusteella mallin ja muodostaa uusia teoksia tämän perusteella. Mutta kuten aiemmassa kirjoituksessani kerroin, tällaisen mallin muodostaminen on hyvin todennäköisesti laillista, piti siitä tai ei.
Mutta vaikka AI-mallin muodostaminen onkin hyvin todennäköisesti laillista, sen käyttö voi johtaa tekijänoikeusloukkauksiin. Viittaan jälleen Resonin blogiin, nyt sen Gema vs. OpenAI -kirjoitukseen. Tapauksessa Münchenin alioikeus katsoi, että koska OpenAI:n ChatGPT pystyi toistamaan olemassaolevan ja tekijänoikeuksilla suojatun laulun sanoituksen, se merkitsi tekijänoikeusloukkausta.
Omasta mielestäni Münchenin alioikeuden perustelu ei ole kovin onnistunut, mutta omilla mielipiteilläni ei toki ole tässä ratkaisevaa merkitystä. Ratkaisevaa on se, että ainakin tässä tapauksessa tuomioistuin katsoi, että koska AI pystyi tuottamaan tarpeeksi ilmeisen kopion tekijänoikeudella suojatusta teoksesta, kyseessä oli tekijänoikeuden loukkaus.
Mitä tämä tarkoittaa AI-avusteisen koodaamisen kannalta? Sitä, että jos käytät AI:ta ja promptaat siltä koodia, on täysin mahdollista, että AI:n muodostama koodi loukkaa jonkun toisen tekijänoikeuksia. Mistä tiedät, onko AI loukannut jonkun toisen tekijänoikeuksia vai onko koodi tässä mielessä puhdasta? Et tiedäkään. Se selviää vasta, kun joku haastaa sinut oikeuteen tekijänoikeusloukkauksesta.
Yksi potentiaalinen suoja asiassa on. Yllä mainitsemassani Gema vs. OpenAI -tapauksessa Münchenin alioikeus katsoi, että tekijänoikeusloukkauksesta olisi vastuussa nimenomaan OpenAI, siis tekoälymallin omistava yhtiö, ei promptaaja. Toisaalta tapauksessa oli kyse tilanteesta, jossa oikeuteen oli haastettu nimenomaan OpenAI siitä syystä, että Gema väitti sen tekoälymallin loukkaavan Geman jäsenten oikeuksia. Uskallan veikata, että arviointi olisi voinut olla erilaista, jos oikeuteen olisi haastettu vaikkapa ohjelmistoyhtiö, joka olisi ohjelmistotuotteensa kehityksessä hyödyntänyt AI-avusteista koodausta ja tässä prosessissa AI olisi tuottanut jonkun toisen tekijänoikeuksia loukkaavaa koodia. AI-avusteiselle koodaamiselle tällainen ”kaikki on AI-firman vastuulla”-malli varmasti kyllä sopisi oikein hyvin! Ei siis välttämättä kannata tuudittautua siihen uskoon, että AI-firma kantaa vastuun.
AI ei ymmärrä ohjelmistojen lisenssejä
Kolmanneksi lienee hyvä muistuttaa siitä, että nykyiset AI:t eivät ole ”aitoja AI:ta” vaan laajoja kielimalleja (Large Language Model, LLM). Tällä on väliä, sillä nykyiset AI:t eli LLM:t eivät oikeasti ymmärrä minkälaista tekstiä ne tuottavat, vaan ne tuottavat tekstiä tilastollisten mallien perusteella. Toisin sanoen ne arvaavat sanoja sillä perusteella, mitä sanoja arvattavaa sanaa ennen on ollut. Ja siinähän ne ovat todella hyviä – sen takiahan AI:ta käytetään, että suurimman osan ajasta se tuottaa vähintään tarpeeksi hyviä tuloksia.
Tällä toimintaperiaatteella on kuitenkin omat rajoitteensa. Koska AI vain arvailee sanoja, se ei ymmärrä, mitkä sanat ovat oleellisia ja mitkä eivät. Ja koodatessa toiset sanat ovat tärkeämpiä kuin toiset. Näin tekijänoikeusjuristin näkökulmasta tärkeimpiä ovat tietysti lisenssiehdot.
Kuten jokainen ohjelmoija tietää, avoimen lähdekoodin ohjelmistoille on jos jonkinlaista lisenssiä. Yksi suosituimmista on GPL eri variantteinaan, mutta esimerkiksi BSD ja MIT ovat nekin melko yleisiä. Oleellista kuitenkin on, ettei lisenssejä sekoita ja niitä kohtelee oikein: väärä lisenssi väärässä paikassa voi altistaa muun ohjelmiston vaikkapa GPL:n melko ankarillekin avoimuusvaatimuksille, toisaalta liian vaativan lisenssin ehtojen mukaan toimiminen voi aiheuttaa turhaa työtä. Ja lopulta: väärän lisenssin ilmoittaminen tai noudattaminen on todennäköisesti vähintäänkin jonkinasteinen tekijänoikeusloukkaus, koska ohjelmiston lähdekoodin käyttö perustuu lisenssin noudattamiseen.
Tiedossani on parikin tapausta, joissa AI on arvannut hyödynnettävälle ohjelmistolle väärän lisenssin, mutta taitava koodari on itse tajunnut tämän virheen. Ei kuitenkaan vaatisi paljoa, että vähemmän taitava koodari ei tajua tarkastaa, että lisenssi on oikein.
Ok, mutta onko tämä nyt oikeasti ongelma?
Voidaan tietysti kysyä, onko tämä oikeasti ongelma. Entä sitten, vaikka AI:n luomalle koodille ei syntyisi tekijänoikeutta? Jos ohjelman julkaisee binäärinä, kukaan ei pääse näkemään koodia. Kukaan ei siis tiedä että koodin on luonut AI eikä ihminen, ja siten kukaan ei tiedä, ettei ohjelman koodilla ole tekijänoikeutta. Vaikka AI:n luomaan koodiin perustuvia ohjelmia on yhä enemmän ja enemmän, olisi melko uhkarohkeaa lähteä kopioimaan ohjelmistoja ihan vain veikaten, että ohjelmisto olisi kokonaan AI:n ohjelmoima ja siten sillä ei olisi tekijänoikeutta. Ja jos ohjelma on julkaistu vain binäärinä, kukaan ei myöskään voi saada tietoonsa, että ohjelmakoodi loukkaisi jonkun toisen koodia tai että sen lisenssiviittaukset olisivat virheellisiä.
Onkin täysin mahdollista rakentaa liiketoiminta sen varaan, että ”kukaan ei saa koskaan tietää”. Sanomatta lienee kuitenkin selvää, että tällainen liiketoiminta ei ole erityisen vakaalla pohjalla, eikä tietovuotoon tarvita kuin yksi firman johtoon pahasti harmistunut koodari.
Siinäpä sitten onkin hauskaa yrittää rakentaa liiketoimintaa sille pohjalle, että firman ohjelmisto on täysin vapaasti kopioitavissa, kun sillä ei ole tekijänoikeutta (ohimenevänä mainintana todettakoon, että ohjelmistoliiketoimintaa on täysin mahdollista rakentaa tällekin pohjalle, mutta jos liiketoiminta perustuu nimenomaan tekijänoikeudella suojatun ohjelmiston myymiseen, niin sitten voikin olla vaikeampaa).
Mutta onneksi on melko helppo varmistaa, että AI:n luoman koodin päälle luotu ohjelmisto saa tekijänoikeuden ja että sen käyttö on juridisesti turvallista. Siihen riittää muutama kikka.
Näin teet AI:n koodista sinun koodiasi ja oikeudellisesti turvallista
Jos AI:n luoman koodin ongelmat tiivistäisi niin, että AI-koodilla ei todennäköisesti ole tekijänoikeutta, että se voi silti loukata jonkun toisen tekijänoikeutta ja että sen lisenssiviittaukset voivat olla väärin, niin niiden fiksaaminen on helpointa aloittaa juuri käänteisessä järjestyksessä.
Ensinnäkin, lisenssiviittaukset on helppo tarkistaa manuaalisesti. Sen kuin vain tsekkaa mitä lisenssiä viitattu ohjelma käyttää, ja korjaa sen AI:n luomaan koodiin jos tarpeen. Done. Ei mene montaa minuuttia.
Toiseksi, AI:n luoman koodin mahdollisesti sisältämä tekijänoikeusloukkaus. Niitä voi olla vaikea havaita, sillä tyypillisesti tekijänoikeuden loukkaus havaitaan niin, että teosta tarkastellessaan joku asiaa tunteva tunnistaa alkuperäisteoksen. Toinen tapa taas on käyttää erilaisia plagiaattitarkastusohjelmia. Ensimmäinen tapa perustuu lähinnä sattumaan ja lienee hyvin epätodennäköistä, että satunnainen koodari äkkäisi AI:n luoman koodin muistuttavan jotain toista koodinpätkää vaikkapa GitHubissa. Plagiaattitarkistusohjelmien käytöstä ohjelmistokoodin tarkastamisessa taas en ole koskaan kuullut, ja toisaalta tällaiset todennäköisesti tuottaisivat myös runsaasti vääriä positiivisia osumia.
Pidän siis epätodennäköisenä, että ohjelmakoodin mahdollisia tekijänoikeusloukkauksia havaittaisiin tämänhetkisellä teknologialla muuten kuin sattumalta. Toisaalta, jos ohjelmaa jaellaan vain binäärimuodossa, voi olla, ettei loukkausta havaita sen tuottajan ulkopuolella (jos tuottajan sisäisestikään) ikinä.
Tässä mielessä AI-koodi sisältää aina ainakin periaatteellisen riskin, mutta tämä riski vaikuttaa käytännössä olevan niin pieni, että suurimmalle osalle firmoja se ei ole AI:n käytön este. Lisäksi tällä hetkellä ”AI-firman syy”-puolustus voisi olla toimiva, mutta ainakaan itse en uskaltaisi sen varaan vannoa.
Viimeiseksi se isoin ongelma, eli AI:n luoman koodin tekijänoikeussuojaa vaille jäävä status. Vaikka AI:n luoma koodi olisikin kuin oikukkaiden säiden luomia jäähelmiä maassa, mikään ei estä sitä, etteikö jäähelmiä voisi siirrellä tai niihin käyttäisi muuta ihmisen luovuutta. Jos AI:n luomaa, tekijänoikeudetonta koodia muokkaa ihminen, jossain vaiheessa se muuttuu koodiksi, jossa ihminen on tehnyt omaperäisiä, luovia valintoja.
Sanon ”jossain vaiheessa”, sillä mitään selkeää rajaa on mahdoton asettaa. Tekijänoikeudellinen arviointi on aina kokonaisarviointia. On kuitenkin tärkeää muistaa, että pelkkä työn määrä ei ole tekijänoikeudellisesti merkitsevää, vaan luovuus. Ei siis riitä, että AI:n luoman koodin perkaa käsin läpi, vaan ihmisen täytyy nimenomaan tehdä luovia valintoja koodin sisällön suhteen.
Mihin AI:n luomaa koodia kannattaa käyttää ja mihin ei?
Valcon Henri Heikkinen kirjoitti Linkedinissä, että SaaS-bisnekselle on tulossa kovat ajat, kun firmat voivat vibekoodata omat ohjelmistokilkkeensä parissa päivässä, sen sijaan että maksaisivat SaaS-yhtiöille vuosimaksuja – vibekoodattu ohjelmistokilke kun on omaa koodia. Liiketoiminnallisesti tämä varmasti pitää paikkansa, mutta omaahan tällainen AI-avusteisesti koodattu koodi ei tosiaan ole, koska se ei saa tekijänoikeutta. Toisaalta se ei välttämättä ole mikään ongelma: jos koodinpätkä on muutenkin vain ”kilke”, se voi hyvinkin vertautua enemmänkin firman toimintatapaan tyyliin ”tulevan viikon lomat pitää olla hyväksyttynä edellisen viikon perjantaihin mennessä” – toisin sanoen sillä, onko AI:n luomalla ohjelmistolla tekijänoikeuksia, ei tällaisessa tilanteessa ole väliä.
Ja tämä onkin ehkä yksi oleellinen juttu, mikä pitää ymmärtää: vaikka koodi on perinteisesti saanut tekijänoikeuden melkein automaattisesti, on monia tilanteita, missä tuolla tekijänoikeudella ei oikeastaan ole merkitystä, ja näissä tilanteissa ei olekaan mitään väliä, onko ohjelmistolla tekijänoikeus vai ei. Onko sillä väliä, että joku kopioi koodin, jos se tehtiin AI:n avulla kahdessa tunnissa, ja sen arvo on firman sisäisessä ajansäästössä eikä varsinaisessa koodissa? Niinpä.
Eli:
AI:n tuottamaa koodia voi oikein hyvin käyttää esimerkiksi nopeisiin testikokeiluihin ja sisäisiin prosesseihin: sellaisiin, jotka muuten teetettäisiin (ahkeralla, mutta matalasti palkatulla) kesäharjoittelijalla, sekä tilanteisiin, joissa tekijänoikeudella ei ole väliä, tai missä koodin vuotaminen ei oikeastaan haittaisi lainkaan.
Sen sijaan AI:n tuottamaan koodiin kannattaa suhtautua varauksellisesti tilanteissa, joissa bisnes pyörii nimenomaan tuon koodin myymisen ympärillä. En missään tapauksessa sano, etteikö AI:ta voisi tällaisissakin tilanteissa hyödyntää, mutta silloin koodin tarkastaminen ja editointi ihmisvoimin nousee kyllä arvoon arvaamattomaan, ja ”raa’an” AI:n tuottaman koodin myynti tulee olemaan riski.
Leave A Reply