17.01.2019
Projekt podpira MVZT

Angleška stran/English version

Iz o COKS - Center odprte kode Slovenije

Skoči na: navigacija, iskanje

Vsebina

Prednosti odprte kode

V tem dokumentu so opisane nekatere prednosti OKPO, ki izhajajo iz možnosti vpogleda v kodo in njenega spreminjanja. Takih možnosti pa ni v LPO, v njo imajo vpogled le zaposleni v podjetjih, katera so lastniki te kode.

Kaj je izvorna koda?

Programske aplikacije so narejene iz izvorne kode. Izvorna koda so številne vrstice ukazov, ki jih pišejo programerji in jih nato interpretirajo računalniki. Ti ukazi povejo računalniku kaj mora narediti in kako to narediti. Napisani so lahko v številnih programskih jezikih, ki obstajajo danes.

Ena glavnih razlik med OKPO in LPO je ta, da mora pri odprti kodi vedno biti poleg še izvorna koda, na razpolago vsem. Pri LPO načeloma ni mogoče videti ali urejati izvorne kode.

Če znate programirati v jeziku, v katerem je izvorna koda, je to zelo v redu, z dovolj časa na razpolago, lahko prilagodite program tako, da se bo obnašal natančno tako kot si želite. In vendar zakaj uporabljati odprto kodo, če nimate dovolj tehničnega znanja za urejanje? Za domačega uporabnika, ki želi le izvesti določeno nalogo, bo odgovor drugačen, kot za tistega, ki gleda na programje skozi oči določene organizacije.

Naslednji odstavek govori o tem, kakšno korist imajo od dostopnosti izvorne kode institucije, programerji in do neke mere tudi povprečni domači uporabniki.

Zakaj je odprta koda koristna?

Prednosti ki jih ponuja OKPO pred LPO so številne:

Razhroščevanje

Vsaka programska izdaja vsebuje hrošče. Razvijalci se trudijo poiskati in se spopasti z vsako očitno napako, vendar nobena razvojna ekipa nima neomejeno časa za testiranje pred izdajo.

Ko je pri lastniških programih opažen hrošč, lahko le zaposleni na tem podjetju to popravijo, saj imajo le oni dostop do kode. Pri odprti kodi je drugače. Zaradi številnih uporabnikov, ki imajo dostop do izvorne kode, so hrošči bolj opaženi in se hitreje odpravljajo.

Varnost

Dostop do izvorne kode pomeni lažjo možnost poiskati varnostne luknje v programju, tako če jih bi radi popravili ali zlorabili. S predpostavko, da večina uporabnikov ne išče varnostnih lukenj preden za to nimajo zelo stresnega razloga za to, bi lahko rekli, da je OKPO manj varna od LPO.

Vendar v praksi je potrebno mnogo več znanja in časa odkritje varnostne luknje, ugotoviti kako jo zlorabiti in nato povzročiti napad, kot pa za popravljanje teh lukenj. Če primerjamo število programerjev, ki imajo dostop do izvorne kode pri odprti kodi s malim številom tistih ki jim je dovoljen dostop do lastniške izvorne kode, ne bi smelo biti presenetljivo, de so popravki pri odprti kodi izdani hitreje, še preden lahko nastane resna škoda. Popravljanje varnostnih lukenj pri LPO pa je pogosto odvisen od trenutne prioritete programerske ekipe, ki je program razvila.

Primerjava časa v katerem so bili narejeni popravki za Microsoft Internet Explorer na eni ter odprtokodnem Firefoxom na drugi strani ter primerjava med Red Hat Enterprise Linuxom in Microsoftovim Windows operacijskim sistemom bodo to potrdili:

Prilagoditve

Lastniške aplikacije lahko prilagaja le njihov izdajatelj. Odprtokodne aplikacije lahko prilagajajo vsi, ki imajo dovolj znanja za to. Torej je odprtokodne programe lažje prilagoditi specifičnim potrebam uporabnikov. Četudi niste programer, lahko enostavno pošljete funkcionalni zahtevek na spletno stran odprtokodnega projekta. Če pa nujno potrebujete nek funkcionalen dodatek, lahko v splošnem za to najamete programerja z ustreznim znanjem, ki to naredi za vas.

Za podjetja in izobraževalne ustanove nudi prilagoditev programov možnosti izboljšanja njihove poslovne prakse, posledično poveča produktivnost in učinkovitost, ter tako tudi potencialno konkurenčno prednost.

dober primer je The Open University, ki je v letu 2005 sprejela odločitev, da bodo investirali določen denar v Moodle sistem E-učenja, tako da bo le ta kar najbolje služil njihovim potrebam. Ker je Moodle odprtokodni program, lahko sami spreminjajo program in jim za to ni potrebno prepričati komercialnega izdajatelja programa, da bi to naredil zaradi njih.

Prevodi

Z dostopom do izvorne kode je prevajanje uporabniške maske nadvse enostavno. Veliki komercialni izdajatelji programja pogosto nimajo interesa prevajati njihovih produktov v manj razširjene jezike, kot je Slovenščina, ker je njihov trg premajhen, da bi jim zagotovil želen profit.

