Odprta koda: pomen, prednosti, primeri in več
Koliko veste o odprtokodni programski opremi in gibanju za njo? Berite naprej, ko raziskujemo eno glavnih sil, ki stojijo za internetom.

Odprtokodna programska oprema ali krajše OSS je izraz, ki opredeljuje računalniško programsko opremo, ki je na voljo skupaj z izvorno kodo. Takšen paket omogoča uporabnikom, da ga berejo, spreminjajo in ponovno distribuirajo, kot želijo.
Kultura OSS sega v zgodnje dni računalniškega programiranja. Programerji z veseljem delili svoje kode, kar je omogočilo učenje drug od drugega in razvoj njihovega nabora spretnosti.
Drug cilj dajanja programske kode na voljo je izboljšati jo, saj je vsakdo s pravimi veščinami dobrodošel, da jo spremeni in ponovno distribuira. To na koncu vodi do boljše programske opreme, ki je pogosto tudi poceni ali brezplačna.
Ta objava obravnava odprtokodno programsko opremo na splošno, vključno z zgodnjimi dnevi gibanja, njegovimi dosežki in vplivom na industrijo programskega inženiringa.
Internet, kot ga vsi poznamo, temelji predvsem na odprtokodni programski opremi. Torej, brez OSS bi imeli popolnoma drugačen splet.
Iz spletnih strežnikov, kot je Apache in Nginx v skriptna okolja, kot so PHP, JavaScript in Python. In celo zmogljivi strežniki baz podatkov, kot je MySQL, so plodovi odprtokodnega gibanja povsod po omrežju.
Brezplačna in odprtokodna programska oprema je malim igralcem omogočila uporabo zmogljivih orodij, ki so bila prej rezervirana za velike korporacije z globokimi žepi. To pa je pomagalo odpreti vrata še bolj razburljivemu razvoju.
Odprtokodna programska oprema je uporabnikom prav tako pomagala prihraniti približno 60 milijard dolarjev na leto to poročilo za leto 2008. Te zadovoljne stranke vključujejo vse, od posameznikov do majhnih podjetij, internetnih podjetij, vladnih agencij in celo finančnih institucij.
Zgodovina odprtokodne programske opreme
Odprtokodnemu gibanju lahko sledite vse do najzgodnejših dni računalniškega programiranja in hekerske kulture v sedemdesetih letih. Kot zgodnji kodirniki so svoja dela delili s kolegi hekerji iz razlogov, ki niso korporativni interesi.
Prvo večje gibanje pa se je začelo leta 1983, ko je Richard Stallman lansiral projekt GNU. Leta 1985 je ustanovil tudi Free Software Foundation, da bi podprl to naraščajoče gibanje. To gibanje za brezplačno programsko opremo je tvorilo hrbtenico za vse, od Linuxa do MySQL in večine drugih tehnologij, ki danes poganjajo splet.
Večina zasebnih programerjev ali hekerjev je bila takrat zadovoljna z ustvarjanjem in distribucijo brezplačne programske opreme vsem, ki jim je bilo mar. Prav tako so sovražili številne korporacije programske opreme in njihov pohlep. Torej je bilo ustvarjanje brezplačne različice katere koli pomembnejše lastniške programske opreme kul kramp.
Zaradi teh razlogov se je večina korporacij distancirala od na videz protikapitalističnega gibanja za brezplačno programsko opremo do februarja 1998. Takrat je Netscape izdal svoj takrat priljubljeni spletni brskalnik »Netscape Communicator« kot brezplačno programsko opremo, s čimer se je rodila mozilla.org in Firefox. Dva projekta, ki sta prav tako pomagala pri oblikovanju internetne zgodovine.
Številnim korporacijam ni bil všeč pristop Free Software Foundation in izraz »brezplačna programska oprema«. Mnogi od teh prodajalcev programske opreme so celo želeli izdati del svoje programske opreme kot brezplačne programe, druge pa ohraniti kot lastniške projekte, zato je morala obstajati alternativa.
Pobuda za odprto kodo
Bruce Perens in Eric S. Raymond, avtorja »Cathedral and the Bazaar«, sta leta 1998 prav tako ustanovila Open Source Initiative, ki ju je navdihnila Netscapeova izdaja kode brskalnika.
Ta pobuda zdaj vodi opensource.org spletno mesto in je bilo temeljnega pomena pri promociji izraza »odprtokodna programska oprema« ter uporabe tovrstnih programov.
Open Source Initiative velja za bolj politično korektno organizacijo. In tako je z leti privabil več projektov, razvijalcev in podpore podjetij. Te segajo od Linuxa do WordPressa, Wikimedia, Mozille in mnogih drugih velikih organizacij.
OSI uporablja 10-točkovno definicijo, da ugotovi, ali je kateri koli programski paket odprtokoden ali ne. In te točke so naslednje:
- Brezplačna redistribucija – Za prodajo ne bi smel zahtevati licenčnine.
- Source Code – Program mora vsebovati izvorno kodo.
- Izpeljana dela – Spremembe in njihova distribucija morajo biti dovoljeni
- Celovitost avtorjeve izvorne kode – Samoumevno
- Brez diskriminacije oseb ali skupin – Samoumevno
- Brez diskriminacije na področjih delovanja – Samoumevno
- Licenca ne sme biti specifična za izdelek – Samoumevno
- Licenca ne sme omejevati druge programske opreme – Samoumevno
- Licenca mora biti tehnološko nevtralna – Samoumevno
Odprtokodna proti prosti programski opremi
Odvisno od tega, koga vprašate, lahko dobite različne definicije odprtokodne programske opreme. Nekateri bodo rekli, da pomeni brezplačno programsko opremo, medtem ko se drugi osredotočajo na prednosti ali vrednost, ki izhaja iz odprtokodnega razvoja.
V sedanjem stanju imate lahko odprtokodno programsko opremo, ki ni brezplačna, saj ni potrebno plačilo. Pa tudi brezplačno programje, ki ni odprtokodno.
Gibanje za brezplačno programsko opremo FSF pa se osredotoča na svobodo uporabnika s programsko opremo. To se pogosto imenuje "svoboda kot svoboda govora", ne kot "brezplačno pivo". To naj bi vsakomur, ki ga zanima, omogočilo kopiranje, spreminjanje in distribucijo programske opreme.
Na splošno boste pogosto našli izraz »FOSS« (brezplačna in odprtokodna programska oprema). To deluje kot krovna definicija za programe, ki izpolnjujejo štiri svoboščine FSF, in to so:
- Svoboda izvajanja programa, kot želite in za kateri koli namen.
- Svoboda preučevanja delovanja in spreminjanja. To zahteva dostop do izvorne kode.
- Svoboda redistribucije programske opreme komur koli želite.
- Svoboda redistribucije vaše spremenjene različice drugim.
Prednosti odprtokodne programske opreme
Odprtokodni pristop ima svoje prednosti in slabosti. Vendar se je z leti izkazalo, da prvo prevlada nad drugim, kar je spodbudilo več ljudi, organizacij in vlad, da se pridružijo gibanju.
Tukaj je nekaj glavnih prednosti odprtokodne programske opreme:
- Več oči, ki preučujejo in spreminjajo kodo, vodijo do boljše kakovosti programske opreme
- Več preizkuševalcev najde in prijavi več napak
- Odprta koda ponuja odličen učni vir za nove programerje
- Boljša varnost na dolgi rok, saj se vsi pridružijo pri odpravljanju težav
- Aktivno vzdrževana odprtokodna programska oprema ima manj napak
- Omogoča kontinuiteto projektov tudi po upokojitvi izvirnega avtorja
- Odprta koda se bori proti monopolu in drugemu neetičnemu vedenju prodajalcev programske opreme
Slabosti odprtokodne programske opreme
Odprtokodna programska oprema ima tudi nekaj slabosti, kot so:
- Težko je dobiti podporo komercialne ravni
- Odprtokodnost lahko povzroči varnostne ranljivosti, saj hekerji preučujejo tudi kodo
- Težave z združljivostjo strojne opreme z nepodprtimi sistemi
- Manj pogosto vzdrževani paketi imajo pogosto napake in varnostne izzive
Odprtokodna proti lastniški programski opremi
- Nižji ali brez stroškov – Večina odprtokodnih programov je bodisi brezplačnih bodisi cenovno ugodnih. Tako si ga lahko privošči širši krog ljudi in podjetij.
- Svoboda – Odprtokodna programska oprema ponuja več možnosti prilagajanja, več možnosti za zasebnost in na splošno več svobode, da počnete, kar želite.
- Varnost – V lastniški programski opremi boste pogosto našli namerna zadnja vrata, ki pogosto povzročijo varnostne vrzeli. Odprtokodno programsko opremo je enostavno pregledati in odpraviti vse varnostne težave.
- Boljša učinkovitost – Odprtokodna programska oprema je na splošno zasnovana za svoje uporabnike in ne za dobiček, kot velja za lastniško programsko opremo. Zaradi tega je bolj učinkovit v smislu ustvarjene vrednosti.
- Začetek Small – Mnoga podjetja lahko začnejo mala podjetja z brezplačno odprtokodno programsko opremo. Nato lahko nadgradijo na različice za podjetja, ko bodo pripravljeni.
Pomembni odprtokodni projekti
Seznam odprtokodnih projektov je obsežen, vedno več jih je razvitih in izdanih. Tukaj pa je seznam nekaterih pomembnih.
- Linux – Najbolj priljubljen odprtokodni OS na svetu.
- LibreOffice – Paket za produktivnost, razcepljen iz OpenOffice. Vključuje preglednice, zapisovalnike in upravljanje podatkovnih baz.
- Mozilla Firefox – Priljubljen in varen spletni brskalnik, ki spoštuje vašo zasebnost.
- Android OS – Mobilni OS na osnovi Linuxa, ki je prevzel svet.
- Joomla in Drupal – Sistemi za upravljanje vsebin
- WordPress – Najbolj priljubljen CMS in platforma za bloganje
- PHP – Skriptni jezik na strani strežnika
- Apache HTTP Server – Najbolj priljubljen spletni strežnik na internetu
- Asterix – Odprtokodna PBX in VoIP platforma
- Lignji – Prilagodljivo predpomnjenje, DNS in spletna proxy platforma
- CloudStack in OpenStack – Platforme za ustvarjanje in upravljanje računalniških oblakov
Licence odprtokodne programske opreme
Številne organizacije so pripravile različne licence, ki utelešajo odprtokodno filozofijo. Večina projektov uporablja tudi te licence, namesto da bi pripravili povsem novo.
Več o teh licencah lahko preberete tukaj. Najbolj priljubljeni so:
- Splošna javna licenca GNU (GPL)
- MIT licenca
- Licenca Apache
- Licenca BSD
- Javna licenca Mozilla
Vladna posvojitev
Številne vlade in vladne agencije po vsem svetu so z leti sprejele odprtokodno programsko opremo v eni ali drugi obliki. Za nekatera, kot je bavarsko mesto München v Nemčiji, to pomeni prihranke v milijonih evrov. Medtem ko so za druge pomembnejši varnost, propaganda in kulturna integriteta.
Tukaj je seznam pomembnih posvojitev po vsem svetu:
- Kitajska – Ubuntu Kylin je soustvarjanje Canonicala in kitajske vlade, namenjeno kitajskim uporabnikom in njihovim oboroženim silam.
- Rusija – Astra Linux je razvit za zadovoljevanje potreb ruske vojske, vključno s funkcijami upravljanja podatkov »Top Secret«. Uporabljajo ga Gazprom, Ruske železnice ter v ruskih in kitajskih jedrskih elektrarnah.
- Nizozemska – Mreža za internetne raziskave in preiskave nizozemske policije upravlja 2,200 delovnih postaj Ubuntu in od leta 2013 uporablja samo FOSS.
- Romunija – Splošne knjižnice v državi delujejo na IOSSPL (integrirani odprtokodni sistem za javne knjižnice).
- Združene države Amerike – Bela hiša ZDA je leta 2009 svojo spletno stran preselila na strežnike Linux. Vzdržuje se tudi s pomočjo Drupala. Poleg tega politika iz leta 2016 določa 20-odstotno politiko odprtokodne programske opreme za vladne projekte.
- Francija – Nacionalne sile francoske žandarmerije so leta 2005 prešle na OpenOffice in nadaljevale svoje migracijske dejavnosti s svojim GendBuntu Linuxom, pri čemer so vplivale na druge vladne agencije.
- Nemčija – Mesto München je leta 15,000 začelo s pretvorbo 2013 strojev v LiMux, ki temelji na Debianu. Schwäbisch Hall je leta 400 prav tako preselil 2002 postaj, zvezni urad za zaposlovanje pa upravlja openSUSE Linux.
- Brazilija – Brazilske državne in zvezne agencije delujejo večinoma z odprtokodno programsko opremo.
- Italija – Italijanska vojska je leta 6,000 začela prehod več kot 2015 strojev na LibreOffice.
- Peru – Perujska vlada je leta 2005 glasovala za popolno sprejetje odprtokodne programske opreme.
zaključek
Jasno je videti, kako daleč sta prišla gibanja za brezplačno programsko opremo in odprto kodo in koliko sta obogatila naša življenja.
Kljub temu bi lahko bil to šele začetek. Ker je morda na poti še več motenj na trgu, ki jih tako ali drugače poganja brezplačna ali odprtokodna programska oprema.





