13.10.2019

From COKS - Open Source Center - Slovenia

Jump to: navigation, search

Contents

Razvoj OKPO – Predstavitev lastništva in licenciranja

Programje, avtorske pravice in licenciranje

Ko razvijate programje, ustvarjate lastnino. Lastnina je vedno v lasti nekoga. Če ste zaposleni v podjetju, si bo po vsej verjetnosti pravice programja, ki ga spišete tekom vašega dela na podjetju, lastil delodajalec. Če delate sami, če delate v vašem prostem času stvari nepovezane z vašim delom, si jih boste po vsej verjetnosti lastili vi. Če ste samozaposleni in razvijate programje za stranko, potem v pogodbi piše kdo je lastnik programske opreme. Če to ni specifično opredeljeno v pogodbi, je zelo verjetno da bo ta pravica pripadala razvijalcu, torej vam. Če delate v skupini ljudi, z več delodajalci, morda so nekateri člani skupine tudi iz tujine, potem se lahko stvari zelo zapletejo. Dobro je, da se zavarujete glede intelektualne lastnine v pogodbi.

Računalniško programje je zaščiteno z avtorskimi pravicami. Zakon daje lastniku določene pravice in prepoveduje drugim, da bi uporabljali programje enako kot lastniki.

Biti lastnik avtorskega dela pomeni, pa naj bo dobesedno ali pragmatično, pomeni, da lahko odločate kdo ga lahko kopira, spreminja in distribuira. Brez dovoljenja lastnika tega ne more početi nihče drug. Vsako kršenje pa lahko prinese pravne posledice.

Avtorske pravice nastanejo takoj ko je delo narejeno, torej v praksi takoj ko je nekje zabeleženo. Ni potrebno da se delo registrira, da pridobite avtorske pravice, to se zgodi avtomatsko. Prav tako ni potrebno, da se označi z znakom ©, čeprav je dobro, saj s tem poudarite zakonsko pravico lastništva.

Pisanje programja lahko povzroči več vrst lastnine. Izvorna koda je lastnina, prav tako je lahko priprava oblikovanja in material za oblikovanje, kot tudi organizacija in uporabniški vmesnik. Vredno se je zavedati vseh posledice tega.

Koriščenje avtorskih pravic

Če želi avtor zaslužiti s svojim delom, lahko proda svoje avtorske pravice, ali izdaja omejene pravice (licence) za koriščenje svojega dela. Tako kot fizična lastnina, se lahko proda, najame, ali da v javno uporabo.

Zelo pogost pristop je licenciranje. Licenca je dovoljenje, ki ga izda lastnik avtorske pravice drugi osebi. Lastnik licence tej osebi dovoli uporabo na načine, ki jih zakon v nasprotnem primeru prepoveduje, to so kopiranje, prilagajanje ali distribucija. Licenca ta dejanja dovoli na podlagi omejitev, ki so zapisane v licenci.. to so lahko na primer kopiranje samo določeno število kopij, ali pa plačevanje pristojbin od vsake kopije. Temu se reče „licenčni dogovor“.


Kaj je odprtokodno licenciranje?

Odprta koda predstavlja skupino licenc, ki vse izpolnjujejo določene pogoje. Te pogoje postavlja OSI – Open Source initiative. Na kratko jih bomo opisali spodaj:

  1. odprtokodno programsko opremo je mogoče svobodno distribuirati. Lahko jo distribuira kdorkoli brezplačno ali proti plačilu;
  2. Izvorna programska koda je dostopna uporabniku. Licenca mora dovoljevati distribucijo v prevedeni kakor tudi v izvorni obliki;
  3. Licenca mora dovoljevati spremembe osnovne kode in izvedene oblike nove kode;
  4. Kljub temu, da mora biti izvorna koda dostopna, lahko izvorni avtorji zahtevajo, da se morebitne spremembe jasno ločijo od originalne kode in tako ohranijo ločnico med prvotno in modificirano kodo (npr. v obliki popravkov ali različnih verzij);
  5. Licenca ne sme omejevati katerekoli osebe ali skupine;
  6. Licenca ne sme biti omejevalna glede na področje dela, v okviru katerega se programska koda uporablja;
  7. Distribucija licenc mora biti enakovredna za vse uporabnike, brez dodatnih omejitev;
  8. Licenca za isto programsko kodo se ne sme razlikovati, če se jo uporablja v kombinaciji z drugo programsko opremo;
  9. Licenca ne sme omejevati uporabe druge programske opreme;
  10. Licenca mora biti tehnološko nevtralna.

