Copyleft

Copyleft eli käyttäjänoikeus on yleinen menetelmä levittää tietokoneohjelmaa (tai muuta teosta) vapaasti ja vaatien, että kaikki muokatut tai laajennetut versiot ovat myös vapaita.
Termi on Richard Stallmanin kehittämä käsite, joka on tapa levittää vapaita ohjelmistoja ja teoksia. Sen tarkoitus on, että muokattu teos julkaistaan samalla lisenssillä kuin alkuperäinen teos, jolloin kaikki saavat samat vapaudet teoksen kopiointiin, muokkaamiseen ja levitykseen.
Sana ”copyleft” on ohjelmoija Don Hopkinsin ideoima humoristinen väännös englanninkielisestä sanasta "copyright", suomeksi tekijänoikeus, sillä englanninkielen sana "right" voi tarkoittaa sekä oikeutta (vrt. jokamiehenoikeus) että "oikeaa" ja "left" tarkoittaa "vasenta" tai "jätettyä". Kun oikea muutetaan vasemmaksi, oikeuksia ei enää korosteta, vaan ne jätetään (teoksen saajalle).
Tekijänoikeus syntyy teokselle aina automaattisesti ja julkisella lisenssillä voi antaa kenelle tahansa teoksen käyttöoikeuden. Copyleft-lisenssit perustuvat siihen, että ne sallivat teoksen vapaan muokkaamisen, kopioinnin, ja käyttämisen johdannaisteoksissa sillä ehdolla, että myös näin syntyvä teos lisensoidaan samanlaisella tai vastaavalla lisenssillä. Kaikkein käytetyin copyleft-lisenssi on Richard Stallmanin laatima GNU General Public License, joka tunnetaan ehkä parhaiten Linux-ytimen lisenssinä. Copyleft-lisenssin logiikka voi olla vaikea ymmärtää ellei siinä huomioida kaupallisten toimijoiden halua hyötyä ohjelmakoodista taloudellisesti. Keskeinen ero copyleft-lausekkeellisen GNU GPL -lisenssin ja monien muiden lisenssien välillä (esim. BSD) on se, että kaupallisessa käytössä GNU-lisenssit pakottavat julkaisemaan muokatun ohjelmakoodin ja tämä vaatimus tuo yksityisesti tehdyt muutokset laajemman yhteisön käyttöön. Esimerkiksi Apple-yhtiö käyttää avoimen lähdekoodin yhteisöltä ilmaiseksi saatavia tietokoneohjelmia, mutta sallivammat lisenssit johtavat siihen että yritys ei anna yhteisölle mitään takaisin. Kaupalliset toimijat usein suosivatkin siksi sallivampia lisenssejä, joista copyleft-lauseke puuttuu. Toisaalta, vaikka lisenssissä ei olisi copyleft-lauseketta, yksityisellä yrityksellä voi olla motiivi kehittää sitä avoimen lähdekoodin ohjelmakoodia jonka päälle sen oma tuote rakentuu. Yksityisen yrityksen takaisin antamisen volyymi voi silti olla niukka ja yksityinen yritys kehittää ohjelmakoodia vain kapeasti omista tarpeistaan käsin.
Copyleft-lisenssejä kutsutaan nimellä "protective licenses" (suojelevat lisenssit), koska ne pyrkivät suojelemaan käyttäjän vapauksia (ts. koodin avoimuutta), mikä muodostaa vastinparin ryhmän "permissive licenses" (sallivat lisenssit) kanssa, jotka ovat myös vapaita ja avoimia lisenssejä, mutta mahdollistavat koodin sulkemisen muokatussa julkaisussa. Open Source Initiativen mukaan sallivia lisenssejä ovat "ei-copyleft" lisenssit: lisenssit, jotka sallivat käyttää, muokata ja levittää sekä sallii omisteiset johdannaiset työt. Yksi merkittävimmistä tapauksista, joissa salliva lisenssi ei ole antanut avoimen lähdekoodin projektille mitään takaisin on BSD-lisensoitu Minix-käyttöjärjestelmä, jonka muokatun version piirivalmistaja Intel on lisännyt miljardeihin suorittimiin tekemättä kontribuutioita alkuperäiseen Minix-koodiin.
Historia.
Richard Stallman keksi copyleftin käsitteen kun hän oli kehittämässä Lisp-kielen tulkkia. Symbolics-niminen yhtiö pyysi Stallmanilta lupaa käyttää Lisp-tulkkia, ja hän antoi yritykselle public domain -version ohjelmasta. Symbolics laajensi ja paransi ohjelmaa, mutta kun Stallman halusi nähdä parannukset, Symbolics kieltäytyi. Tämän jälkeen Stallman aloitti työnsä suljetun lähdekoodin hävittämiseksi.
Stallman katsoi että nykyisen tekijänoikeuslain kumoaminen olisi epäkäytännöllistä, ja alkoi kehittää olemassa olevan lain ympärille uutta lisenssiä, GNU GPL:ää, josta tuli ensimmäinen copyleft-lisenssi. Lisenssin avulla tekijänoikeuksien haltija pystyi varmistamaan, että ohjelman käyttäjät saisivat mahdollisimman monia vapauksia ohjelman käyttöön ja muokkaamiseen, riippumatta siitä kuinka monta johdettua teosta alkuperäisestä ohjelmasta olisi tehty. Alkuperäinen GNU GPL -lisenssi ei antanut kaikille yleisesti samoja oikeuksia, vaan ainoastaan niille, jotka olivat jo saaneet ohjelman. Se oli kuitenkin paras mihin sen ajan tekijänoikeuslakia hyödyntämällä pystyi.
Ideologia.
Stallman sanoo copyleftin olevan "melkein kuin tekijänoikeus, mutta käännettynä väärin päin". Normaalisti tekijänoikeus kieltää teoksen muuttamisen, levittämisen ja käyttämisen omassa projektissa ilman tekijänoikeuden haltijan lupaa. Copyleft sen sijaan antaa käyttäjälle yleensä samat oikeudet kuin tekijälle, usein (riippuen lisenssistä) oikeuden muokata ja kopioida teosta vapaasti sekä käyttää teosta omassa projektissaan. Ehtona tälle on kuitenkin se, että käyttäjä säilyttää tuotteella saman lisenssin, antaen näin muille taas samat vapaudet. Nämä vapaudet ovat yleensä Free Software Foundationin (FSF) vapaan ohjelmiston tunnusmerkit:
Teoksen ei kuitenkaan tarvitse olla tietokoneohjelma. Jos teos on esimerkiksi kuva, tekijä voi joutua tarkentamaan mitä tarkoitetaan teoksen "lähdekoodilla".
Koska lisenssi koskee ainoastaan teosta eikä lisenssin tekstiä – toisin kuin esimerkiksi BSD-lisenssi – lisenssiä ei voi vaihtaa, vaan teos pysyy aina "copyleftinä". Tämä copyleftin ominaisuus on saanut osakseen paljon kritiikkiä monelta ohjelmistoyritykseltä. Erityisesti GNU GPL -lisenssiä on kritisoitu sen "virusvaikutuksesta". Edesmennyt Sun Microsystems moitti GNU GPL:ää "rosvoavaksi". 
Copyleftin eri tyypit.
Suurin ero copyleft-lisenssien ja muiden vapaiden lisenssien välillä on se, etteivät edes kaikki vapaat lisenssit vaadi johdettujen teosten levittämistä samalla lisenssillä. Tämä aiheuttaa kiistoja muun muassa siitä, onko lisenssi, joka sallii koodin käytön ei-vapaissa teoksissa, vapaampi kuin copyleft-lisenssi. Tästä syystä on kehitetty eritasoisia copyleft-lisenssejä, joiden avulla on pyritty tarjoamaan väliratkaisuja.
Vahva ja heikko copyleft.
"Vahvaan copyleftiin" kuuluvat lisenssit, jotka vaativat vapauksien säilyvän samoina kaikilla käyttäjillä ja kaikissa johdetuissa teoksissa. Tällainen lisenssi on esimerkiksi aiemmin mainittu GNU GPL. "Heikko copyleft" taas sisältää lisenssit, jotka voidaan linkittää yhteen ei-GNU GPL-lisensoitujen teosten kanssa. Tämä mahdollistaa sen, että esimerkiksi kaupallisten ohjelmistojen ei tarvitse julkaista lähdekoodia, jos ohjelma on dynaamisesti linkitetty erilliseen heikkoa copyleftiä-lisenssiä käyttävään kirjastoon. Heikkoa copyleftiä hyödyntävätkin yleensä ohjelmakirjastot. Tällaisista lisensseistä tunnetuin on Richard Stallmanin GNU Lesser General Public License (LGPL).
Täysi ja osittainen copyleft.
"Täysi copyleft" tarkoittaa sitä, että koko teos on copyleft-lisenssin alainen. Joissakin tapauksissa tämä ei kuitenkaan ole paras ratkaisu. "Osittainen copyleft" tarkoittaa sitä, että vain osa teoksesta on copyleftin alainen. Tämä mahdollistaa sen, että osa teoksesta voi olla esimerkiksi GNU GPL -lisensoitu ja osa BSD-lisensoitu, jolloin osaa teoksesta voi muokata vähemmin rajoituksin ja käyttää omassa teoksessa ilman että tarvitsee käyttää jotakin tiettyä lisenssiä.
Sama lisenssi.
"Sama lisenssi" -periaatetta () noudattavat lisenssit ovat osittaisia copyleft-lisenssejä. Ne kuitenkin vaativat vahvan copyleft-lisenssin tavoin että kaikki käyttäjät saavat samat vapaudet. Siispä kaikki täyden copyleftin lisenssit noudattavat automaattisesti sama lisenssi -periaatetta. Share-alike-lisenssit voivat kuitenkin pidättää joitakin oikeuksia. Ne voivat esimerkiksi kieltää teoksen vapaan levityksen, ja voivat vaatia että alkuperäisen teoksen tekijän nimi mainitaan johdetuissa teoksissa. Esimerkkejä tällaisista lisensseistä ovat Creative Commons -lisenssit.
Erot muihin lisensseihin.
Tavalliset, ei-vapaat ohjelmistolisenssit yleensä rajoittavat oikeutta käyttää hankkimaansa ohjelmaa, sen sijaan että antaisivat lisäoikeuksia. Ohjelman kopioiminen eteenpäin jakamista varten ei ole sallittua ilman eri lupaa ja tätä lupaa ei usein anneta niissäkään tapauksissa, joissa ohjelma on saatavana ilmaiseksi. Hankittuaan ohjelman laillisesti saa, ellei muuta sovita, oikeuden käyttää ja tutkia sitä, tehdä siitä käytön kannalta tarpeelliset kopiot, korjata sen virheitä ja muuntaa sitä tarpeen mukaan sekä myydä tai luovuttaa ohjelma toiselle (hävittäen omat kopiot). Näitä oikeuksia yleensä rajoitetaan kaupallisilla lisensseillä. Lähdekoodin puuttuessa ohjelman tutkiminen ja korjaaminen joka tapauksessa ei onnistu kuin hyvin rajallisesti.
Kaikki vapaat lisenssit eivät ole copyleft-lisenssejä. Hyvä esimerkki vapaasta ei-copyleft-lisenssistä on BSD-lisenssi. Se on vapaa kuten GNU GPL, mutta muokattua teosta saa levittää myös eri lisenssillä. Monet suuret ohjelmistoyritykset eivät pidä vahvoista copyleft-lisensseistä siitä syystä, että lisenssi vaatii julkaisemaan ohjelmien lähdekoodin kaikkien binäärimuodossa levitettyjen tuotteiden mukana. BSD-lisenssi onkin tähän tarkoitukseen sopivampi. Muun muassa Applen macOS -käyttöjärjestelmä sisältää BSD-lisensoitua koodia ja sen pohjautuu BSD-pohjaiseen Darwiniin.
Copyleft kaupallisessa käytössä.
Kaupallisessa käytössä copyleftin ongelmana on ollut se, että ohjelmistoyritykset eivät halua julkaista ohjelmiensa lähdekoodeja joista voi olla kilpailijoille hyötyä: copyleft-ohjelmaa ei voi käyttää suljetun ohjelman pohjana. Toisaalta voittoa tavoittelemattomien järjestöjen (esimerkiksi FSF) ohjelmistot ovat saaneet suurta suosiota ja myös kaupalliset toimijat ovat osallistuneet merkittävästi monien copyleft-ohjelmistojen kehittämiseen. Yksi kaupallistetuin copyleft-lisensoitu teos onkin Linux (osana Linux-käyttöjärjestelmää). Tunnetuimpia kaupallisia Linux-jakeluita ovat Red Hatin kehittämä Red Hat Enterprise Linux ja SUSEn SUSE Linux.
Yksi tapa hyödyntää copyleftiä kaupallisesti on niin kutsuttu kaksoislisensointi ja muun muassa Linux-jakeluissa osa ohjelmista on kaksoislisensoitua. Kaksoislisensoinnilla tarkoitetaan käytäntöä, jossa saman ohjelman voi saada käyttöönsä joko copyleft-lisenssillä (yleensä GNU GPL) ilmaiseksi tai tavanomaisella kaupallisella lisenssillä korvausta vastaan. Tämä tuo kehittäjäyhtiölle monet avoimen lähdekoodin hyödyistä, mutta mahdollistaa lisenssitulojen keräämisen osalta käyttäjiä. Toisaalta avoimen koodin kehittäjät saavat ohjelmiston käyttöönsä normaalein copyleft-ehdoin, joten kaksoislisensointi ei ole aiheuttanut juurikaan protesteja. Tunnetuimpia kaksoislisensoituja ohjelmia on MySQL-tietokanta ja KDE:n käyttämä Qt-kirjasto.
Yritys voi myös käyttää ohjelmistoa sisäisiin tarpeisiinsa tai käyttää sitä myytävän tuotteen pohjana, saaden tulonsa esimerkiksi räätälöimis- tai tukipalveluiden kautta. Näissä tapauksissa copyleft tarjoaa kaikki vapaan ohjelmiston edut, samalla estäen kilpailijoita kehittämästä ohjelmistosta omaa suljettua versiota.