(toiminnot)

hwechtla-tl: Gpl-lisenssin tulkinta

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


GPL (http://www.gnu.org/licenses/gpl.html), tunnetuin avoimen lähdekoodin (http://fi.wikipedia.org/wiki/Avoin_l%C3%A4hdekoodi) levityslisenssi, on tunnettu pituudestaan, mutkikkuudestaan ja jyrkistä ehdoistaan. Se asettaa sen selkeästi eri asemaan muiden perinteikkäiden avointen lisenssien kanssa, BSDL:n ja MIT-lisenssin (jotka kiinnittävät huomiota vain attribuutioon) ja PD-lisenssin (joka on vain lakiperusteinen "waiver of rights") kanssa.

GPL:n sisältö, yksinkertaistetusti, on tämä:

  1. ohjelmaa tai sen lähdekoodia saa haltija käyttää miten lystää.
  2. jos ohjelman haltija antaa sen jollekulle muulle, pitää myös varmistaa, että toinen voi halutessaan saada sen lähdekoodin GPL-lisensoituna.
  3. jos lähdekoodiin tekee muutoksia, ohjelman ja muutosten kokonaisuus on myös GPL:n alainen.

Keskimmäinen ehto aiheuttaa jonkinverran tulkinnanvaraa, koska aina ei ole selvää, mikä on "lähdekoodi" ja mikä siitä tehty "ohjelma" tai muu tuotos (GPL:a voi soveltaa esim. kirjoihin lähes yhtä hyvin, jolloin kirjan levittäjän täytyy varmistaa, että kirjan hallussapitäjät voivat saada kirjan alkuperäisen tekstin haltuunsa). "Lähdekoodi" tarkoittaa mitä tahansa, minkä ihminen on tuottanut käsityönä esim. kirjoittamalla, ja "ohjelma" (tai tuotos, "binary form") on siitä tavalla tai toisella tuotettu, kokonaisuutena levitettävä asia. Mutta tosissaan tulkintavaikeuksia aiheuttaa vasta GPL:n kolmas ominaisuus yllä.

On paljon työtä, jota halutaan tehdä GPL-lisensoitujen ohjelmistojen avulla tai päälle, ja jolle ei haluta GPL-lisensointia. GPL:llä ei tietenkään lähtökohtaisesti ole mitään oikeutta määräillä yksittäisten ihmisten työn lisensointia, vaikka näiden työ jollain tavalla onkin käyttänyt hyväkseen GPL-lisensoitua työtä. GPL:n koura kantaa yhtä kauas kuin tekijänoikeuden (kaupalliset tekijänoikeudet): se kattaa GPL-lisensoidun tuotoksen ja siitä muokatut versiot, mutta ei erillistä työtä. Ohjelman ei voi mitenkään katsoa olevan GPL-lisensoidun ohjelman "muokattu versio" vain sillä perusteella, ettei se toimi ilman tätä toista ohjelmaa.

GPL:n "koukku" tulee vasta siinä, kun tällaisesta uudesta työstä tullutta tulosta yritetään levittää. GPL vaatii, että jos GPL-lisensoitua työtä on mukana yhteisessä levityksessä muun työn kanssa, koko levitys pitää tehdä GPL-lisenssin alaisuudessa. GPL-lisenssillä on mahdollisuus vaatia tätä, koska se voi kieltää alaisensa työn levittämisen, ellei ehtoja täytetä. Sen sijaan, jos GPL-lisensoidusta koodista riippuvaista koodia tai siitä tehtyä tuotosta levitetään erikseen, GPL:llä ei ole asiaan sanottavaa ja lisenssiehdot saavat olla siis mitä vain. (On myös hyvä mainita, että GPL erikseen määrittää "toisistaan riippumattomat" ja "toisiaan laajentamattomat" komponentit sallituiksi levittää eri lisenssien alaisuudessa.)

Niinpä GPL-lisensoituun koodiin perustuvan jatkokehitystyön tekijöillä on kolme vaihtoehtoa:

  1. rakentaa omasta koodista ja GPL-koodista kokonaisuus, jota ei levitetä. Tällaista kokonaisuutta voi kuitenkin käyttää esim. myytävien palveluiden tuottamiseen, koska GPL takaa oikeuden käyttää ohjelmaa mihin haluaa, vaikkei sitä levittäisikään. (Jos haluaa estää tämän, pitää käyttää Affero GPL-lisenssiä.)
  2. myydä / jakaa omasta koodista ja GPL-koodista muodostettua kokonaisuutta ja noudattaa GPL:n ehtoja lähdekoodin jakoon laittamisesta. Koska tällöin kaikki tämä levityksessä oleva lähdekoodi on myös GPL:n alaista, voi yrittää myydä rinnalla omaa koodia lisensoituna jollain muulla lisenssillä, jolloin joku siihen jatkokehitystyötä tekevä voi maksamalla lisenssimaksut myydä koodiaan haluamillaan / sovituilla lisenssiehdoilla. Tämä on se malli, johon GPL:ssä selvästi tähdätään.
  3. jakaa / myydä omat komponentit erillään GPL-komponenteista ja teettää asiakkaalla niiden yhdistely. Tällöin oma lisenssi voi olla mitä vain ja esim. estää tuloksen jatkolevittämisen.

Tämä kolmas malli on vähiten käytetty (lukuun ottamatta selkeitä tapauksia, esim. kaupallinen ohjelma joka toimii vain GPL-lisensoidussa käyttöjärjestelmässä) eikä sitä ole tarkasteltu kovin paljon. Mitä, jos esimerkiksi teen ohjelman, joka ei ole GPL:n alainen, mutta joka ajettuna hommaa GPL-koodia jostain ja yhdistää sen johonkin omaan kaupalliseen lisäykseeni? Eihän tällaisen wizardin myyminen mielivaltaisella lisenssillä voine olla GPL:n vastaista? Entä, jos myyn erikseen johonkin GPL-softaan ladattavaa pluginia? Eikö silläkin voi olla mielivaltainen lisenssi, niin kauan kuin en levitä sitä yhdessä kyseisen softan kanssa?

Siksi on hämmentävää, että (kuten LWN:ssä mainittiin hiljattain) melkein kaikki avoimen lähdekoodin CMF-softien (kuten WordPress, drupal ja joomla) kehittäjäyhteisöt ovat ottaneet kannan, että näiden ohjelmistojen pluginit ovat automaattisesti GPL:n alaisia. Toki, muodostavathan ne kokonaisuuden ajettuina varsinaisen ohjelman kanssa, mutta jos pluginia levittää yksinään, ei minusta GPL:n vaikutusvallan todellakaan pitäisi ulottua pluginin lisenssiehtoihin.


kategoria: politiikka


kommentoi (viimeksi muutettu 06.08.2010 16:41)