OK INFORMATIKA
poslovno informacijske rešitve
Haris Berbić s.p.
Seidlova cesta 62
8000 Novo mesto
tel.: +386-7-33 26 451
gsm.: +386-40-690 013
e-pošta:info(a)okinformatika.si
| Odprta koda - priložnost ali nevarnost |
| Nedelja, 31 Avgust 2008 14:58 |
|
Odprta koda in predvsem najbolj odmeven predstavnik brezplačne programske opreme, Linux, sta že nekaj let predmet debat o tem, ali oprta koda lahko najde svoje mesto v podjetjih. Odprta koda ali Open Source je programska oprema, za katero je na voljo izvorna programska koda. Tovrstno programsko opremo lahko vsakdo razpečuje, dopolnjuje ali spreminja njeno kodo. Vsak avtor računalniškega programa ima samodejno avtorske pravice nad programom in ima možnost omejiti pravice kopiranja, uporabe ali spreminjanja svojega programa. Uporabnik pridobi pravico do uporabe programa v skladu z dovoljenji avtorja. Licenca točno določa, kaj uporabnik lahko počne s programsko opremo, kakšne pogoje mora izpolnjevati in kakšne so njegove pravice. Glavni pogoj je seveda plačilo kupnine za programsko opremo. Odprta koda uporablja precej drugačen pristop, saj je programska oprema na voljo brezplačno, licenca, ki ureja pravice uporabnika, pa dovoljuje tudi spreminjanje programske kode. To dovoljuje vsem, da dodajo drugo funkcionalnost, popravijo napake v kodi ali naredijo program bolj učinkovit. Vsakdo lahko torej popravlja in spreminja programsko kodo in pravzaprav veliko ljudi to tudi počne. Število ljudi, ki prispevajo k rešitvi, se tako zelo poveča. Dovoljeno je tudi prodajati spremenjeno programsko opremo, ne da bi s prvim avtorjem delili dobiček. Prav tu je tudi ena od nevarnosti za programerska podjetja, saj licenca ponavadi jasno zahteva, da je v primeru uporabe odprte kode treba tudi lastno rešitev, ki temelji na tej odprti kodi, ponuditi skupaj z izvorno kodo. Marsikateri ponudnik programske opreme se, razumljivo, težko sprijazni s tem. Licence, pod katerimi je na voljo odprta koda, se precej razlikujejo. Med najbolj uporabljanimi so: BSD, GPL, LGPL in MPL. BSD licenca je zelo preprosta, saj dovoljuje uporabo programske opreme, distribucijo izdelka in izvorne kode. Dovoljeno je spreminjanje in vključevanje v drugo programsko opremo brez omejitev. Edina zahteva je, da se navede imena vseh avtorjev v izvorni kodi in dokumentaciji programa. Imen avtorjev ni dovoljeno uporabljati za promocijo izdelka brez predhodnega pisnega dovoljenja. GPL (GNU General Public Licence) je najbolj znana licenca, ki omogoča uporabo, kopiranje in distribucijo programske opreme. Dovoljena sta tudi spreminjanje programske opreme ali uporaba programske kode. Vendar je distribucija programske opreme, ki temelji na programski opremi, licencirani po GPL, dovoljena le pod licenco GPL. To pa pomeni, da tovrstne programske opreme ni mogoče prodajati in ni mogoče omejevati njene uporabe. Sprememb ali dodatkov k programski opremi pa ni treba javno objaviti. Spremembe, ki si jih neko podjetje naredi zase, lahko ostanejo skrivnost. Obveza do objavljanja modifikacij in dodatkov nastane takrat, ko se oseba, ki je spremenila programsko opremo, odloči, da jo bo razpečevala. LGPL (Library General Public License) je variacija GPL licence in je namenjena programskim knjižnicam (na primer DLL), torej programom s funkcijami, ki jih je mogoče izkoristiti v drugih programih. Uporaba tovrstnih programskih knjižnic v nobenem smislu ne omejuje programa, ki jih uporablja. Gre torej lahko za komercialni izdelek in podobno. Spremembe knjižnice pa so lahko distribuirane le v skladu z licenco LGPL, ki je v tem pogledu enaka licenci GPL, kar pomeni, da morajo biti razpečevane z izvorno kodo in brez omejitev uporabe. MPL (Mozilla Public Licence) je licenca, ki dovoljuje brezplačno uporabo in distribucijo programske opreme. Vsakdo, ki razpečuje spremembe ali dodatke k izdelku, mora dovoliti enake pravice za njegov kos programske opreme in kombinacijo izvirnega dela in njegove rešitve. Pogoj za distribucijo je tudi, da je izvorna koda na voljo, kar pomeni, da je lahko vključena v distribucijo, lahko pa je na voljo na kakšni spletni strani. Dovoljeno je tudi vključevati MPL licencirano programsko kodo v lastne izdelke, a mora biti za ta del na voljo izvorna koda. Prednosti odprte kode Najbolj očitni prednosti sta na prvi pogled seveda nižji strošek nabave in brezplačna narava programske opreme. Krajši je običajno tudi čas razvoja. Uporabniki odprtokodne rešitve niso odvisni od enega razvijalca ali ponudnika. Najbolj pomembna pa je pravica do spreminjanja in popravljanja izvorne kode. To omogoča neomejeno spreminjanje in prilagajanje programske opreme. Programsko opremo je mogoče »prevesti« za uporabo na drugi strojni opremi. Odpravljanje hroščev je precej olajšano, programska oprema pa ima daljšo pričakovano življenjsko dobo. Z uporabo odprte kode se izognemo enemu samemu ponudniku, od katerega je odvisna prihodnost programske opreme. Kupec je namreč odvisen od ponudnika v smislu podpore in razvoja nadgradenj. V kolikor ponudnik zapre vrata podjetja ali ustavi razvoj določenega izdelka, nima nihče pravice nadaljevati dela na tem izdelku. Podobne težave lahko nastanejo, če ponudnik opusti razvoj rešitve za določeno strojno opremo. Tu je še problem črne škatlice, kjer pri licenčni programski opremi nikoli zanesljivo ne vemo, kaj program v resnici počne. Ponudniki velikokrat zaradi tržnih zakonitosti in zahtev pohitijo z izdajo programske opreme, kar pomeni veliko hroščev, ki bi se jim ob nekoliko bolj umirjenem pristopu lahko izognili. Nevarnosti oprte kode Na žalost je tako, da določene stvari, ki so prednosti, obenem lahko naštejemo tudi kot slabosti. Poudariti pa je treba, da je veliko teh odvisnih od primera do primera. Med te sodijo podpora in nadaljnji razvoj (če ga ne želimo izvajati sami). Oprto kodne rešitve so na voljo brez kakršnih koli garancij. Na voljo ni organizirane podpore, zato ta temelji na prostovoljnem delu. Pri uvajanju nove programske opreme v podjetje moramo računati tudi s stroški uvajanja ter s stroški, ki jih povzročijo začetne težave ali napake pri uporabi rešitve. Če predpostavimo, da komercialne ali licenčne rešitve sledijo določenemu standardu uporabniškega vmesnika, in da odprto-kodne rešitve uporabljajo drugačen vmesnik, je za pričakovati, da je čas uvajanja pri prehodu s komercialne rešitve na odprto kodo nekoliko daljši. Če gre za izdelek, ki sledi splošnim trendom v uporabniškem vmesniku ali ima minimalni uporabniški vmesnik, teh težav ni. Kaj torej narediti? Kot tudi na drugih področjih v življenju je tudi pri uvajanju odprte kode treba vedeti, da nič ni črno-belo. Najlažji in edini pravilni odgovor na vprašanje, ali uporabljati odprto kodo, je: odvisno od primera. Pomembno je, da o tej možnosti razmislimo, pretehtamo nevarnosti in prednosti v luči zahtev in posebnosti posameznega primera in se na osnovi tega odločimo. Preveriti je treba, kako velika skupina ljudi se ukvarja z določeno odprtokodno rešitvijo, kako hitro prihajajo popravki, koliko ljudi zna odgovoriti na vprašanje v zvezi z rešitvijo, kako hitro se odzovejo, ali imamo na voljo ljudi, ki bi zmogli popraviti programsko kodo ... Vodilo nikakor ne smejo biti izključno nabavni stroški programske opreme. Trenutno v slovenskih podjetjih odprtokodne rešitve najdemo predvsem na strežniški strani, medtem, ko na strani namiznih in osebnih računalnikov močno prevladuje komercialna programska oprema. Podoben je trend tudi v tujini. Če bi posplošili, bi lahko dejali, da se odprta koda širi predvsem pri strokovnjakih, ki vedo, kaj potrebujejo in kako popraviti kodo, če je to potrebno. |