želen namen teh pogojev je promovirati distribucijo programja, ter opogumiti ljudi, da prispevajo k funkcionalnosti s spreminjanjem izvorne kode in dopolnjevanjem. Lahko se zdi, da dajanje teh pravic vodi do kaotičnega števila le malo različnih verzij programja, vendar v praksi to izgleda tako, da se dobre spremembe zberejo v novo enotno verzijo.

Zelo razširjena napačna interpretacija je, da se ne sme zaračunavati za distribucijo odprte kode. Tega ne prepoveduje noben od pogojev, res pa je, da se to v praksi le redko počne, saj bi načeloma lahko vsak kupec odprto kodo prodajal naprej in tako predstavljal direktno konkurenco.

Kompleksno lastništvo

Ko je košček odprte kode napisan, velikokrat s pomočjo več ljudi in skupin, postane lastništvo zapletena stvar. Te zadeve v zvezi z lastništvom pa se v enaki meri nanašajo na neplanirano sodelovanje pri programiranju čez določeno časovno obdobje. Povsem mogoče je da bi vsak, ki prispeva košček kode obdržal lastništvo nad svojim delom. V praksi pa se večina odprtokodnih razvijalcev odloči, da bo njihov material izdala pod enako licenco, kot je originalno delo, kar pomeni možnost nadaljevanja razvoja in izboljšav določenega odprtokodnega programa. Še zmeraj pa se pojavlja zapleteno vprašanje, kdo naj bi se pritožil, če se nekdo odloči uporabljati program na način, ki ni dovoljen v licenci. Da bi se izognili težavam, nekateri odprtokodni projekti prosijo člane odprtokodne skupnosti, da prenesejo svoje avtorske pravice na organizacijsko telo, ki administrira projekt, to posledično pomeni centralizirano lastništvo in lažje uveljavljanje licence. Alternativna rešitev tega problema pa je, da člani odprtokodne skupnosti z administrativnim organizacijskim telesom sklenejo licenčen sporazum, v katerem je zapisano dovoljenje organizacijskemu telesu, da skupno delo licencira naprej.

Pogodba in avtorske pravice

Pogosto se opaža, da so licence v okviru OSD, problematične saj ne vsebujejo samega dejanja sprejetja licence. Licence za končnega uporabnika pri lastniškem programju pogosto zahtevajo od uporabnika da s klikom na gumb sprejme pogoje uporabe. To dejstvo vodi do razmišljanja, da bi moralo obstajati tovrstno sprejemanje pogojev tudi za odprtokodne licence. Temu seveda ni tako.

Lastniške licence za končnega uporabnika so pogodbe, ki urejajo različne vidike razmerja med podjetjem in uporabnikom. Če uporabnik prelomi licenčni dogovor, se lahko podjetje odloči za uporabo pogodbenega prava za kaznovanje uporabnika. To je včasih lahko težavno, posebej zato, ker se pogodbeno pravo razlikuje od države do države. Pridobitev dodatnega potrdila s klikom na gumb „sprejmem“ ali „I Accept“ olajša proces same tožbe v kolikor uporabnik krši dogovor. Nekateri menijo, da je tak klik na gumb nepotreben, saj se je uporabnik kot samostojna in odgovorna oseba dolžan sam seznaniti z licencami in pogoji uporabe programja. Kakorkoli že podjetja, ki se ukvarjajo z lastniškim programjem pogojujejo instalacijo z klikom na gumb „sprejmem“ zaradi previdnosti.

Dobro zapisane odprtokodne licence so pravno zavezujoče, posledično to pomeni možnost uveljavitve licenčnega dogovora se lahko izvedejo zoper kršitelje licence, bodisi v okviru pogodbenega ali avtorskega prava, odvisno od licence. Nihče ni prisiljen sprejeti licence, vendar je to edini legitimen način uporabe avtorskega dela.

Naprej od OSD

OSI spletna stran navaja preko 60 licenc, ki izpolnjujejo pogoje definicije odprte kode. Namen tega dokumenta ni preučiti vseh licenc. Najbolj uporabljena odprtokodna licenca - GNU General Public Licence (GPL) uveljavi pomembne pogoje tistim, ki kopirajo, spreminjajo ali distribuirajo programje pod okriljem te licence. Vso programje, ki je bilo izdelano z spreminjanjem GPL programja mora biti ravno tako izdano pod GPL licenco. Cilj tega pogoja je rast odprtokodnega telesa, ki raste s tem ko ljudje prispevajo kodo in hkrati onemogoča razvijalcem, da bi po svojem prispevku delčka kode lahko licencirali programje pod strožjimi pogoji kot GPL. Ker se pogoji GPL licence zdijo kot poskus spodkopavanja lastniške uporabe avtorskih pravic, so znani tudi pod terminom „copyleft“ (nasprotje od copyright).