En tak primer je na primer južna Tirolska, kjer so uspešno razvili Ladinsko inačico OpenOffica za jezikovno skupino, ki šteje vse skupaj le 30.000 ljudi. To je premajhno število, da bi upravičilo komercialni vložek, vendar je hkrati pomembno z vidika kulture, za ohranitev jezika.

Izogibanje priklenitvi

Organizacije pravijo da so priklenjene na določeno programje, kadar so stroški zamenjave programja z alternativnim previsoki

Komercialno programerske hiše „priklenejo“ uporabnike nase enostavno da zagotovijo nekompatibilnost z potencialnimi tekmeci. Kasneje lahko dvignejo cene nadgradenj in podpore brez velikega rizika da bi izgubili stranke.

Ker ni motiva pri za uporabo nestandardnih formatov, ki bi preprečevali kompatibilnost, se v odprti kodni uporabljajo predvsem odprti standardi in je tako nevarnost priklenitve manjša. Če tudi se uporabijo nestandardni formati v odprti kodi, je vedno mogoče preveriti izvorno kodo. Nasprotno pa je pri lastniških formatih komercialnega programja proces reverse engineringa izredno zamuden in drag.

Potrebno je priznati, da se tudi z odprtokodnim programjem ne moremo izogniti stroškom. Vsaka zamenjava programja prinese tudi stroške administracije in izobraževanja. Tudi komercialni ponudniki programja uporabljajo odprte formate, kot na primer Adobe Acrobat Reader, lastniški program, ki uporablja odprti PDF format.

Nevarnost propada izdajatelja programja ali opustitev produkta

Komercialni ponudniki programja propadejo ali se prodajo vsake toliko časa. Ko se to zgodi, ni več zagotovila, da bo njihov produkt še kasneje na voljo, da boste deležni podpore in nadgradenj. To potem prisili uporabnike da menjajo produkt, kar pa zna biti drago in težavno, še posebej če so ti bili „priklenjeni“ na tako programsko opremo.

Tudi pri uspešnih podjetjih nove izdaje pogosto pomenijo opustitev starih programov in formatov.

Pri odprti kodi je ta nevarnost izredno zmanjšana. Ker izvorna koda ni v zasebni lasti, kot pri LPO, lahko njen razvoj vzame pod okrilje kdorkoli je pač zainteresiran za njen obstoj. Razen če ste član organizacije z velikim obsegom tehničnih virov, si verjetno ne želite prevzeti polne odgovornosti za kaj takega, vendar zaradi samega načina kako se okrog odprtokodnih projektov gradijo skupnosti, boste našli še druge zainteresirane, s katerimi boste lahko delili tako odgovornost.

Učenje na primerih

Če ste zainteresirani za programiranje, je odprta koda odličen vir učenja, odprtokodni projekti nudijo praktično okolje za testiranje vaših sposobnosti. Že samo opazovanje razvojnega procesa lahko prinese določeno znanje. Če boste objavili svojo kodo na odprtokodnem projektu, jo bodo z veseljem pregledali in komentirali izkušeni programerji. Ko boste prepričali odprtokodno skupnost, da je vaša koda kakovostna. boste sami pobrali zasluge za to.

Marsikateri programer vam zna povedati, da se je preko odprte kode naučil dosti več, kot s katerokoli obliko formalne izobrazbe.

Biti del skupnosti

z posvojitvijo odprte kode postanete del skupnosti uporabnikov in razvijalcev, ki imajo interes delati skupaj, podpirati drug drugega in izboljševati programe. Koliko časa boste namenili skupnosti, je odvisno od vas, sigurno pa bo vaša dobra volja povrnjena.

Še posebej programerji lahko imajo dosti koristi od pripadnosti katerikoli od odprtokodnih skupnosti. To je dober način, kako si zagotoviti slavo in spoštovanje in hkrati nabrati pomembne izkušnje.

Je odprta koda uporabna za vas?

Da vse skupaj povzamemo, različni ljudje imajo različne koristi od odprte kode.

Odprtost [OKPO] je za povprečnega uporabnika najmanj pomembna. Tak uporabnik se nima želje učiti o odprti kodi ali jo urejati. Tak uporabnik bo pa kljub temu imel koristi od hitrega posodabljanja in razhroščevanja, ter verjetno tudi večje varnosti.

Organizacije, ki se odločijo za odprto kodo, jo lahko prilagodijo svojim potrebam, povečajo učinkovitost in izboljšajo svojo poslovno prakso, bodisi z razvojem znotraj podjetja, bodisi preko zunanjih izvajalcev. Hkrati se tako branijo pred priklenitvijo in možno zastarelostjo programske opreme, ki jo uporabljajo.

In na zadnje, vlade in mednarodne institucije lahko zagotovijo večjo dostopnost kot z LPO, saj ne bodo prepuščene milosti komercialnim zahtevam tradicionalnih ponudnikov programske opreme. Nadaljnje branje: