Avoimen lähdekoodin (Open Source) määritelmä
Versio 1.9
Sisäänvedetyissä kursivoiduissa kappaleissa on selityksiä
avoimen lähdekoodin määritelmään ja ne eivät ole osa määritelmää.
Alkuperäinen englanninkielinen versio määritelmästä ilman selityksiä on
nähtävissä täällä.
Johdanto
Avoin lähdekoodi ei tarkoita vain lähdekoodin saatavuutta. Avoimen
lähdekoodin ohjelmien
täytyy myös täyttää seuraavat levitysehdot:
1. Vapaa levitysoikeus
Lisenssi ei saa estää ketään myymästä tai lahjoittamasta ohjelmaa osana
yhdisteltyä ohjelmistoa, joka on koottu useista eri lähteistä saaduista
ohjelmista.
Lisenssissä ei saa määrätä ohjelman myymisen ehdoksi tälläisessä
tapauksessa
rojaltia tai muuta maksua.
Perustelu: Rajoittamalla lisenssiä siten, että vaaditaan
vapaa
levitysoikeus elinoidaan houkutus saada lyhyessä ajassa hieman
myyntituloja
monien pidemmän aikavälin etujen uhalla. Jos näin ei vaadittaisi,
silloin
yhteistyöhankkeilla olisi suuri vaara epäonnistua.
2. Lähdekoodi
Ohjelman täytyy sisältää lähdekoodi ja ohjelman levityksen täytyy
olla sallittu sekä lähdekoodina että käännetyssä muodossa. Jos jotakin
osaa
ohjelmasta levitetään ilman lähdekoodia, tällöin on selkeästi
tiedotettava,
miten lähdekoodi on saatavissa kohtuullisin kopiointikustannuksin -
mieluiten
Internetin kautta ilmaiseksi. Suositeltavin levitysmuoto on lähdekoodi,
jota
ohjelmoija voi muuttaa. Tahallisesti epäselvä lähdekoodi ei ole sallittu.
Välimuodot kuten esiprosessorin tai kielen tulkin tulos eivät ole
sallittuja.
Perustelu: Selkeän lähdekoodin saatavuus vaaditaan siksi,
että ohjelmia ei voi kehittää ilman niiden muuttelemista. Koska
tarkoitus on
tehdä kehitystyö helpoksi, vaaditaan muutosten tekeminen helpoksi.
3. Johdannaiset teokset
Lisenssin on sallittava muutosten tekeminen ja johdannaisten teosten
luominen. Näitä on saatava levittää samoilla lisenssiehdoilla kuin
alkuperäistä
ohjelmaa.
Perustelu: Pelkkä mahdollisuus lukea lähdekoodia ei vielä
riitä tukemaan ohjelman hajautettua arviointiprosessia ja nopeita
kehitysvalintoja. Jotta kehitys olisi nopeaa, muutoksia on saatava
kokeilla
ja levittää.
4. Lähdekoodin yhteenkuuluvuus
Lisenssi voi rajoittaa muutellun lähdekoodin levittämistä vain
siinä tapauksessa,
että lisenssi sallii korjaustiedostojen (patch) ja niiden lähdekoodin
levittämisen.
Korjaustiedostojen tarkoituksena on ohjelman muuttaminen, kun sitä
käännetään. Lisenssin
on nimenomaisesti sallittava muutetusta lähdekoodista käännettyjen
ohjelmien levittäminen.
Lisenssi voi edellyttää, että johdannaisissa teoksissa käytetään erilaista
nimeä tai
versionumeroa kuin alkuperäisessä ohjelmassa.
Perustelu:Vaikka rohkaiseminen parannusten tekemiseen on
hyvä asia,
käyttäjillä on oikeus tietää kuka on vastuussa ohjelmistosta.
Vastaavasti tekijöillä ja ylläpitäjillä on oikeus tietää mihin heiltä
pyydetään tukea sekä oikeus suojata heidän mainettaan.
Niinpä avoimen lähdekoodin lisenssin täytyy taata, että
lähdekoodi on helposti saatavilla, mutta se voi vaatia, että
lähdekoodi tulee levittää alkuperäisenä muuttamattomana lähdekoodina ja
korjaustiedostoina. Tällä tavalla "epäviralliset" muutokset voidaan
tarjota
saataville selvästi erotettuina niiden perustana olevasta lähdekoodista.
5. Henkilöiden ja ryhmien syrjinnän kielto
Lisenssi ei saa syrjiä ketään henkilöä tai henkilöryhmää.
Perustelu: Jotta avoimen lähdekoodin kehitysprosessista
saataisiin suurin mahdollinen hyöty, tulisi siihen hyväksyä
osallistumaan
mahdollisimman monipuolisilta taustoilta tulevia henkilöitä ja
henkilöryhmiä. Siksi kielletään sulkemasta ketään pois
kehitysprosessista.
Joillakin mailla, mukaanlukien Yhdysvallat, on vientirajoituksia
tietyn tyyppisille ohjelmistoille. Avoimen lähdekoodin määritelmän
mukainen lisenssi voi varoittaa lisenssin saajaa soveltuvista
rajoituksista
ja muistuttaa heitä velvollisuudesta noudattaa lakia; kuitenkaan itse
lisenssiin
ei saa kirjoittaa sellaisia rajoituksia.
6. Toimialojen syrjinnän kielto
Lisenssi ei saa syrjiä ketään käyttämästä ohjelmaa tietyllä
toimialalla.
On esimerkiksi kiellettyä rajoittaa ohjelman käyttöä liiketoiminnassa tai
genetiikan
tutkimuksessa.
Perustelu: Tämän kohdan tarkoituksena on kieltää
lisenssiansat,
joilla estetään avoimen lähdekoodin kaupallinen käyttö. Kaupalliset
käyttäjät
halutaan saada liittymään yhteisöön, ei tuntemaan olevansa siitä
poissuljettuja.
7. Lisenssin levittäminen
Ohjelmaan kuuluvien oikeuksien on sovelluttava suoraan kaikille niille,
joille ohjelma on levitetty ilman, että heidän tulisi ottaa käyttöön
myös jokin uusi lisenssi.
Perustelu: Tämän kohdan tarkoituksena on kieltää
ohjelmiston sulkeminen
epäsuorin keinoin kuten vaatimalla salassapitosopimusta.
8. Lisenssi ei saa olla tuotekohtainen
Ohjelmaan kuuluvat oikeudet eivät saa riippua siitä, että ohjelma on
osana jotakin tiettyä ohjelmistopakettia. Jos ohjelma erotetaan
ohjelmistopaketista
ja sen jälkeen sitä käytetään tai levitetään ohjelman lisenssillä, tällöin
kaikkien
niiden, joille ohjelma levitetään, tulee saada samat oikeudet kuin
alkuperäisessä
ohjelmistopaketissa.
Perustelu: Tämäkin kohta poistaa lisenssiansoja.
9. Lisenssi ei saa rajoittaa muita ohjelmia
Lisenssi ei saa asettaa rajoituksia muille ohjelmille, joita levitetään
lisensoidun
ohjelman mukana. Lisenssi ei saa esimerkiksi vaatia, että kaikki muut
ohjelmat, joita
levitetään samalla tallennusvälineellä, olisivat avoimen lähdekoodin
ohjelmia.
Perustelu: Avoimen lähdekoodin ohjelmistojen jakelijoilla
on oikeus
itse päättää omista ohjelmistaan.
GPL-lisenssi on yhteensopiva tämän kohdan kanssa. Ohjelma joka on
linkitetty
GPL:n alla oleviin ohjelmakirjastoihin perii GPL:n vain, jos se
muodostaa yhden
teoksen eikä ole ainoastaan levitetty GPL-kirjastojen
kanssa.
Suomeksi kääntänyt Mikko
Välimäki
|