Pri GPL in drugih odprtokodnih licencah ni pomembno, da ponudite javnosti svoje spremembe kode. Če želite jih lahko zadržite za lastno uporabo in jih ne licencirate nikomur. To velja tako za podjetja kot za posameznike.

Kompatibilnost licenc

Težko se je upreti prepričanju da je vsako odprto kodo mogoče neomejeno združevati v novo odprtokodno programje. Žal temu ni tako. Dve licenci, ki sta obe potrjeni s strani OSI, lahko imata pogoje, ki se med seboj izključujejo. GNU GPL ponuja en tak primer, narekuje da se vsa koda, ki vsebuje izvorno kodo katerega koli GPL odprtokodnega projekta izda pod GPL licenco kot celota. hkrati prepoveduje kakršnokoli dodatne restrikcije pravic, ki jih zagotavlja GPL. Ta dva pogoja združeno pomenita, da se koda licencirana pod GPL lahko enostavno združi le s kodo, ki je tudi izdana pod GPL. Ni enostavno določiti ali je nek pogoj v licenci enak nadomestek k drugače povedanemu pogoju v drugi licenci. Zato The Free Software Foundation, ki administrira GPL na svojih spletnih straneh objavlja, katere licence so po njihovim kompatibilne z GPL.

Kompatibilnost licenc je kompleksna tema. Ugotavljanje ali sta dve licenci kompatibilni ali ne zahteva pravniško pomoč, razen v najbolj enostavnih primerih. . Programerji, ki delajo na koščkih kode, ki naj bi bila izdana pod licenco (pa naj si bo odprtokodna ali ne), se morajo zavedati potencialnih težav na tem področju preden poskušajo združevati odprto kodo. Ponavadi najlažja rešitev licenčnih konfliktov je vprašati avtorja, ali bi bil pripravljen re-licencirati svojo kodo za namen združevanja. Tako reševanje pa je edino praktično dokler je avtorjev relativno malo.

Sledenje intelektualni lastnini

Zaradi možnih zapletov okrog kompatibilnosti licenc in kompleksnega lastništva intelektualne lastnine pomeni da je zelo zaželeno, če ne bistveno, da programerji in njihovi menedžerji hranijo podrobno dokumentacijo. Sistemi za kontrolo verzij omogočajo avtomatsko beleženje kdo je spreminjal kodo in kaj so spremenili. Za dopolnitev teh informacij, bi morala menedžerji hraniti dokumentacijo o pogodbenem in licenčnem statusu tistih, ki prispevajo h kodi, da se ve, kdo je lastnik njihovega dela. Prav tako bi morala zahtevati in hraniti posebne dogovore od lastnikov avtorskega dela, da so lahko njihovi prispevki licencirani pod licenco, ki so jo izbrali za celotni projekt. Ko je kje uporabljena koda od že obstoječega odprtokodnega projekta, morajo biti navedene in hranjene podrobnosti njene licence (in prej preveriti, če je kompatibilna z licenco končnega projekta).

Izvleček

Pomembne točke tega dokumenta so predvsem:

  • Programje je lastnina
  • Programje je zaščiteno z avtorskim pravom
  • Lastnino programja je mogoče ugotavljati na podlagi tehnične pravne preiskave vseh pogodb, pod okriljem katerih se je razvilo in na podlagi katerihkoli relevantnih okoliščin.
  • Avtorsko pravo pravi, da je lastnik programja edini izvirni lastnik pravic da to programje kopira, prilagaja in ga distribuira.
  • Lastnik programja lahko prenese pravice kopiranja, spreminjanja in distribucije na drugo osebo – tak dogovor se imenuje licenca.
  • Odprtokodne licence zagotavljajo to pravico vsem ki licenco sprejmejo, seveda pod določenimi pogoji zapisanimi v licenci.
  • Cilj odprtokodnih licenc je ustvariti skupnost, kjer se bo popravljalo in razvijalo programje.
  • Združevanje kod iz različnih licenc zna biti zelo kompleksno.
  • Vsi projekti, ki proizvajajo programje, morajo hraniti kompletno in podrobno dokumentacijo licenc in lastništva prispevkov k projektu.


Nadaljnje branje

Opozorilo

Cilj tega dokumenta je predstaviti področja, ki lahko povzročajo težave programerjem in menedžerjem. Ni nastal izpod prstov odvetnikov in zato nima kompetence, da bi se obravnaval kot pravno mnenje. Prosim posvetujte se z pravnikom glede lastnine in licenciranja avtorskega dela.