22.12.2024

From COKS - Open Source Center - Slovenia

Jump to: navigation, search

Kaj je odprta koda?

Odprta koda je vse programje, ki je izdano pod Open Source Initiative (OSI) licenco. Vsaka licenca, ki izpolnjuje kriterije OSI, izpolnjuje kriterjie definicije odprte kode. Definicija vsebuje 10 kriterijev, najpomembnejši kriteriji so prosta distribucija, dostop do izvorne kode in dovoljenje za spreminjanje ter integracijo te kode. Zelo različni stili licenc ustrezajo tem kriterijem. GNU General public licence, splošno znana kot GPL ustreza kriterijem. MIT licenca, ki je zelo različna od GPL tako po dolžini kot vsebini, prav tako ustreza kriterijem. Več kot 50 različnih licenc je uspešno prestalo proces certifikacije s strani OSI.

OSI je torej razsodnik, katere licence ustrezajo definiciji odprte kode. Mnenja ostalih strani glede odprtokodnosti licenc se, čeravno so lahko zanimiva, ne upoštevajo.


Ali pomeni odprta koda še kaj drugega?


Včasih označuje metodologijo programiranja, katero uporablja veliko število razvijalcev odprte kode. Zelo natančno gledano pa ni nujno, da je odprta koda razvita po tej metodologiji.

Včasih se pojem odprta koda pomotoma zamenjuje z odprto vsebino oziroma svobodno vsebino. Odprte vsebine so tiste, ki jih lahko bralci urejajo, spreminjajo, dodajajo. Dober primer odprte vsebine je slavna Wikipedia, spletna enciklopedija.


Je odprto programje enako kot prosto programje?


Prosto programje (angleško: free software) je termin, za katerem stoji Free Software Foudation (FSF). Termin je starejši kot odprto programje, nekaterim je ta izraz ljubši. Najbolj znan primer licence prostega programja je GNU General Public Licence (GPL), ta licenca pa je hkrati, kot smo že zapisali, tudi primer odprtokodne licence. Torej je lahko zelo verjetno, da je nek program hkrati odprtokoden in prostokoden.

Zelo značilna karakteristika GPL je v njeni prosto spreminjajoči se naravi (angleško: copyleft). FSF ponuja pomoč pri tem katere licence se smatrajo kot proste in GPL kompatibilne ter katere se smatrajo kot proste, GPL nekompatibilne. To je izjemno uporabno za odprtokodne razvijalce, ki morajo zagotavljati da se lahko kode različnih projektov legalno združujejo pod različnimi licencami.