GNU GPL

Linux.fista
(Ohjattu sivulta GPLv1.2)
Siirry navigaatioon Siirry hakuun
Linux.fi-wikissä artikkelit käsittelevät yleensä aihettaan siltä osin, kuin se koskee Linuxia ja avoimia/vapaita ohjelmistoja. Yleisluontoisemman artikkelin tästä aiheesta löydät tietosanakirja Wikipediasta.

GNU GPL eli GNU General Public License on yleisin avoimen lähdekoodin ohjelmistoissa käytetty lisenssi. Nykyään käytössä on useimmiten GPL:n versio 2, mutta kesäkuussa 2007 julkaistuun kolmosversioon ollaan monissa projekteissa siirtymässä. Lisenssin uusi versio on periaatteiltaan sama kuin aiemmatkin, mutta se tukkii joitakin porsaanreikiä, joita edellistä lisenssiversiota kirjoitettaessa ei huomattu. Lähinnä ns. "anti-tivoization"-pykälän vuoksi esimerkiksi Linuxin ydin ei ole ainakaan toistaiseksi siirtymässä GPL:n kolmanteen versioon.

GPL on ns. copyleft-lisenssi. Sen alla lisensoidusta ohjelmasta pitää aina olla saatavilla lähdekoodi, ja ohjelmaa voi vapaasti käyttää mihin tahansa tarkoitukseen, muokata ja levittää edelleen (myös kaupallisesti). GPL kuitenkin vaatii, että ohjelmaa ja siihen perustuvia muita ohjelmia levitetään GPL:n alaisuudessa.

GPL pähkinänkuoressa[muokkaa]

Itse lisenssiteksti on kohtuullisen pitkä, vaikkakaan ei hankalampiselkoinen kuin yleiset kaupalliset EULA-sopimukset. Tavalliselle käyttäjälle riittää usein seuraava yhteenveto:

  • Ohjelmaa saa vapaasti käyttää ja tutkia
  • Ohjelmaa saa jakaa edelleen, kunhan lähdekoodi ja lisenssi annetaan mukaan
  • Ohjelmaan saa tehdä muutoksia ja näitä muutoksia levittää edelleen, kunhan muutoksista ilmoittaa selvästi (yleensä changelog-tiedostossa), GPL-ilmoituksia ei poista ja muunnettu lähdekoodi ja lisenssi annetaan mukaan, sikäli kuin uutta versiota levitetään
  • Ohjelmasta saa ottaa osia ja käyttää muissa ohjelmissa, jotka käyttävät GPL-lisenssin samaa versiota, kunhan tekijät mainitaan asianmukaisesti. Monessa ohjelmassa käyttäjän annetaan valita mitä GPL:n versiota käytetään.

Tilanne on hankalampi, jos haluaa yhdistää osia eri ohjelmista. Jos jokin ohjelmista on lisensoitu vain GPL:nä yhdistelmä on yleensä levitettävä GPL:n alaisuudessa. Tämä onnistuu, jos muiden ohjelmien lisenssit ovat "GPL-yhteensopivia". Lista tällaisista lisensseistä on esim. FSF:n verkkosivuilla. Ongelma ei koske tapausta, jossa eri ohjelmat vain levitetään yhdessä yhdistämättä niitä.

GPL-ohjelman käyttö digiboksissa, kännykässä tai vastaavassa sulautetussa järjestelmässä edellyttää GPLv3:n tapauksessa, että lähdekoodin lisäksi annetaan muunnetun koodin asennusohjeet. Muunnetun version asennus ei saa edellyttää eri sopimusta. GPL-ohjelmaa saa kuitenkin käyttää myös laitteessa, jossa koodia ei pääse muuttamaan (ROM-piiri, umpeenvalettu kotelo tms.). Jos ohjelmaa käytetään verkkopalvelussa, ei lähdekoodia ja muokkauksia ole pakko tarjota käyttäjille. Jos sen sijaan käytetään GPL-lisenssiin perustuvaa AGPL-lisenssiä, on lähdekoodi tarjottava myös palvelun käyttäjille. Lähdekoodiin saatetaan laskea myös kehitysympäristö, sikäli kuin se ei ole yleisesti saatavilla tai helposti korvattavissa.

Kun GPL-lisensoitua ohjelmaa levitetään konekielisenä GPL-lisenssi vaatii, että lähdekoodi joko levitetään konekielisen ohjelman yhteydessä tai että se kirjallisesti luvataan toimittaa tarvittaessa.

Lyhenteet[muokkaa]

Pakettivarastoissa ja tässäkin wikissä käytetään lyhenteitä kun viitataan tiettyyn GPL:n versioon. Esimerkiksi GPLv2 tarkoittaa GPL:n versiota kaksi ja GPLv2+ tarkoittaa edellisen lisäksi mitä tahansa Free Software Foundationin julkaisemaa uudempaa versiota lisenssistä.

Aiheesta muualla[muokkaa]

v  k  m
Lisenssit
Copyleft‑lisenssejä GNU AGPL | GNU FDL | GNU GPL | GNU LGPL | Eclipse Public License | Mozilla Public License | OSL
Permissiivisiä lisenssejä Apache-lisenssiBSD-lisenssiCDDL | MIT-lisenssi | WTFPL
Sallivia lisenssejä Artistic License | Beerware | ISC-lisenssi | Microsoft Public Lisenssi‎ | Public domain | zlib-lisenssi‎‎ | libpng-lisenssi