17.04.2024
Projekt podpira MVZT

Angleška stran/English version

Iz o COKS - Center odprte kode Slovenije

(Primerjava redakcij)
Skoči na: navigacija, iskanje

Aarh (Talk | prispevki)
(New page: ==Prednosti odprte kode== V tem dokumentu so opisane nekatere prednosti odprte kode, ki izhajajo iz možnosti vpogleda v kodo in njenega spreminjanja. Takih možnosti pa ni v zaprti kodi,...)
Novejše urejanje →

Redakcija: 12:12, 24. oktober 2007

Prednosti odprte kode

V tem dokumentu so opisane nekatere prednosti odprte kode, ki izhajajo iz možnosti vpogleda v kodo in njenega spreminjanja. Takih možnosti pa ni v zaprti kodi, 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 odprto in zaprto kodo je ta, da mora pri odprti kodi vedno biti poleg še izvorna koda, na razpolago vsem. Pri zaprti kodi 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 odprta koda pred zaprto do š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 (zaprta koda) 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 odprta koda manj varna od zaprte.

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 zaprte 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 zaprti kodi 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: https://blog.washingtonpost.com/securityfix/2006/02/2005_patch_times_for_firefox_a.html https://www.linux-watch.com/news/NS7350372195.html

  • Prilagoditve

Zaprtokodne 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 zaprtih 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, zaprtokodni program, ki uporablja odprti PDF format.