Odprtokodna programska oprema
Iz Wikipedije, proste enciklopedije
| Da bo članek zadostoval merilom kakovosti, ga bo treba urediti. O tem se lahko pogovorite na pogovorni strani članka in/ali zamenjate oznako z določnejšo. Pomagajte si tudi s Slogovnim in Pravopisnim priročnikom, pri prvih korakih tudi z Uvodom in Vadnico. |
Open Source Definition (kratica: OSD) je smernica za vrednotenje programskih licenc.
Vsebina |
[uredi] Definicija odprto kodne programske opreme
Odprto kodna programska oprema je programska oprema pri kateri lahko dostopamo do kode, v to kodo lahko vsakdo posega v njo in jo razpečuje. Veljati pa morajo tudi naslednji pogoji:
- Svobodna re-distribucija. Licenca ne sme omejevati prosto prodajo programske opreme kot komponente združenih programskih paketov. Za programsko opremo tudi ne sme zahtevati nikakršne vrste plačila.
- Izvorna koda. Program mora vsebovati izvorno kodo ali pa mora bit prosto dostopna. Prav tako ni dovoljeno zakrivanje kode ali kakršnokoli oteževanje dostopa do nje
- Izpeljana dela. Licenca more dovoljevati modifikacije in izdelavo izpeljanih dela iz te programske opreme prav tako mora dovoljevati distribucijo teh del pod istimi licenčnimi pogoji kot original.
- Integriteta avtorja izvorne kode. Licenca lahko omejuje, da morajo biti izpeljani izdelki distribuirani pod drugačnim imenom.
- Prepoved diskriminacije med osebami in skupinami. Licenca ne sme diskriminirati nobene osebe ali skupino oseb.
- Prepoved diskriminacije posameznih področij dejavnosti. Licenca ne sme nikogar omejevati pri uporabi programa na posameznem prodročju dejavnosti.
- Distribucija Licence. Licenčne pravice se nanašajo na vsakogar, ki prejme program brez kakršnih koli postopkov.
- Licenca ne sme bit specifična za produkt. Pravice, vezane na program, ne smejo biti odvisne od tega, ali je program del določene programske distribucije.
- Licenca ne sme omejevati druge programske opreme. Licenca ne sme imeti omejitev nad programsko opremo, ki je distribuirana skupaj z licencirano programsko opremo
- Licenca more bit nevtralna do tehnologije
[uredi] Prednosti
Obstaja kar nekaj prednosti odprte programske opreme pred komercialno najbolj pomembna pa je možnost spreminjanje in popravljanje kode. To omogoča neomejeno spreminjanje, popravljanje programske opreme. Prva prednost tega je ,da se izognemo slabosti enega samega razvijalca oz. ponudnika, ker lahko izvorno kodo spreminja vsak, kar pomeni da ni omejitve pri podpori programske opreme kot pri komercialni programski opremi. Saj, ko se podjetje odloči prenehat nudit podporo programski opremi ta več nima podpore zaradi licence nad programsko opremo. Druga prednost spreminjanje in popravljanje kode pa je fleksibilnost oz svoboda programske opreme, saj lahko vsakdo spremeni funkcionalnost, obliko programske opreme.
Ostale prednosti:
- ni stroškov nabave programske opreme oz. so zelo majhni
- nižja ranljivost na viruse, manjša varnostnih lukenj posledično manj napadov na programsko opremo
[uredi] Slabosti
- Največja slabost odprto kodne programske opreme so nedokončani izdelki ,saj veliko programske opreme ne doseže končnega izdelka ampak ostane v tako imenovani i beta fazi razvoja.
- v večini primerov je problem neprijazen uporabniški vmesnik, kateri otežijo delo z programom predvsem uporabnikom, ki se ne spoznajo na računalništvo.
- kompatibilnost programa z operacijskim sistemom.
- podpora je lahko tako kot prednost tudi slabost pri odrti kodnem programju, saj ni zagotovljena od nikogar oz. je lahko slabo izvedena.
- težak začetek projekta, saj more biti zadostno število za interisiran-ih in motiviranih razvijalcev, da dokončajo projekt.
[uredi] Zgodovina in razvoj
Open Source Definition izvira od Brucea Perensa, nekdanjega vzdrževalca Debian GNU/Linuxa. Leta 1997 je po elektronski pošti odprl razpravo z ostalimi sorazvijalci. Med drugim je zapisal tudi to: da bo Debian bo ostal 100 odstotno prost program, da bodo skupnosti poročali o novitetah in da ne bodo prikrivali napak. V duhu tega besedila in Debian Free Software Guidelines (DFSG) je nastal OSD, ki pa ni licenca ampak standard, na katerem slonijo licence.
[uredi] Uporaba in avtorske pravice pri odprto-kodni programski opremi
Pogoji uporabe in distribucije posameznih delov odprte programske kode ali programskih produktov kot celote so določeni v okviru ene od licenčnih pogodb, ki jih določa združenje OSI (Open Source Initiative) oziroma v okviru pravic in načel, ki jih uveljavlja združenje FSF (Free Software Foundation) . Večina odprto kodnih licenc omogoča trajno last razvite programske rešitve. V teh primerih ni nujno slediti zahtevam po, včasih neželenih, nadgradnjah informacijskih sistemov pod pritiski lastnikov licenčnih pravic. 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.
[uredi] Razvoj odprto kodne programske opreme v komercialnih hišah ter odprtih skupnostih
3.1 Komercialna hiša Housing Co d.o.o Housing je slovensko svetovalno in izobraževalno podjetje na področju informatike, ki se je ustanovilo leta 1992 takrat kot računalniško podjetje. Leta 1995 pa so se preusmerili na področje izobraževalnih storitev, in s katerimi so z leti razvili različne študije, ki jih sedaj tudi na veliko izvajajo. Ponudba Ponujajo izobraževanje za različne vrste izobrazb · IT Managerje · Informatike · Navadne Uporabnike Uporabnikom predstavljajo možnosti z orodji OpenOffice (kot so Calc, Writer ter Mail), Microsoftovim Office-m, ter uporabo računalnikov z deset prstnim tipkanjem. Cene posameznih storitev za uporabnike so v večini med 100 do 200 €. Za informatike je nabor izobraževalnih vsebin večji, sem spadajo izobraževanje Flash tehnologij, Operacijskega sistema Red Hat Linux, Microsoftovih programov(SQL 2000, Exchance Server 2003), odprto kodnega razvojnega orodja Java , ter delo z bazami. Za IT managerje pa ponujajo različna izobraževanja na področju povezovanja ekonomskih kadrov z programsko opremo kot je COBIT(Control of Objectives of IT and Related Technology). Ponujajo tudi možnost najema učilnic, nakup knjig ter programske opreme. Način izobraževanja. Izobraževanje poteka tako da na začetku preverijo udeleženčevo predznanje, s tem nato tudi po potrebi prilagodijo sam tečaj. Na začetku udeležence seznanijo z urniki ter načinom dela, predstavijo podjetje, predavatelja in asistente s katerimi se bodo udeleženci srečevali. Tečaji so strokovno zasnovani to pomeni da je vsebina snovi med seboj usklajena. Podjetje se ponaša s tem da imajo odlične predavatelje z primernimi izobrazbami in dolgoletnimi izkušnjami, sodobno opremljene računalniške učilnice ter kakovostno gradivo katero pomaga udeležencem med in po izvajanju določenega tečaja. Njihovo temeljno vodilo: Da bi uspešno dosegali zastavljene cilje, izboljševali kakovost poslovanj, ter obveščali kupce o kakovosti njihovih storitev. Željo imajo postati vodilno podjetje o nudenju znanja z smeri informatike v Sloveniji.
3.2 Odprte skupnosti: Odprto kodno skupnost predstavlja večja skupina ljudi, ki izdeluje programje pod standardi ki jih nalagajo določene licence. V teh skupnostih se programerji z različnih delov sveta učijo na že obstoječih aplikacijah. Na internetu so tri bolj obširne takšne skupnosti · FSF/ UNESCO Free Software Directory · Freshmeat · SourceForge Ta 1. ima označeno 5364 paketov programske opreme in večina programske opreme je pod GPL licenco. Ta druga skupnost ima 209.192 programov pri tem odprtih še 42.967 novih projektov ter prijavljenih 384.717 uporabnikov. Ta tretja je po številu uporabnikov največja saj jih je prijavljenih kar 1.596.878, ter imajo registriranih 149,391 novih projektov s tem da imajo že 197.361 programov.
4. OSMM (Open Source Maturity Model) je glavno orodje za načrtovanje odprto-kodnega uspeha (Open Source Maturity Model je vitalno orodje s katerim planiramo uspešnost uporabe neke odprto-kodne programske opreme v organizaciji)
4.1 Uvod Namen modela OSMM je, da organizacijam v večji meri omogoči uporabo odprto-kodne programske opreme. Glede na potrebe model na lahki način najde najprimernejši produkt za organizacijo. OSMM je nezahteven proces, narejen, da olajša izbiro in ovrednotenje odprto-kodne programske opreme. 4.2 Opis Izziv organizacij, je iz brati najbolj primeren produkt, glede na rabo. Način izbire pa se pri odprto-kodnem in komercialnem produktu močno razlikujeta. Glavno pri izbiri komercialnega paketa programske opreme je izbira produkta, ki je najbolj kompleten. Imeti mora dobre funkcionalnosti, podprte posodobitve, možnost izobraževanja osebja… itd. Odgovornost izbire temelji predvsem na prodajalcu produkta. Seveda pa imajo organizacije možnost izbire med ponudniki glede na: pravo mero popusta, dobro postavljenih pogodb, dogovora o ravni storitev (SLA – service level agreement) in zavezanosti podpore do uporabnika in podobno. Pri izbiri odprto-kodne programske opreme je drugače. Ker je produkt brezplačen, pri izbiri preskočimo iskanje glede na ceno. Negativna lastnost pa je, da je za izbiro izdelka odgovorna uporabniška organizacija sama. Ker je svet odprto-kodnega programja nepovezan, je tudi za celovitost izdelka odgovoren uporabnik sam. Glavni izziv pri izbiri takšnih aplikacij je poiskati takšne, ki bodo v celoti zadostovale potrebam organizacije. Ključne lastnosti po katerih OSMM meri PO (programske opreme) za primernost posamične organizacije:
· Funkcionalnost programske opreme · Podporo · Dokumentacijo · Učenje in izobraževanje · Integracijo produkta (za kakšno delo bomo uporabljali določen produkt) · Profesionalno podporo
Ob zaključku nam OSMM model vrne oceno od 0 do 100. To oceno potem uporabimo za primerjavo z priporočljivimi ocenami za različne namene uporabe. Ker so potrebe od organizacij do organizacij različne, zato izberemo tako, da najbolj ustreza naši organizaciji. Različno ocenimo na primer, če osebje v organizaciji ni dobro seznanjeno z računalniki, oziroma ali je dobro seznanjeno z delom v informacijskih tehnologijah.
Opis treh faz v procesu modela OSMM
Faza 1, ocenitev elementov/sredstev programske opreme V prvi fazi modela OSMM, organizacije ovrednotijo vse prvine programske opreme. To naredimo z 4-stopenjskim procesom: razlaga potreb organizacije, iskanje rešitev potreb (iskanje sredstev), ovrednotenje primernosti prvine, dodelitev točk (ocene) prvini programske opreme. Glede na potrebe posamezne organizacije, se razpoložljiva sredstva PO ocenijo po primernosti z točkami od 1 do 10. Ta postopek se naredi za vse funkcionalnosti, ki jih posamezna organizacija potrebuje.
Faza 2, ovrednotenje pomembnosti posameznih lastnosti PO Vsaka funkcionalnost ali prvina, ki jo podpira določena programska oprema ni enako pomembna. Tako na primer dokumentacija PO ni tako pomembna, kot sta pomembni bistvenost in zelo dobra podpora. V drugi fazi modela zato izluščimo, kaj je za posamezno organizacijo ključno. Po tem načelu potem dodelimo točke za lastnosti PO, ki so pomembnejše ali manj za nas. Tako ugotovimo primernost celotne PO za našo organizacijo. Merila, po katerih se pri dodeljevanju točk zgledujemo, so podana vendar si jih vsaka organizacija lahko priredi po svojih specifičnih zahtevah.
Faza 3, izračun točk primernosti celotnega produkta V zadnji fazi izračunamo točke primernosti celotne PO naše organizacije. Te nato primerjamo z minimalnimi priporočljivimi. Če PO nima primernih ocen, da bi bil za uporabo, ni nujno da se testa držimo. Test je le orodje s katerim si pomagamo ugotoviti ali bo odprto-kodna PO služila svojemu namenu ali ne.
[uredi] Odprta koda v Sloveniji
Ministrstvo za visoko šolstvo, znanost in tehnologijo je 2007 prvič objavilo razpis za izbor izvajalca za razvojno-podporni center odprte kode (COKS- Center Odprte Kode Slovenije). Na razpisu je zmagal konzorcij, ki ga sestavljajo gospodarske družbe in neprofitne organizacije, pod vodstvom podjetja Agenda d.o.o. Center odprte kode se pojavlja prvič v takšni obliki v Sloveniji in bo uporabnikom nudil storitve pomoči in podpore ter bo zagotavljal rešitve za potrebe javnega in zasebnega sektorja. Vse storitve, ki jih izvaja COKS, izvajajo organizacije ustanoviteljice konzorcija, oziroma njihovi zaposleni ali pogodbeni sodelavci.
Glavni cilj ustanovitve centra je vzpodbuditi razvoj, širjenje in uporabo programske opreme in rešitev temelječih na odprti kodi. Zaradi tega so v okviru ustanovitve COKS-a zagotovili sistemsko podporo, klicni center in razvoj aktualnih odprtokodnih rešitev. Med glavne naloge centra sodijo nudenje pomoči in svetovanje uporabnikom pri rešitvah, temelječih na odprti kodi, ter svetovanje javnemu sektorju pri uvajanju, implementaciji in uporabi odprtokodnih rešitev.
Center nastopa tudi v vlogi nacionalnega koordinatorja na področju strategij odprte kode ter vzpodbujevalca sodelovanja med različnimi neprofitnimi organizacijami, gospodarskimi subjekti ter posamezniki. Vizija centra je oblikovati nacionalne strategije pri razvoju, uporabi in širjenju odprte kode, istočasno pa bo center združeval uporabnike v javnem in zasebnem sektorju, odprtokodno skupnost in razvijalce ter nacionalne in evropske pobude na področju odprte kode.
[uredi] Viri:
http://www.housing.si/ http://freshmeat.net http://sourceforge.net http://directory.fsf.org/ http://open-source.gbdirect.co.uk/migration/benefit.html#reliability http://www.opensource.org/docs/definition.php http://www.camtp.uni-mb.si/opensource/Slovenia/Politika_OSS_Koncna.pdf http://www.navicasoft.com/pages/osmm.htm
[uredi] Literatura
- Volker Grassmuck: Freie Software. Zwischen Privat- und Gemeineigentum. Bundeszentrale für politische Bildung, Bonn 2002, ISBN 3-89331-432-6 (Online-Version)
[uredi] Glej tudi
[uredi] Zunanje povezave
- Odprta koda
- Angleška originalna verzija Open Source Definition
- Bruce Perens: Rationale for the Open Source Definition
- Nemški prevod Open Source Definition
- 'Center odprte kode Slovenjije'

