UNIVERZITA KOMENSKÉHO V BRATISLAVE
FAKULTA MANAGEMENTU
VYUŽITEĽNOSŤ OPEN SOURCE SOFTVÉRU
V PODNIKANÍ NA SLOVENSKU
2010
Bc. Tomáš Palkovič
UNIVERZITA KOMENSKÉHO V BRATISLAVE
FAKULTA MANAGEMENTU
VYUŽITEĽNOSŤ OPEN SOURCE SOFTVÉRU
V PODNIKANÍ NA SLOVENSKU
DIPLOMOVÁ PRÁCA
Bc. Tomáš Palkovič
Bratislava 2010
Študijný program :
manažment
Študijný odbor:
3.3.15 manažment
Školiace pracovisko: Katedra informačných systémov
Školiteľ:
Ing. Jaroslav Vojtechovský
Univerzita Komenského v Bratislave
Fakulta managementu
ZADANIE
Meno a priezvisko študenta:
Tomáš Palkovič
Študijný program:
manažment
Študijný odbor:
3.3.15 manažment
Typ záverečnej práce:
diplomová práca
Jazyk záverečnej práce:
slovenský jazyk
Sekundárny jazyk:
Názov:
Využiteľnosť open source softvéru v podnikaní na Slovensku
Cieľ práce:
Preskúmať oblasť využiteľnosti open source softvéru
v podnikaní na Slovensku
Vedúci:
doc. RNDr. Michal Greguš, PhD.
Školiteľ:
Ing. Jaroslav Vojtechovský
Katedra:
Katedra informačných systémov
Vedúci katedry:
doc. RNDr. Michal Greguš, PhD.
Spôsob sprístupnenia elektronickej verzie práce: Práca prístupná bez obmedzenia
Dátum schválenia: 30. október, 2008
........................................
vedúci katedry
......................................
........................................
študent
vedúci, resp. školiteľ
Dátum potvrdenia finálnej verzie práce, súhlas s jej odovzdaním (vrátane spôsobu
sprístupnenia):
19. apríl, 2010
..........................................................
vedúci
Čestne prehlasujem, že som túto prácu vytvoril samostatne, vedený radami a
usmerneniami môjho školiteľa, čerpajúc z uvedenej literatúry a zdrojov dostupných na
internete.
V Bratislave, dňa 19. 4. 2010
........................................
Bc. Tomáš Palkovič
Poďakovanie
Chcel by som poďakovať môjmu školiteľovi Ing. Jaroslavovi Vojtechovskému
za jeho cenné rady a pripomienky, ktoré mi napomáhali pri písaní tejto práce. V prvom
rade však ďakujem mojim blízkym: Lenke, rodine a priateľom. Bez ich vytrvalej
láskavej podpory by ani moje štúdium, ani táto práca neboli realitou. Za to hlavne im
patrí moja najúprimnejšia vďaka.
Abstrakt
PALKOVIČ, Tomáš: Využiteľnosť open source softvéru v podnikaní na
Slovensku [diplomová práca] - Univerzita Komenského v Bratislave, Fakulta
managementu, Katedra informačných systémov. - Vedúci: Ing. Jaroslav Vojtechovský.
Bratislava: UK, 2010, 75 s.
Táto práca pojednáva o najdôležitejších aspektoch open source softvéru a ich
implikáciách najmä na oblasť využiteľnosti takéhoto softvéru v podnikaní. Úvod práce
spracováva oblasti histórie a proces vývoja softvéru z pohľadu softvérového
inžinierstva. Práca sa tiež venuje softvérovým licenciám a biznis modelom spojeným
s open source softvérom, v nadväznosti na to pojednáva o využiteľnosti open source
softvéru v podnikaní. Záverečné časti ponúkajú aktuálny prehľad najpoužívanejších
open source riešení. Práca končí prípadovou štúdiou, v ktorej sú aplikované
nadobudnuté vedomosti.
Kľúčové slová: open source softvér, softvérová licencia, využiteľnosť
Abstract (English)
PALKOVIČ, Tomáš: Open source software usability in business in Slovakia
[thesis] – Comenius University in Bratislava, Faculty of management, Department of
information systems. - Mentor: Ing. Jaroslav Vojtechovský. Bratislava: UK, 2010, 75 p.
This paper discusses the most important aspects of open source software and
their implications especially on the field of open source software usability for business.
The introduction deals with history and software development process from software
engineering point of view. The paper also deals with software licenses and business
models related to open source software. That in concern, it discusses open source
software usability in business. Final parts offer up to date overview of the most used
open source solutions. The paper ends with case study where acquired knowledge is
applied.
Key words: open source software, software license, usability
Obsah
Poďakovanie.....................................................................................................................5
Abstrakt.............................................................................................................................6
Abstract (English).............................................................................................................7
Zoznam obrázkov............................................................................................................11
1 Úvod.............................................................................................................................12
2 Úvod do problematiky..................................................................................................13
3 História.........................................................................................................................14
3.1 Začiatky: GNU a Perl (1983-1990) ......................................................................14
3.2 Vzostup: Internetová revolúcia, Apache, Linux, FreeBSD ..................................15
3.3 Open source vo veľkom: Zvýšený záujem a komercionalizácia .........................16
4 Vývoj open source softvéru..........................................................................................18
4.1 Štandardný proces softvérového inžinierstva ......................................................18
4.1.1 Definovanie požiadaviek ..............................................................................19
4.1.2 Dizajn na úrovni systému .............................................................................19
4.1.3 Detailný dizajn .............................................................................................19
4.1.4 Implementácia ..............................................................................................19
4.1.5 Integrácia ......................................................................................................19
4.1.6 Testovanie .....................................................................................................20
4.1.7 Podpora .........................................................................................................20
4.2 Softvérové inžinierstvo v prostredí open source softvéru ....................................20
4.2.1 Definovanie požiadaviek ..............................................................................21
4.2.2 Dizajn na úrovni systému .............................................................................21
4.2.3 Detailný dizajn .............................................................................................22
4.2.4 Implementácia ..............................................................................................22
4.2.5 Integrácia ......................................................................................................22
4.2.6 Testovanie .....................................................................................................23
4.2.7 Podpora .........................................................................................................23
4.3 Zhrnutie ................................................................................................................24
5 Motivácia tvorcov open source softvéru.......................................................................26
6 Softvérové licencie.......................................................................................................29
6.1 Úvod do problematiky softvérových licencií .......................................................29
6.2 Licencie a predávanie ...........................................................................................30
6.3 Definícia open source softvérovej licencie ..........................................................30
6.4 Analýza najpoužívanejších open source licencií ..................................................32
6.4.1 GNU GPL .....................................................................................................32
6.4.2 The Artistic licence (umelecká licencia) ......................................................33
6.4.3 Licencie typu BSD .......................................................................................33
6.4.4 Netscape Public License a Mozilla Public License ......................................35
6.4.5 Public domain (verejné vlastníctvo) .............................................................35
6.5 Porovnanie analyzovaných licencií ......................................................................36
7 Open source softvér a biznis modely............................................................................37
7.1 Voľba licencie ......................................................................................................37
7.2 Vývojový model ...................................................................................................38
7.3 Licenčná stratégia výrobcu ..................................................................................39
7.4 Stratégie tvorby zisku ...........................................................................................40
8 Využiteľnosť open source softvéru v podnikaní...........................................................42
8.1 Analýza open source softvéru v podnikateľskom prostredí .................................43
8.1.1 Silné stránky .................................................................................................43
8.1.2 Slabé stránky ................................................................................................46
8.1.3 Príležitosti .....................................................................................................47
8.1.4 Hrozby ..........................................................................................................48
8.1.5 Výsledky analýzy .........................................................................................49
8.2 Analýza trhu .........................................................................................................50
8.2.1 Trhové segmenty ..........................................................................................50
8.3 Hodnotenie uskutočniteľnosti podnikateľských príležitostí ................................55
8.3.1 Priame náklady .............................................................................................57
8.3.2 Nepriame náklady ........................................................................................58
8.3.3 Taxonómia výhod a rizík ..............................................................................59
9 Prehľad najpoužívanejšieho open source softvéru.......................................................63
9.1 Najvýznamnejší zástupcovia ................................................................................63
9.1.1 Linux ............................................................................................................63
9.1.2 Apache ..........................................................................................................63
9.1.3 MySQL .........................................................................................................63
9.1.4 Firefox ..........................................................................................................63
9.1.5 BIND ............................................................................................................64
9.1.6 BSD ..............................................................................................................64
9.1.7 OpenOffice ...................................................................................................64
9.1.8 WordPress .....................................................................................................64
9.1.9 Ubuntu ..........................................................................................................64
9.2 Prehľad podľa oblasti použitia .............................................................................65
9.2.1 Audio a multimédiá ......................................................................................65
9.2.2 Komunikácia ................................................................................................65
9.2.3 Databázy .......................................................................................................66
9.2.4 Vývoj aplikácií .............................................................................................66
9.2.5 Grafické aplikácie ........................................................................................66
9.2.6 Biznis ............................................................................................................67
9.2.7 Operačné systémy ........................................................................................67
10 Prípadová štúdia implementácie open source riešení na fiktívnej spoločnosti...........68
10.1 Úvod ...................................................................................................................68
10.2 Výzva .................................................................................................................68
10.3 Riešenie ..............................................................................................................69
10.4 Zhrnutie ..............................................................................................................71
11 Záver...........................................................................................................................72
12 Zoznam bibliografických odkazov.............................................................................73
Zoznam obrázkov
Obrázok 1: Príjmy spoločností z tvorby open source softvéru a core business [10].......27
Obrázok 2: Najpoužívanejšie open source licencie. [17]................................................38
Obrázok 3: Používané licenčné stratégie.........................................................................40
Obrázok 4: Andrewsov model podnikovej stratégie........................................................42
Obrázok 5: Trhový podiel webserverových aplikácií z marca 2010 [33]........................53
Obrázok 6: Pomer používaných operačných systémov na 500 najvýkonnejších
počítačoch sveta...............................................................................................................54
Obrázok 7: Trhový podiel operačných systémov v osobných počítačoch ......................55
Obrázok 8: Linux [31].....................................................................................................63
Obrázok 9:Apache [32]....................................................................................................63
Obrázok 10:MySQL [34].................................................................................................63
Obrázok 11:Firefox [35]..................................................................................................63
Obrázok 12: BIND [36]...................................................................................................64
Obrázok 13: FreeBSD......................................................................................................64
Obrázok 14: OpenOffice [37]..........................................................................................64
Obrázok 15: WordPress [38]...........................................................................................64
Obrázok 16: Ubuntu [39].................................................................................................64
1 Úvod
Rozšírenie informačných a komunikačných technológií a napredovanie Internetu
vytvorilo v posledných desaťročiach mnoho nových spojení a problémov, ktoré
vyvolávajú otázky ohľadom tradičných právnych a ekonomických princípov. Rozvoj
open source softvéru je príkladom tohto fenoménu. Myslí sa tým najmä používanie
kolaboratívneho vývoja, ktorý obvykle presahuje hranice jednej firmy a nespoliehanie
sa na princípy intelektuálneho vlastníctva pri vymedzovaní hodnoty danej technológie.
Open source softvér je softvér, ktorého zdrojový kód je bezplatne zverejnený a
používateľovi je daná možnosť prispôsobiť a použiť tento softvér pre svoje potreby.
Najmä v posledných rokoch sa dostáva open source softvér do povedomia verejnosti,
dosahuje úspechy a zvyšuje svoj podiel na softvérovom trhu. I keď sa dnes vôbec nedá
hovoriť o nahradení tradične vyvíjaného softvéru, open source softvér začína mať
výraznejší vplyv a stáva sa súčasťou veľkého softvérového priemyslu.
V tejto práci komplexne pojednávame o najvýznamnejších témach spojených s
open source softvérom a jeho využitím pri podnikaní. Cieľom je pochopiť open source
softvér pomocou analýzy jeho kľúčových princípov. Práca ďalej skúma implikácie
týchto princípov a ich dopad najmä na oblasť využiteľnosti takéhoto softvéru v
podnikaní.
Úvod práce sa stručne venuje histórii a vzniku open source softvéru.
Nasledujúce teoretické časti rozoberajú proces vývoja open source softvéru a
problematiku motivácie jeho tvorcov. Dve nasledujúce časti sa praktickejšie pozerajú na
oblasť softvérových licencií a z toho vyplývajúcich biznis modelov spojených s open
source softvérom. Ďalšie praktické časti pojednávajú o využiteľnosti open source
softvéru v podnikaní, hodnotia uskutočniteľnosť podnikateľských príležitostí a navrhujú
spôsob, akým odhadnúť vhodnosť softvéru pre isté použitie. Predposledná časť uvádza
zoznam najpoužívanejších open source riešení. Práca končí prípadovou štúdiou, v ktorej
sú aplikované nadobudnuté poznatky z tejto problematiky.
12
2 Úvod do problematiky
Bežne sa pod pojmom „open source“ softvér chápe taký softvér, ku ktorému je
zverejnený jeho zdrojový kód. Jednoduché zverejnenie zdrojového kódu však ešte
neznamená, že softvér spĺňa všetky podmienky definujúce softvér ako open source.[1]
O tom, či softvér skutočne spĺňa požiadavky definície open source rozhoduje licencia,
pod akou je vydaný. Takéto licencie certifikuje Open Source Initiative (OSI),
mimovládna nezisková organizácia, ktorej cieľom je vzdelávanie a výskum spojený s
vlastníctvom a ochranou značky open source a tiež pokrok v tejto oblasti.[2] Licencia
spĺňajúca definíciu open source by mala vyhovovať približne desiatim bodom, ktorým
sa budeme presnejšie venovať v časti o softvérových licenciách. V krátkosti by sa dal
open source softvér charakterizovať ako softvér, ktorého zdrojový kód je verejne
dostupný a smie sa kopírovať a ďalej distribuovať. Môže byť vo všeobecnosti
neobmedzene používaný. Modifikácie a odvodená práca môžu byť ponúkané slobodne,
alebo na komerčnej báze. Ak koncový používateľ spraví zmenu v zdrojovom kóde, smie
sa slobodne rozhodnúť, či svojou úpravou prispeje k pôvodnému zdroju alebo zmenu
nezverejní. Dôležitým faktorom existencie open source vo všeobecnosti, je komunita
tvorená jednotlivcami, skupinami jednotlivcov, alebo firmami. Členovia komunity sa
aktívne zapájajú a prispievajú k tvorbe a spravovaniu open source projektov, ktorých
výsledkom môže byť softvér, hardvér, zariadenie, technický formát, štandard,
programovací jazyk a mnoho iných.
I keď sa open source dostáva do povedomia širokej verejnosti až v súčasnom
období, existuje už od 60. rokov 20. storočia a vo vedeckých kruhoch je to veľmi dobre
známy pojem. Už v svojich začiatkoch nastúpil open source na úspešnú dráhu.
Príkladmi populárnych a úspešných open source riešení sú napríklad Linux, FreeBSD,
Apache, Sendmail, Java, PHP, Python, MySql, Open Office, Firefox, Wikipedia a
mnoho ďalších.
Softvér nie je jedinou oblasťou, ktorej sa open source ako koncept dotýka.
Mnoho oblastí i politických názorov je ovplyvnených stále rozvíjajúcim sa konceptom
open source.[3]
Emacs je jeden z prvých open source produktov. Je to textový editor používaný
pri vývoji softvéru. Mnohí programátori používali Emacs ako softvérový nástroj na
vývoj svojich produktov. S úspechom Emacs-u odštartoval GNU projekt.
13
3 História
Táto časť sa bude stručne venovať histórii open source hnutia. Nemá za cieľ
prerozprávať históriu vyčerpávajúco, skôr uviesť fakty, ktoré čitateľovi pomôžu pri
vytváraní si obrazu o pozadí vývoja open source softvéru a vývoji open source ako
myšlienky.
3.1 Začiatky: GNU a Perl (1983-1990)
V roku 1984, bývalý programátor laboratória umelej inteligencie na MIT,
Richard M. Stallman, založil „Free Softrware Foundation“ (skrátene FSF). Hlavným
technickým cieľom FSF bolo vytvorenie open source operačného systému „GNU“
podobného systému UNIX. I keď Stallman a jeho tím dlho neboli schopní dokončiť
kernel1 GNU systému, podarilo sa im vytvoriť niekoľko výnimočne použiteľných a
následne populárnych programov. Jedným bol už spomínaný Emacs a druhým bol
slobodný compiler programovacieho jazyka s názvom GNU C compiler.
Asi najdôležitejšou časťou GNU projektu však nebol samotný softvér, ktorý sa
podarilo vytvoriť, ale Stallmanova filozofia a spôsoby, akými bol tento softvér vyvíjaný.
Cieľom GNU projektu bolo podľa Stallmana, jednoducho povedané, aby už nikto nikdy
nemusel za softvér platiť.[4] Stallman verí, že „informácia je vlastníctvom celej
spoločnosti a všetok zdrojový kód by mal byť zdieľaný“[1] Stallmanov názor je, že
proprietárny softvér zabraňuje spolupráci a vytvoreniu komunít, potrebných pre pokrok
v oblasti vývoja softvéru.
Odpoveďou FSF na otázku proprietárneho softvéru bol koncept, ktorý Stallman
nazval „copyleft“. Jeho základnou myšlienkou je ponechanie zdrojového kódu voľne
dostupným, tak aby ho mohol ktokoľvek študovať, zmeniť a šíriť. Aby bola táto
myšlienka uskutočniteľná, prišlo FSF s prvým príkladom open source softvérovej
licencie: GNU General Public License (skrátene GNU GPL).
Proces nazvaný “copylefting” pomocou GNU GPL je potom takmer identický
ako pri bežnej proprietárnej softvérovej licencii. Pozostáva z dvoch krokov. V prvom
FSF získa copyright na softvér. V druhom ponúka softvér za podmienok určených
licenciou. V druhom kroku je skrytý zásadný rozdiel, a to, že GNU GPL licencia
umožňuje ďalšie kopírovanie, distribúciu a modifikácie, pokiaľ sú však splnené isté
1 Kernel je centrálnym prvkom mnohých operačných systémov. Pôsobí ako medzivrstva medzi
aplikáciami a samotným spracúvaním dát na hardvérovej úrovni.
14
podmienky.
FSF sa v svojej podstate snaží obmedzovať práva intelektuálneho vlastníctva, i
keď sa to v dnešnom svete proprietárneho softvéru môže zdať zvláštne. GNU GPL je
odpoveď zbraňou proprietárneho sveta. Licenciou zaručuje vzdanie sa práv. Vďaka
týmto pomerne extrémnym postojom je samotná GNU GPL považovaná za mierne
kontroverznú i v prostredí dnešnej open source komunity a odporcovia často hovoria o
utopistických názoroch Stallmana.
Bez ohľadu na kontroverziu, je dnešný svet open source s množstvom rôznych
open source licencií postavený na základoch GNU GPL a názoroch Stallmanovej Free
Software Foundation.[1] Ukázalo sa, že GNU GPL je mimoriadne dôležitým faktorom v
dnešnom open source svete a to najmä vďaka Linuxu a jeho pozícii. Postupom času sa
tiež jasne odlíšili hranice filozofie „copylefting-u“ a iných open source licencií.
V nasledujúcom období osemdesiatych rokov sa do obehu dostalo obmedzené
množstvo
nového
open
source
softvéru.
Spomenúť
však
môžeme
vznik
programovacieho jazyka Perl, ktorého tvorcom je Larry Wall. Perl je založený na
Unixovej platforme a slúži na správu, manipuláciu a tlač textových dokumentov. Wall
pôvodne zverejnil Perl na Usenet-e pod GNU GPL, neskôr sa však rozhodol, že
podmienky GPL sú príliš reštriktívne.[5] Následne Wall vytvoril vlastnú open source
licenciu a nazval ju „Artistic license“ (umelecká licencia).
3.2 Vzostup: Internetová revolúcia, Apache, Linux, FreeBSD
Koncom osemdesiatych rokov sa vzhľadom na Stallmanov zdravotný stav zdalo
dokončenie GNU kernelu nedosažiteľné. Napriek tomu bola idea unixového operačného
systému realizovaná v roku 1991 fínskym študentom menom Linus Torvalds.
Linusovým cieľom bolo spojazdniť unixový operačný systém na štandardnom stolovom
počítači tej doby, ktorý samozrejme nemal kapacitu na beh Unixu. Riešením bolo „niečo
ako unixové jadro“, ktoré Linusový priatelia nazvali „Linux“. Linux bol vydaný pod
GNU GPL licenciou.
Linux nebol v tej dobe jediným open source operačným systémom. V roku 1993
sa začal distribuovať ďalší unixový systém s názvom FreeBSD2. FreeBSD je na rozdiel
od Linuxu vetvou systému Unix, Linux je unixový klon3. Bol vydaný pod vlastnou open
2 BSD je skratka znamenajúca Berekeley Software Distribution
3 V praxi to znamená, že sa Linux dá používať takmer identicky ako Unix. Linux vznikol prevzatím
funkcionality, ktorá je však implementovaná odlišnými postupmi.
15
source licenciou s názvom „BSD License“.
V čase prvých väčších úspechov open source sa do pozornosti čím ďalej viac
dostával aj Internet. V roku 1997 bolo na Internete pripojených asi 100 miliónov ľudí a
za ďalších 100 dní sa toto číslo zdvojnásobilo. Je dôležité podotknúť, že veľká časť
kľúčových komponentov a protokolov tvoriacich Internet nie je proprietárnych a sú
open source. Dobrými príkladmi sú BIND, ktorý je de facto štandardom pre DNS
servery, programovací jazyk Perl, alebo Sedmail zabezpečujúci emailovú službu. Rast
Internetu a miera používania open source softvéru sú v úzkej súvzťažnosti.
V deväťdesiatych rokoch sa spolu s rastom internetu zväčšuje aj open source
vývojárska komunita. Internet sa stal komunikačným nástrojom open source komunity.
Na vývoj sa začal používať kolaboračný model „Stallman-esque“[6]. V tomto
vývojovom modeli programátori spolupracujú vo virtuálnych komunitách tak, že
zdieľajú výsledky svojej práce, nápady a tiež čas potrebný na zhotovenie. Tento
vývojový model sa teda výrazne líši od toho, ktorý sa používa vo firmách vyvíjajúcich
proprietárny softvér.
3.3 Open source vo veľkom: Zvýšený záujem a
komercionalizácia
Okolo Linuxu sa už pred pár rokmi zdvihla vlna záujmu. Tento záujem spätne
generoval nové riešenia a dnes môžeme tvrdiť, že svet open source softvéru sa stáva
bežnou každodennou súčasťou životov mnohých ľudí aj bez toho, aby sa oň príliš
zaujímali. Týmto rastom bola v minulosti zasiahnutá aj spoločnosť Netscape. Najmä
pod vplyvom publikácie Erica Raymonda, The Cathedral and the Bazaar, sa spoločnost
Netscape rozhodla uvoľniť zdrojový kód ich internetového prehliadača Communicator
verejnosti. The Cathedral and the Bazaar sa často označuje ako „vyhlásenie
nezávislosti“ open source komunity. Tak ako každý, kto vyvíja nejaký open source
softvér, aj spoločnosť Netscape sa musela rozhodnúť, ako bude svoj produkt licencovať.
Situácia bola o to zložitejšia, že sa jedná o firmu tvoriacu komerčný softvér. Netscape sa
rozhodol vytvoriť vlastnú licenciu pomocou osvojenia si častí už existujúcich licencií.
Do licencie však boli vnesené prvky, ktoré zohľadňovali postavenie Netscape, ako
komerčnej spoločnosti.
Od tej doby veľa spoločností prešlo podobnou sériou rozhodnutí ako Netscape.
V poslednej dobe je veľmi významný trend komercionalizácie open source softvéru.
16
Spoločnosti dosahujú zisky na „predávaní“ open source softvéru tak, že predávajú nie
samotný softvér, ale jeho servis, podporu, či inak pridávajú hodnotu k samotnému
softvéru. Ďalším možným postupom je zahrnutie open source softvéru do komerčného
balíka. Takýto softvér potom môže, ale nemusí ostať open source. S týmito komerčnými
aktivitami sa spájajú rôzne tlaky na uzatvorenie, alebo prezentovanie softvéru ako kvázi
otvoreného. Je preto veľmi dôležité, ako sú dnešné open source licencie štrukturované a
ako je vynútiteľné ich dodržiavanie. Viac o softvérových licenciách si povieme v
nasledujúcich častiach tejto práce.
17
4 Vývoj open source softvéru
Už z historického pohľadu je zrejmé, že vývoj softvéru zahŕňa omnoho viac, ako
len písanie kódu. Na to, aby bol výsledný softvér široko používaný a prinášal osoh,
musí byť i samotný proces jeho tvorby a vlastne celého životného cyklu softvéru,
dômyselný a efektívny. Problémami s týmto spojenými sa zaoberá softvérové
inžinierstvo.
Softvérové inžinierstvo je aplikácia systematického, organizovaného a
merateľného prístupu k vývoju, prevádzke a údržbe softvéru. Je to tiež vedecká oblasť
zaoberajúca sa aplikovaním procesov inžinierstva na softvér.[7]
V tejto časti tejto práce si objasníme základné princípy softvérového inžinierstva
a ich obvyklé ekvivalenty používané v open source komunite. Cieľom je poukázať na
výhody a nevýhody oboch prístupov, ale hlavne vyzdvihnúť miesta, ktoré sú pre daný
prístup k vývoju softvéru kľúčové a sú hlavnými faktormi, na ktoré treba dbať pri
výbere vhodného prístupu k tvorbe softvéru. Na základe rozboru navrhneme oblasti
vhodné pre nasadenie daného postupu
pri tvorbe softvéru. V závere tejto časti
zhodnotíme porovnanie oboch prístupov.
4.1 Štandardný proces softvérového inžinierstva
Jednotlivé fázy procesu softvérového inžinierstva by sa dali zhrnúť do týchto
bodov:[8]
1. Definovanie požiadaviek
2. Hrubý dizajn systému
3. Detailný dizajn
4. Implementácia
5. Integrácia
6. Testovanie
7. Podpora
Žiadna časť tohto procesu by nemala začať skôr, ako sa tá predošlá ukončí. Ak
sa v nejakej časti tohto procesu udeje zmena, všetky prvky, ktoré sú ovplyvnené touto
zmenou, by mali byť prehodnotené, alebo prerobené tak, aby túto zmenu reflektovali.
18
4.1.1 Definovanie požiadaviek
Výsledkom tejto fázy procesu je odpoveď na otázku: „Čo vyrobíme a kto to
bude používať?“. Definuje sa cieľová skupina zákazníkov a adresujú sa dôvody, prečo
potrebujú tento produkt. Pokračuje sa so zoznamom funkcionality, ktorý pokrýva
zákazníkove potreby a požiadavky. V tejto fáze býva často chybou, ak sa na príprave
takéhoto
dokumentu
aspoň
čiastočne
nepodieľajú
všetky zúčastnené
strany.
Nesprávnym postupom je napríklad, ak sa vývojárom posunie hotový dokument, na
ktorom sa nepodieľali a majú sa ním riadiť, pričom tento dokument bol pripravený
ľuďmi, ktorí o vývoji softvéru takmer nič nevedia.
4.1.2 Dizajn na úrovni systému
V tejto fáze procesu sa navrhuje štruktúra systému. Väčšinou vo forme
definovania modulov, alebo programov plniacich istú funkciu. Cieľom tejto fázy je
vytvorenie si obrazu o budúcom systéme a vytvorenie základu pre odhad celkovej
náročnosti a odhad množstva potrebnej práce.
4.1.3 Detailný dizajn
Každá časť popísaná v dizajne systému je v tejto fáze analyzovaná a presnejšie
špecifikovaná. Vytvárajú sa rôzne diagramy, ktoré uľahčia rozplánovanie, napríklad
Pert, alebo Gantov diagram. Ukazujú súvislosti a následnosť jednotlivých úloh.
Následne je možné vytvoriť pomerne presný odhad potrebných zdrojov, práce a určiť
približné termíny dokončenia.
4.1.4 Implementácia
Implementácia je mimoriadne dôležitá časť procesu softvérového inžinierstva.
Každý opísaný modul je v tejto fáze prevedený do funkčnej formy a implementovaný v
nejakom programovacom jazyku. Implementácia je tiež jednou z mála fáz, ktoré sú
vyučované v školách, obvykle technického zamerania. Modul sa môže považovať za
implementovaný, až keď je kompletne vytvorený, testovaný a dá sa použiť v súčinnosti
s inou časťou systému.
4.1.5 Integrácia
Keď sú všetky moduly hotové, môže sa pristúpiť k integrácii na systémovej
úrovni. V tejto fáze sa všetky moduly presúvajú do jednotného zdroja, kompilujú a
19
linkujú sa ako systém. Integrácia môže prebiehať aj v čase implementácie, no dokončiť
ju možno až v tedy, keď sú všetky moduly úplne hotové.
4.1.6 Testovanie
Testovanie obvykle prebieha najprv v internom prostredí. Ak je to možné,
odporúča sa otestovať softvér aj formou pilotnej prevádzky. Kompromisom je, keď
daný softvér používa firma, ktorá ho vytvorila. Výsledkom takéhoto testovania môže
potom byť pre klienta príjemné konštatovanie: „Pozrite, my sami softvér používame.“
Výsledky dosahované pri externej pilotnej prevádzke však dávajú veľké množstvo
extrémne užitočných informácií. Obvykle sa takto nájde množstvo nedostatkov, ktoré
unikli zainteresovaným ľuďom. Osoba, ktorá nie je nijak zainteresovaná bude mať
pravdepodobne úplne iné vzorce používania a najrôznejšie zvyklosti, ktoré sa
pravdepodobne líšia od tých, ktoré majú interní zamestnanci a vývojári. Takto nájdené
chyby je potrebné vziať v úvahu a ak je to možné, zapracovať ich okamžite, alebo do
najbližšieho updatu programu.
4.1.7 Podpora
Chyby zistené počas pilotnej prevádzky, alebo počas používania je najlepšie
systematicky zachytávať do na to určeného systému. Následne sú chyby riešené
vývojármi.
Podpora však nie je iba vecou vývojárov, ale zahŕňa v sebe súčinnosť
marketingu, starostlivosti o zákazníka a vývoja.
4.2 Softvérové inžinierstvo v prostredí open source softvéru
Open source projekt môže pri svojom vývoji prejsť každou jednu z fáz
popísaných v procese štandardného softvérového inžinierstva. Napríklad komerčné
verzie BSD, BIND, alebo Sendmail-u sú dobrými príkladmi uplatnenia klasických
postupov v softvérovom inžinierstve, no tieto projekty tak nezačali.[8] Plné využitie
procesov softvérového inžinierstva je obvykle mimoriadne náročné na náklady.
Predpokladom jeho nasadenia je spravidla určitý plán návratnosti investície.
Oveľa častejším prípadom open source projektu je obvykle projekt, ktorý
účastníkom pri tvorbe prináša zábavu a potešenie. Často chcú, aby sa výsledok ich práce
čo najviac reálne používal, preto ho zverejnia bez poplatkov a často bez obmedzení
20
ohľadom redistribúcie. Pri tvorbe softvéru často nepoužívajú nijak sofistikované
nástroje na testovanie a podobne. Veci, ktoré ľudí bavia sú obyčajne písanie kódu,
balíčkovanie a osveta a nie krátke dodacie lehoty, ani tvorba marketingovej
dokumentácie. V dnešnej dobe sa však čoraz častejšie vyskytujú aj prípady, kedy je
softvéru značka open source „prilepená“ až dodatočne a to za účelom získania čo možno
najširšej používateľskej základne a následné využitie tohto nahromadeného potenciálu
štandardným spôsobom.
V ďalšej časti popíšeme proces vývoja open source softvéru v nefinancovanom
projekte.
4.2.1 Definovanie požiadaviek
Vo väčšine prípadov nefinancovaného projektu je vyvíjaný softvér, ktorý sám
jeho tvorca potrebuje, alebo by bol rád, keby niečo také existovalo. Iniciatíva však
vychádza zo samotného tvorcu. Často výsledkom môže byť aj niečo, čo je tvorcovi
nápomocné pri jeho zamestnaní. Ak sa takémuto softvéru podarí získať dostatočnú
hybnosť, ľudia sa o ňom dozvedia a začnú buď požadovať nové funkcie, alebo ich sami
implementovať.
Tak ako pri každom softvéri, je potrebné zodpovedať otázku: „Čo vyrobíme a
kto to bude používať?“. Rozhodovanie o tejto veci sa v prípade open source projektov
zvyčajne
deje
prostredníctvom
mailinglist-ov,
fór,
alebo
newsgroup-ov.
Pri
rozhodnutiach sa hľadá konsenzus. V prípade, ak sa ho nepodarí nájsť sa stáva, že sa
projekt rozdelí na viac vetiev. Toto sa označuje ako „code split“. Každá skupina
vývojárov potom vydáva svoju verziu softvéru. V open source prostredí sa pomerne
často stáva, že sa nepodarí ani rozhodnúť nejaký konflikt. V istých prípadoch sa o to
aktéri ani nepokúšajú.
4.2.2 Dizajn na úrovni systému
Dizajn na úrovni systému v podobe, v akej by sa očakával pri tradičnom modeli
vývoja softvéru, často nefinancovaným open source projektom chýba. Takýto dizajn je
obvykle implicitný, alebo sa jednoducho vyvíja spolu so softvérom.
Toto je fáza, ktorá v porovnaní s tradičným modelom vývoja softvéru zaostáva.
Je to jeden z hlavných nedostatkov vývoja open source softvéru. Na druhej strane treba
povedať, že existujú aj produkty spájajúce výhody oboch prístupov, tie však bývajú zo
21
sféry veľkých financovaných projektov.
Isté nedostatky v tomto smere sa dajú pokryť
šikovnosťou programátorov.
Absencia všeobecného dizajnu, ktorý nemusí byť nutne v písanej podobe, je však
značnou nevýhodou a vždy bude pôsobiť ako výrazne limitujúci faktor.
4.2.3 Detailný dizajn
Ďalším následkom nefinancovanej schémy vývoja sú nedostatky v detailnom
návrhu systému. Detailný dizajn tak často končí ako vedľajší produkt samotnej
implementácie.
Výsledkom
bývajú
rôzne
manuály,
automaticky
generovaná
dokumentácia z komentárov v kóde, alebo manuálové stránky vysvetľujúce, čo softvér
robí, alebo ako využívať jeho funkcie. Veľkou škodou tiež je, ak sa ani táto forma
dokumentácie nevytvorí. Mnoho, inak dobrého a znovu použiteľného kódu, sa takouto
formou stratí a ostane nevyužité.
Akákoľvek forma dokumentácie výrazným spôsobom napomáha ostatným
ľuďom pochopiť, ako softvér funguje. Toto má dôsledky v tom, koľko ľudí bude softvér
využívať a tiež, koľko ľudí ho bude schopných pochopiť a vylepšiť.
4.2.4 Implementácia
Implementácia je tá časť, pri ktorej sa tvorcovia open source softvéru najviac
prejavia. Samotná implementácia je často najväčšou motiváciou tvorcu. Ak sa niekto
zameria iba na túto časť softvérového inžinierstva, otvára sa mu široké pole pôsobnosti
a veľká sloboda vo vyjadrovaní. Je na samotnom tvorcovi, aký štýl svojej práce zvolí, či
bude kód vzorne upravený a riadne komentovaný, i keď väčšina programátorov po čase
objaví dôležitosť týchto aktivít.
Hlavným rozdielom ale zostáva, že kontrola implementácie open source projektu
je neformálna. Obvykle neexistuje nijaký nadriadený, ani spolupracovník, ktorý kód
kontroluje pred tým, ako je zverejnený.
4.2.5 Integrácia
Proces integrácie open source projektu pozostáva napríklad zo snahy o
zabezpečenie, aby sa softvér dal používať na všetkých otestovateľných platformách,
prípravy manuálových stránok, vytvorenia archívu určeného na distribúciu, zverejnenia
napríklad na FTP serveri, publikovania oznámenia pre verejnosť a podobne.
22
Pokiaľ ide o testovanie, je zastúpené v malej miere, existujú samozrejme
výnimky. Málo testovania však nie je nedostatkom, ako popíšeme neskôr. Proces vývoja
open source softvéru sa totiž spolieha na odozvu používateľov a dôkladnú previerku
priamo v prevádzke.
4.2.6 Testovanie
Open source softvér sa vo všeobecnosti môže pýšiť najlepším testovaním v
oblasti. Dôvodom je systém fungovania open source komunity. Jej členovia, ale aj bežní
používatelia majú tendenciu prispievať späť k tomu, čo im bolo sprístupnené bez
poplatku. Najbežnejšou formou takejto spätnej výpomoci je nahlasovanie chýb,
takzvaných „bug-ov“, alebo radenie ostatným používateľom na diskusných fórach. V
komunite obvykle vznikne menšia skupina takzvaných „power user-ov“. Sú to
používatelia, alebo aj samotní tvorcovia, často aj oboje, ktorí majú o vytvorenom
softvéri hlboké znalosti. Obvykle prispievajú ku kódu, radia ostatným používateľom v
diskusných fórach. Okrem prispievania ku kódu je veľmi dôležité aj nahlasovanie chýb,
ktoré bežní používatelia neodhalia, často totiž vyplývajú z chýb nájdených priamo v
zdrojovom kóde.
Nespornou výhodou je nie len testovanie, bug reporting, kooperácia v rámci
komunity, prispievanie do zdrojového kódu, ale aj fakt, že zverejnením zdrojového kódu
sa ten dostáva pod dohľad ľubovoľnému počtu zainteresovaných ľudí, z ktorých je
veľká časť odborníkov.
Open source softvér je takto vlastne v neustálej pilotnej prevádzke. Ak sa toto
deje v bežnom prístupe, softvérové inžinierstvo sa snaží o odhalenie postupov, ktoré sú
takmer nepredvídateľné. Snaží sa totiž ešte v čase vývoja predvídať skúsenosti
používateľov v reálnej prevádzke.
V tejto oblasti je open source bez konkurencie. Výhody takéhoto prístupu sú
zrejmé aj spoločnostiam z komerčnej sféry a snažia sa ho z časti imitovať. Napríklad
Microsoft Windows 7 bol najskôr daný na trh na testovanie bez poplatku. Po získaní
dostatočného množstva bug reportov bol u používateľov softvér znefunkčnený a
následne spoplatnený.
4.2.7 Podpora
Podpora je v sfére ďalším kameňom úrazu. Je to jeden z faktorov, ktoré
23
odrádzajú používateľov od používania open source softvéru. Tento priestor sa však v
dnešnej dobe rýchlo pokrýva poradenskými firmami, ktoré poskytujú služby platenej
podpory. Problém vyplýva zo samotnej podstaty open source softvéru. Aj keby
spoločnosť chcela poskytovať podporu pre softvér, s ktorého vývojom začala, musela by
následne podporovať aj softvér, ktorý vznikol príspevkami a modifikáciami
najrôznejších autorov z prostredia mimo spoločnosti.
K riešeniu tohoto problému existujú v princípe dva prístupy. Jednou je definovať
podmienky v zmluve o poskytovaní podpory zo „zaručených výsledkov“ na „najlepšiu
snahu“. Druhou možnosťou je spätná analýza a fixácia stavu konkrétneho softvéru a
prípadné sledovanie zmien.
Každopádne, dopyt po týchto službách prináša so sebou odozvu firiem.
Problematika podpory open source softvéru je otvorená. Je to sféra otvárajúca nové
podnikateľské príležitosti.
4.3 Zhrnutie
Význam softvérového inžinierstva v dnešnej dobe stále rastie. Príčinou je dopyt
po produktoch, ktoré svojou komplexnosťou ďaleko prevyšujú možnosti individuálnych
ľudí, ako pri samotnej realizácii, tak pri návrhu softvéru. S využitím postupov
softvérového inžinierstva sú spojené vysoké náklady, preto je jeho nasadenie
determinované rozpočtom. Zo samotnej povahy open source prístupu k vývoju softvéru
je zrejmé, že ak projekt nie je financovaný, treba na zabezpečenie efektívnosti použiť
alternatívne metódy. A teda výsledky nefinancovaných open source projektov v tomto
smere zaostávajú.
Ďalším výrazným rozdielom je prístup k testovaniu a pilotnej prevádzke. V
tomto ohľade sa ukázal open source prístup ako mimoriadne efektívny a použiteľný. V
proprietárnom softvéri je ale implementovateľný len s obmedzeniami, ktoré sú
zapríčinené predovšetkým okolnosťami okolo duševného vlastníctva a autorského
zákona.
Tretí zásadný rozdiel je v poskytovaní podpory. V open source prostredí je táto
služba poskytovaná buď na dobrovoľnej báze, alebo prostredníctvom spoločností
zabezpečujúcich tieto služby profesionálne. Rozdiel oproti proprietárnemu softvéru je
ten, že väčšina spoločností poskytujúcich podporu pre open source softvéru tento
softvér nevytvára.
24
Oba prístupy majú svoje pozitívne i negatívne stránky. Príležitosti sú ukryté v
možnostiach tieto dva rôzne prístupy prepojiť a maximálne využiť možnosti oboch.
Menovite využitie potenciálu verejnosti, ako testovacej kapacity a zavedenie vedeckých
postupov softvérového inžinierstva do open source projektov. Toto sú dve dôležité
oblasti pre tvorcov softvéru v dnešnej dobe. Tento trend je na trhu badateľný a má
rastúcu tendenciu.
25
5 Motivácia tvorcov open source softvéru
Otázka tvorcov open source softvéru a ich motivácie je mimoriadne zaujímavá.
Zvyšujúci sa vplyv otvoreného softvéru so sebou prináša aj vlnu záujmu ohľadom
vysvetlenia motivácie jeho tvorcov.
Väčšina výskumov v tomto smere bola zameraná na skúmanie prispievateľov
ako jednotlivcov[9] napriek tomu, že v skutočnosti veľký objem príspevkov do open
source softvéru zabezpečujú komerčné spoločnosti v oblasti IT technológií. Ich podiel
na tvorbe otvoreného softvéru zaznamenal v minulosti prudko rastúci trend. Ako príklad
môžeme uviesť IBM, ktoré do vývoja a propagácie operačného systému Linux
investovala viac ako jednu miliardu amerických dolárov[10]. Ako druhá v rebríčku
investícií skončila spoločnosť Sun. Skúmanie motivácie teda môžeme rozdeliť podľa
toho, aké je zloženie prispievateľov do daného projektu. V princípe môžeme rozčlenenie
charakterizovať, ako s prevažujúcim vplyvom individuálnych prispievateľov (blok 1) a
s prevažujúcim vplyvom organizácií (blok 2).
Typickým predstaviteľom bloku 1 je projekt, ktorý za sebou nemá ekonomické
zázemie komerčnej spoločnosti. Väčšina prispievateľov jedná na základe nezištných
pohnútkov a na dobrovoľníckej báze. Pozadím takéhoto správania sa môže byť
vytvorenie si určitého dobrého mena, či kreditu vývojára, čo sa neskôr dá využiť v jeho
ekonomický prospech v klasickom zamestnaní. 91% takýchto projektov beží na
operačnom systéme Linux, 75% takýchto projektov beží na operačnom systéme
Windows.[10] Napriek minimálnym investíciám spoločnosti Microsoft do tvorby
otvoreného softvéru, je používanie operačného systému Windows v súvislosti s open
source projektami značné.
Typickým predstaviteľom bloku 2 môžu byť projekty ako Linux, Firefox, Open
Office, MySQL, OpenBeos, SugarCRM, PHP, Jboss, Perl, Python[10] a podobne. Tieto
projekty pohltia 99% všetkých investícií do open source softvéru vôbec. Okrem dvoch
spomenutých operačných systémov bežia všetky tieto programy na operačnom systéme
Linux aj Windows.
Vychádzajúc z predošlých údajov o rozdelení investícií je zrejmé, že veľké
spoločnosti majú pri investíciách do otvoreného softvéru prevažne ekonomické záujmy.
Ak by totiž výrobcovia open source softvéru mali altruistickú motiváciu, je veľmi
pravdepodobné, že by rozloženie investícií medzi jednotlivé projekty bolo omnoho
26
rovnomernejšie. Wichmann [11] v svojej publikácii identifikuje štyri základné druhy
ekonomickej motivácie v súvislosti s tvorbou open source softvéru. Sú nimi:
•
použitie open source softvéru ako prostriedok na štandardizáciu,
•
použiť open source softvér ako doplnok k existujúcemu softvéru,
•
využitie príležitostí súvisiacich s cenovými charakteristikami open source
softvéru,
•
použiť OSS ako prostriedok na zlepšenie kompatibility tak, aby podstatné prvky
produktového portfólia ostali relevantné.
Práve použitie OSS ako doplnku k existujúcemu platenému softvéru spoločnosti
sa ukazuje ako najpoužívanejší model. Naznačuje tomu skutočnosť, že oblasť investícií
do OSS sa takmer nikdy neprekrýva s ponukou danej spoločnosti v oblasti plateného
softvéru.
Nasledujúci graf znázorňuje odhadované príjmy najväčších spoločností z tvorby
open source softvéru. V grafe sú tiež znázornené príjmy spoločností z ich core
businessu. Z grafu jasne vyplýva, že čím väčší bol príjem spoločnosti z ich core
businessu, tým väčší bol aj príjem z komplementárneho open source softvéru.
Obrázok 1: Príjmy spoločností z tvorby open source softvéru a core business [10]
Dôležitým poznatkom však je, že spoločnosti často vydajú ako open source
práve softvér, ktorý má v svojej oblasti vysokú konkurenciu. Takýmto spôsobom je
možné posilniť ich pozíciu na trhu. Takýto príspevok k open source softvéru má kladný
dopad tak na spotrebiteľov, ako aj samotnú spoločnosť, nakoľko sa zvyšuje
27
pravdepodobnosť, že po skúsenostiach s otvoreným softvérom zákazník siahne aj po
platenej verzii.
Ak by sme mali zhrnúť problematiku motivácie tvorcov OSS, je potrebné
uviesť, že sa ako zásadné ukázalo rozdelenie prispievateľov na dve hlavné skupiny.
Prispievatelia ako jednotlivci a proti nim spoločnosti investujúce do tvorby OSS nemalé
prostriedky. Ich motiváciu je potom vhodné skúmať oddelene, nakoľko sa tieto dve
skupiny diametrálne odlišujú. Prieniky v týchto dvoch skupinách sú minimálne.
Motivácia jednotlivcov sa ukázala byť kombináciou nezištnosti a sledovania
vlastných záujmov[10], hlavne vo vytváraní si dobrého odborného mena a podobne.
Ekonomické motívy u jednotlivcov bývajú v tejto oblasti vedľajšie.
V skupine spoločností sa ekonomické motívy ukázali ako najpodstatnejšie.
Najvýraznejšie investície boli urobené do tých projektov, ktoré nejakým spôsobom
dopĺňajú core business danej spoločnosti. Čím silnejšia je oblasť core businessu danej
spoločnosti, tým väčšie boli uskutočnené investície do open source projektov, ale aj tým
väčšie boli následné zisky spoločností z danej oblasti [10]. V budúcnosti by mohlo byť
zaujímavé skúmať vzťah medzi konečným dopadom vytvoreného softvéru a
investovanými prostriedkami. Naskytá sa tiež otázka, či softvér vytvorený súkromnou
spoločnosťou slúži verejnosti tak dobre, ako softvér vyvíjaný komunitou.
Ukázalo sa, že ekonomické motívy majú výrazný dopad aj na sféru OSS. V
nasledujúcej časti sa preto pozrieme na open source softvér ako biznis model.
28
6 Softvérové licencie
6.1 Úvod do problematiky softvérových licencií
Existuje množstvo druhov open source licencií. Pre potreby tejto práce sa pojem
„open source licencia“ myslí v tom najvšeobecnejšom význame. Pojem „open source
licencia“ je používaný s úmyslom odkazovať na open source licenciu vo všeobecnosti,
inak povedané odkazuje na model licencie, ktorá zahŕňa základné prvky zdieľané medzi
väčšinou open source licencií. Konkrétne softvérové licencie budú označované
presnejšími názvami, ako napríklad „GNU GPL“, „BSD licencia“, „Apache licencia“ a
podobne.
Pred tým, ako môžeme popísať parametre open source licencie, ako aj porovnať
rozdiely medzi rôznymi typmi softvérových licencií, zameriame sa v krátkosti na
mechanizmus licencovania softvéru.
Proces vydania softvéru pod open source licenciou je v istom ohľade veľmi
podobný vydávaniu softvéru s uzatvoreným zdrojovým kódom. Softvér je v prvom rade
treba chrániť autorským zákonom. V Slovenskej republike je toto právo garantované
automaticky. V ďalšom kroku môže autor ponúkať dielo ostatným subjektom
prostredníctvom licencie. Či už teda hovoríme o open source, alebo proprietárnom
softvéri, proces vydania softvéru musí prejsť týmito dvoma základnými fázami. Napriek
tomu, že sú tieto dva kroky zhodné, pri ďalšom skúmaní zistíme, že hlavným zdrojom
rozdielností nie je proces licencovania, ale sú ním samotné licencie.
Možnosť chrániť softvér pred nelegálnym používaním je na Slovensku
zachytená v autorskom zákone. Softvér tu môže byť chránený tak v binárnej forme, ako
aj vo forme zdrojového kódu. Vo všeobecnosti sa dá povedať, že je možné chrániť
softvér, nech je na akomkoľvek médiu alebo nosiči. Napriek všeobecnej tendencii
umožniť ochranu softvéru treba spomenúť, že súdy vo svete neboli vždy ochotné
chrániť4 každú časť, alebo prvok softvéru. Pre potreby tejto práce môže čitateľ
predpokladať, že open source softvér, ako každý iný softvér podlieha autorskému
zákonu a je ním chrániteľný.
4 Príkladom môže byť pokus spoločnosti Lotus o ochranu ponuky menu, ktorú použili v svojom
programe.
29
6.2 Licencie a predávanie
Softvér sa väčšinou licencuje, nie predáva. Vo všeobecnosti k tomu tvorcov
softvéru vedie viacero dôvodov. V prvom rade sa chcú tvorcovia softvéru vyhnúť
dôsledkom, ktoré by spôsobil „prvý oprávnený predaj“ diela. Túto vec rieši § 23, ods. 1
zákona č. 618/2003 Z.z. o autorskom práve a právach súvisiacich s autorským právom
(autorský zákon) v znení neskorších predpisov (ďalej len „autorský zákon“). Právo
autora udeľovať súhlas na verejné rozmnožovanie originálu diela alebo jeho
rozmnoženiny podľa §18 ods. 2 písmeno b) autorského zákona zaniká pre územie
Slovenskej republiky prvým oprávneným predajom ...[12] V prípade predaja autor
stráca kontrolu nad šírením diela, v našom prípade softvéru, ktorého je autorom.
Druhým vážnym dôvodom je potreba definovať podmienky záruky. Ďalším dôvodom
môže byť potreba jasne definovať, prípadne rozšíriť práva autora súvisiace s dielom. V
neposlednej rade je dôvodom vydania licencie aj zachytenie iných podmienok a
obmedzení, ktoré sú spojené s používaním softvéru.
6.3 Definícia open source softvérovej licencie
1. Voľné šírenie [13]
Licencia nesmie obmedzovať žiaden subjekt pri predávaní, alebo slobodnom
šírení softvéru a to aj vrámci súhrnnej distribúcie obsahujúcej softvér z
viacerých zdrojov. Licencia nesmie vyžadovať poplatok za šírenie.
2. Zdrojový kód [13]
Softvér musí obsahovať zdrojový kód a musí umožňovať distribúciu vo forme
zdrojového kódu, ako aj vo forme kompilovaného5 programu. Ak sa program
alebo jeho časť dodáva bez zdrojového kódu, musí byť cesta k získaniu
zdrojového kódu zreteľne zverejnená. Získanie zdrojového kódu nesmie byť
spoplatnené vyššou čiastkou, ako je čiastka potrebná na reprodukciu. Optimálne
je sprístupnenie na internete bez poplatku. Úprava kódu musí byť taká, akú
používa programátor pri upravovaní zdrojového kódu. Šírenie v obfuskovanej6
forme je zakázané.
5 Kompilácia je proces, pri ktorom kompilátor prekladá zdrojový kód programu z formy písanej v
programovacom jazyku, do strojového kódu. Zmyslom tohto procesu je pretaviť písaný text do
počítačového programu vo vykonateľnej forme.
6 Obfuskovanie je proces zahaľovania významu počítačového programu v písanej forme tak, aby sa
tento stal nezrozumiteľným pre človeka, ale technicky ostal nezmenený a funkčný. Obvykle sa toto
deje zničením programátorového formátovania a zmenou názvov premenných na nezrozumiteľné.
30
3. Odvodená práca [13]
Licencia musí umožňovať modifikácie a odvodenú prácu a týmto umožňovať
šírenie pod rovnakou licenciou ako pôvodný softvér.
4. Integrita autorovho zdrojového kódu [13]
Licencia smie obmedzovať redistribúciu zdrojového kódu iba v prípade, že sú
spolu s ním dodávané aj takzvané „patch“ súbory, ktoré slúžia na modifikáciu
programu počas kompilácie. Licencia musí explicitne umožňovať šírenie
modifikovaného zdrojového kódu. Licencia môže vyžadovať odlíšenie
modifikovaného zdrojového kódu pomocou odlišného názvu alebo čísla verzie.
5. Žiadna diskriminácia osôb a skupín [13]
Licencia nesmie diskriminovať žiadnu osobu, ani skupinu osôb.
6. Žiadna diskriminácia oblastí záujmu [13]
Licencia nesmie zakazovať použitie programu v akejkoľvek oblasti. Napríklad
nesmie obmedzovať použitie programu v podnikaní alebo hoci aj v genetickom
výskume.
7. Distribúcia licencie [13]
Práva vyjadrené v licencii musia byť dostupné všetkým, ktorým sa softvér
distribuuje a to bez akýchkoľvek podmienení inými licenciami.
8. Licencia nesmie byť závislá na produkte [13]
Práva spojené so softvérom nesmú byť naviazané na softvérový balík, ktorého je
softvér súčasťou. Ak je softvér z balíka vyňatý, práva s ním spojené musia ostať
nezmenené pre všetkých, ktorí sa s ním dostanú do styku.
9. Licencia nesmie obmedzovať iný softvér [13]
Licencia nesmie klásť podmienky na softvér, ktorý je distribuovaný spolu s
licencovaným softvérom. Napríklad nesmie požadovať, aby všetok ostatný
softvér na distribučnom médiu bol tiež open source.
10. Licencia musí byť vyjadrená technologicky neutrálne [13]
Žiadna čast licencie nesmie byť vyjadrená pomocou špecifickej technológie.
Napríklad sa nesmie spoliehať na to, že na odsúhlasenie licencie bude prijímateľ
31
licencie nútený mať grafické používateľské rozhranie podporujúce vyskakujúce
okná.
6.4 Analýza najpoužívanejších open source licencií
V tejto časti sa zameriame na analýzu troch najpoužívanejších open source
licencií. Spoločným cieľom open source komunity je pokrok v oblasti vývoja
slobodného softvéru. V zmysle dosahovania tohto cieľa sa ukázalo licencovanie
softvéru ako vhodný prostriedok na udržanie open source vývojového modelu. V tomto
bode sa však jednotnosť začína rozchádzať. Kvôli rôznym názorom na to, ako najlepšie
podporiť rozvoj tejto oblasti sa open source licencie začali diverzifikovať. Ďalším
faktorom prispievajúcim k diverzifikácii je potreba špecifického licencovania na
riešenie konkrétnych problémov daného softvéru.
Tvorcovia softvéru teda stoja pred rozhodnutím, ako zabezpečiť otvorenosť ich
softvéru pomocou softvérovej licencie. Ako uvidíme ďalej na príklade troch
najpoužívanejších licencií, rôzne licencie tento problém riešia rôznymi spôsobmi.
6.4.1 GNU GPL
GNU GPL je praotcom všetkých dnešných open source licencií. Asi najznámejší
takto licencovaný softvér je Linux. GNU GPL je z hľadiska vynucovania „čistoty“ a
otvorenosti softvéru asi najprísnejšia. Na udržanie otvorenosti softvéru je možné použiť
viacero metód a obmedzení. Prvým je obmedzenie týkajúce sa odvodených prác. Každá
odvodená práca od softvéru licencovaného pod GNU GPL musí ostať naďalej pod
rovnakou licenciou. Takéto obmedzenie ide za hranicu vymedzení open source licencií.
Tie sa totiž vždy týkajú len pôvodného softvéru. Ten musí vždy ostať otvorený. Pravidlá
definujúce licenciu ako open source nehovoria o tom, že aj odvodená práca musí ostať
otvorená pre všetkých. Druhé obmedzenie sa týka možnosti miešať a zahŕňať vlastný
program odvodený od GNU GPL softvéru do proprietárneho softvéru. GNU GPL sa
snaží zamedziť takémuto miešaniu rôzne licencovaného softvéru. Obmedzuje nie len
miešanie s proprietárnym softvérom, ale aj miešanie polo-otvoreným softvérom, vlastne
obmedzuje miešanie akéhokoľvek inak licencovaného softvéru s GNU GPL softvérom.
Pod pojmom miešanie sa však nemyslí prenášanie rôzne licencovaného softvéru na
jednom médiu, či používanie na jednom počítači. Toto licencia neobmedzuje. GNU
GPL v sebe obsahuje akúsi „virálnu zložku“, ktorá núti každého, kto v svojom softvéri
použije čo i len časť iného GNU GPL softvéru, vydať ten svoj softvér pod GNU GPL.
32
6.4.2 The Artistic licence (umelecká licencia)
Túto licenciu pôvodne vytvoril Larry Wall, ktorý pod ňou vydal programovací
jazyk Perl. Neskôr bolo pod touto licenciou vydaných množstvo programov. V
podmienkach je zámerne miernejšia, ako GNU GPL. Narozdiel od GNU GPL nebráni
autorom odvodených diel chrániť tieto odvodené diela autorskými právami. Nezakazuje
teda uzatvorenie odvodených diel, tým pádom ani nekladie podmienky čo sa týka
miešania softvéru licencovaného touto licenciou a proprietárnym softvérom.
I keď to na prvý pohľad nemusí byť zrejmé, fakt, že ktokoľvek, kto aspoň
minimálne modifikuje takto licencovaný softvér, ho môže začať predávať a takto
modifikované dielo nemusí ostať ďalej otvorené, je mimoriadne zásadný. Tento postoj k
vývoju softvéru sa často pokladá za nepriateľský k open source. Ak má teda niekto
záujem vyvíjať softvér ako open source a chce, aby tento softvér ostal open source aj do
budúcna, určite by mal zvážiť voľbu inej licencie.
6.4.3 Licencie typu BSD
6.4.3.1 BSD licencia
BSD7 licencia bola pôvodne vytvorená k BSD variantu Unixu. Tento bol vydaný
pod názvom FreeBSD. BSD licencia bola a dodnes je často používaná v rastúcej open
source komunite. Asi najvýznamnejším zástupcom používateľov tejto licencie je
skupina Apache, vytvárajúca asi najznámejší serverový softvér vôbec. Celý rad ďalších
významných programov je licencovaný BSD licenciou, ako dobré príklady môžeme
uviesť BIND, Sendmail, FreeBSD a mnoho ďalších. Častým javom však tiež, že softvér
nie je vydávaný pod doslovnou verziou BSD licencie, ale pod licenciou od BSD
odvodenou.
Ak tvorcovia softvéru hľadajú alternatívu ku GNU GPL, tak najpopulárnejšie sú
práve BSD, alebo od nej odvodené licencie. BSD licencia, narozdiel od GNU GPL, totiž
umožňuje, aby softvér odvodený od toho vydaného pod BSD ďalej nebol slobodne
šírený. Odvodený softvér sa smie miešať s proprietárnym, čo GNU GPL tiež
neumožňuje. V skutočnosti existuje v licencii naozaj minimum obmedzení. Asi
najpodstatnejším je povinnosť uviesť pôvodných autorov.
Netscape v svojej analýze popísala BSD licenciu nasledovne: „BSD licencia je
mimoriadne nereštriktívna open source licencia. V podstate umožňuje komukoľvek
7 BSD je skrátená forma Berkeley Software Distribution
33
robiť so zdrojovým kódom čokoľvek, pričom ale vyžaduje zmienku prinajmenšom v
sprievodnej dokumentácii o pôvodných tvorcoch a autoroch daného softvéru. Toto robí
licenciu akceptovateľnú pre komerčných vývojárov a ostatným dáva možnosť, aby sa
ich dielo stalo súčasťou proprietárneho softvéru.“[14]
Napriek tomu, isté obmedzenia existujú. Jedným z nich je, že meno autora
pôvodného programu nesmie byť použité pri propagácii odvodeného softvéru, bez jeho
písomného súhlasu. Ďalšou podmienkou je, že všetok propagačný materiál spomínajúci
funkcionalitu, alebo používanie BSD licencovaného softvéru, musí zobraziť súhlasné
stanovisko pôvodcu programu. Pre FreeBSD by to bola Kalifornská univerzita
(University of California). Je tiež vhodné spomenúť, že táto propagačná klauzula je
dlhodobým terčom kritiky z viacerých strán. Často sa tiež používa modifikovaná verzia
licencie, ktorá túto klauzulu vynecháva.
Väčšina ľudí používajúcich BSD licenciu sú open source vývojári, ktorí sa
snažia vyhnúť čo najviac obmedzeniam v licencii, tak aby bolo používanie ich diela
umožnené čo najširšiemu počtu ľudí. To je hlavným cieľom BSD licencie.
6.4.3.2 Apache licencia
Apache licencia je v podstate BSD licencia s pridaním ďalších podmienok.
Dokonca obsahuje aj spornú časť o propagácii. Podmienky pridané do BSD licencie
majú prevažne charakter zaväzujúci k pokračovaniu open source vývoja. Apache
licencia tiež umožňuje ľuďom mimo Apache Group prispievať priamo do jadra softvéru,
teda do samotného licencovaného softvéru. Na rozdiel od pôvodnej BSD licencie tiež
zaväzuje tvorcov modifikácii, aby ich prispeli späť do open source komunity. Apache
jasne uvádza, že „táto práca pozostáva z dobrovoľných príspevkov mnoho jednotlivcov
pod hlavičkou Apache Group...“.
Klauzula o propagácii je prítomná v bode, kde sa hovorí, že názvy „Apache
Server“ a „Apache Group“ sa bez predošlého písomného súhlasu autorov nesmú
vyskytnúť v názve odvodeného softvéru. V poslednom bode licencie sa uvádza, že
každý odvodený softvér musí uchovať zmienku o pôvodných autoroch v presnej forme.
Jedným z výrazných prispievateľov do jadra Apache Servera je spoločnosť IBM,
pre ktorú takto formulovaná licencia stačila na to, aby táto obrovská spoločnosť
prispievala všetky vylepšenia späť. Odplatou za to je, že IBM úspešne používa Apache
Server v svojich produktoch.
34
6.4.4 Netscape Public License a Mozilla Public License
Spoločnosť Netscape urobila v minulosti významný krok v histórii open source
softvéru. Ako prvá významná komerčná spoločnosť v oblasti tvorby softvéru vydala
svoje programy pod komerčnou open source licenciou. Za týmto účelom spoločnosť
Netscape vytvorila Netscape Public License (NPL) a Mozilla Public License (MozPL).
V oboch týchto licenciách je zahrnutý bod o tom, že akékoľvek odvodené práce musia
ostať verejne prístupné. V tomto sú obe licencie podobné GNU GPL. Rozdielne sú
napríklad v tom, že umožňujú miešanie rôzne licencovaného softvéru za podmienky, že
pôvodná práca ostane prístupná tak, ako je uvedené v pôvodnej licencii. Je teda možné
vytvárať väčšie práce, ktoré budú ako časti obsahovať kód zo softvéru licencovaného
pod NPL, alebo MozPL.
Cieľom NPL a MozPL je teda snaha o zachytenie „zlatej strednej cesty“ v
porovnaní a až extrémnymi prístupmi v iných licenciách. Na jednej strane teda licencie
požadujú spätné prispievanie zmien a vylepšení, na druhej strane ale nebránia tomu, aby
všetci softvéroví vývojári mohli používať výsledok spoločnej práce v svojich
programoch.
Rozdielnosť v NPL a MozPL je minimálna. Netscape odporúča používanie
MozPL, nakoľko NPL zahrňuje špeciálne privilégiá pre samotnú spoločnosť Netscape.
Použitie NPL je opodstatnené vlastne iba v prípadoch, keď sa publikujú modifikácie
zdrojového kódu Netscape-u alebo Mozilly. Vtedy ani nie je iná možnosť. MozPL bez
výhrad spĺňa všetky požiadavky na open source licenciu, no NPL sa ocitla na hrane,
kedy sa licencia môže považovať za open source. Väčšinou je však akceptovaná, i keď
možno nie s nadšením a krok spoločnosti Netscape smerom k open source je
považovaný za pozitívny.
6.4.5 Public domain (verejné vlastníctvo)
Pojem „public domain“ je známy prevažne z anglosaského právneho systému. V
súvislosti s autorským právom sa takto označujú diela, ktoré nie sú nijak chránené
autorským právom. Majú postavenie verejného vlastníctva, verejného majetku.
V slovenskom autorskom práve ekvivalentný pojem neexistuje. Nikto sa totiž
nemôže vzdať svojich (autorských) práv, môže iba ponúknuť verejnosti bezúplatnú
licenciu na ľubovoľné použitie diela, a prípadne možno predpokladať, že autor, ktorý
svoje dielo takto označil, sa svojich práv nebude domáhať. V slovenskom autorskom
35
zákone existuje iba užší pojem „voľné dielo“, ktorý označuje (prinajmenšom) dielo,
ktorého autorské práva vypršali preto, lebo autor nemá dedičov alebo títo autorské práva
odmietli.[15]
6.5 Porovnanie analyzovaných licencií
V
nasledovnom
krátkom
porovnaní
uvedieme
dva
základné
faktory
ovplyvňujúce voľbu licencie tvorcom odvodeného softvéru. Jedným z rozhodujúcich
faktorov je, či odvodený softvér musí ostať otvorený. Pre autora by to znamenalo, že by
softvér, ktorý vytvoril musel sprístupniť verejnosti bez poplatku. Druhým obmedzením
je, či takto vytvorený softvér smie byť kombinovaný s uzatvoreným softvérom.
Znamená to, či môžeme licencovaný softvér zobrať a použiť ho v rámci väčšieho celku,
alebo ho inak prepojiť na uzatvorený softvér. Teda napríklad použiť Apache Server ako
súčasť softvéru, ktorý tvoríme.
Licencia
Odvodený softvér smie
byť uzatvorený
Licencovaný softvér smie
byť kombinovaný s
uzatvoreným softvérom
GNU GPL
Nie
Nie
Artistic License
Áno
Áno
NPL
Nie
Áno
MozPL
Nie
Áno
Je nutné podotknúť, že každá z týchto licencií spĺňa kritériá, ktoré sú uvedené v
časti „Definícia open source softvérovej licencie“ a teda sú to všetko open source
softvérové licencie.
36
7 Open source softvér a biznis modely
Bolo by chybné považovať open source za biznis model. Generovanie ziskov
priamo za softvér je totiž vylúčené samotnými princípmi, na ktorých je open source
postavený. Open source je metóda vývoja a distribučný model, ktorého fungovanie je
postavené na softvérových licenciách.
To, akým spôsobom výrobca tvorí produkty, komercionalizuje softvér, aký je
uskutočňovaný dodatočný vývoj, akým spôsobom privedie produkt na trh, ako ho
propaguje, aké služby v spojitosti s ním bude poskytovať, je na rozhodnutí každého
výrobcu. Výrobcovia sú si často podobní v tom, akým spôsobom kombinujú vývoj,
licencovanie, generovanie ziskov a predajné techniky, aby naplnili svoje ciele.[16]
FOSS radikálne mení vzťah medzi predávajúcim a zákazníkom. Zákazník môže
softvér skúšať pred tým, ako ho zakúpi. Výrobcovia môžu prudko redukovať výdavky
na marketing a obchodné stratégie. Keď je softvér vyvíjaný s účasťou komunity,
potenciálnych zákazníkov, zákazníci majú možnosť ponúknuť vstupy a ovplyvňovať už
samotný vývoj. Pre výrobcu osvojenie open source modelu prináša potenciálne
maximálne možné množstvo používateľov. Procesu zadováženia si softvéru zo strany
zákazníka totiž nie sú kladené takmer žiadne prekážky. Pre výrobcu môže byť veľká
skupina používateľov zdrojom mimoriadne cenných informácií, najmä ohľadom chýb a
možných vylepšení. Pretože zdrojový kód je viditeľný a upraviteľný, pre výrobcu môžu
byť veľmi cenné aj príspevky od vývojárov z komunity.
V ďalšej časti spomenieme kľúčové faktory ovplyvňujúce voľbu stratégie
výrobcu otvoreného softvéru. Medzi kľúčové faktory patria voľba licencie, vývojového
modelu, licenčnej stratégie výrobcu a voľba oblastí generujúcich zisk.
7.1 Voľba licencie
V súčastnosti existuje viac ako 80 licencií schválených Free Software
Foundation, ako open source licencií[16]. Ako bolo spomenuté v predošlej časti o
softvérových licenciách, možno ich v princípe rozdeliť na dve hlavné skupiny.
Permisívne licencie koncového používateľa obmedzujú minimálne. Umožňujú
modifikovaný softvér odvodený od toho licencovaného zverejniť, ale aj uzatvoriť pod
inou, aj proprietárnou licenciou.
Recipročné licencie narozdiel od permisívnych licencií vo všeobecnosti
37
ukladajú používateľovi povinnosť publikovať modifikovaný a odvodený softvér pod
rovnakou licenciou.
Najpoužívanejšie open source licencie
GPL/LGPL (2 & 3) 64.83%
New BSD / MIT 10.21%
Artistic License (Perl)
- 8.72%
Apache License 3.97%
Code Project Open
License - 3.28%
Mozilla Public License
- 1.52%
Microsoft Public
License - 1.16%
Common Public License - 0.58%
zlib/libpng License 0.45%
Eclipse Public License
- 0.45%
Iné - 4.83%
Obrázok 2: Najpoužívanejšie open source licencie. [17]
Z grafu jasne vyplýva, že používanejšie sú licencie zaväzujúce používateľa
odvedený softvér publikovať pod rovnakou licenciou. Až takmer 65% softvéru je
vydaných priamo pod GPL licenciou. Ak by sme k tomu pripočítali aj hodnoty licencií
kompatibilných s GPL (New BSD/MIT, Artistic License a Apache license), tak výsledná
hodnota je viac ako 87% v prospech GPL.
7.2 Vývojový model
V praxi vývoja FOSS je rozsah, v akom sa spoločnosti spoliehajú na komunitu
veľmi rôzny. Niektoré spoločnosti sa na vývojárov z komunity spoliehajú, iné
spoločnosti preferujú vývoj za zatvorenými dverami a až následne využívajú možnosti
otvoreného softvéru v rámci distribúcie a rozšírenia. Existujú tiež rôzne kombinácie, z
ktorých každá má svoje špecifiká.
Spoločnosťou vyvíjaný softvér – Softvér je distribuovaný ako open source a
všetky príspevky sú verejné, ale prevažná väčšina vývoja je výsledkom práce
zamestnancov jednej spoločnosti.
Komunitou vyvíjaný softvér – Softvér je vyvíjaný komunitou a distribuovaný
pod open source licenciou.
Zmiešaný open source – Produkt, alebo služba ponúkaná spoločnosťou je
založená na open source softvéri vyvíjanom verejne, obvykle viacerými spoločnosťami,
či komunitami.
38
Hybridný vývoj – V tomto prípade je produkt distribuovaný ako open source,
ale časť funkcionality je vyvíjaná za zatvorenými dverami.
7.3 Licenčná stratégia výrobcu
Pri voľbe licenčnej stratégie výrobcu sa nerozhoduje len o tom, aká licencia
bude použitá pre daný open source projekt, ale aj o licenčnom mechanizme, v ktorom sa
bude distribuovať výsledný produkt. Niektorí výrobcovia sa rozhodnú distribuovať
všetok ich softvér ako open source. Iní môžu na základe open source projektu vytvoriť
proprietárne rozšírenia a tie licencovať komerčnou licenciou. Možnosťou je tiež
vytvorenie úplne proprietárneho riešenia na základe open source projektu, samozrejme
len vtedy, keď to dovoľuje licencia open source projektu.
V princípe má výrobca softvéru nasledujúce možnosti:
Duálna licencia– Jeden zdrojový kód je v tomto prípade šírený pod rôznymi
licenciami pre rôznych používateľov. Obvyklým dôvodom takéhoto postupu je
opatrnosť veľkých zákazníkov. Štandardne je napríklad zdrojový kód distribuovaný pod
GPL licenciou a veľkým zákazníkom sa dodáva napríklad s detailnejšie ošetrenými
právnymi vzťahmi, alebo nadštandardnými zárukami a podobne.
Open-core licencia – Kmeňový zdrojový kód je distribuovaný pod open source
licenciou, ale rozšírenia a profesionálne verzie obsahujú proprietárny kód a sú ponúkané
pod komerčnou licenciou. Tento model sa tiež často označuje pojmom „the upsellig
model“.
Open-and-closed – Open source produkty sú vhodne dopĺňané proprietárnym
softvérom, ktorý je vyvíjaný oddelene a ponúkaný pod komerčnou licenciou.
Čistý open source – Softvér je vyvíjaný aj distribuovaný čiste ako open source.
Je takto ponúkaný ako celok, vrátane všetkých rozšírení a podobne.
Zložený open source – Výsledný produkt pozostáva z viacerých open source
projektov a používa viacero licencií.
Proprietárny softvér – Produkt síce využíva časti open source softvéru, no nie
je ponúkaný pod open source licenciou.
V nasledujúcom grafe uvádzame zistené rozdelenie používaných licenčných
stratégií podľa prieskumu spoločnosti The 451 Group.
39
Používané licenčné stratégie
Duálna licencia
Open-core licencia
Open-and-closed
Čistý open source
Zložený open
source
Proprietárny
softvér
Obrázok 3: Používané licenčné stratégie
V súčastnosti je rozloženie používania rôznych licenčných stratégií pomerne
rôznorodé a tiež pomerne rovnomerne rozdelené.
Licenčná stratégia výrobcu určuje následný obchodný vzťah medzi výrobcom a
zákazníkom, ale stále ešte nie celkom určuje, z ktorých oblastí a ako bude výrobca
tvoriť zisk. Na to musíme analyzovať oblasti tvorby zisku a identifikovať miesta, kde sa
z používateľa otvoreného softvéru stáva platiaci zákazník spoločnosti tvoriacej open
source softvér.
7.4 Stratégie tvorby zisku
Toto je problematika, ktorá je určujúca pri definovaní rozdielu, alebo bodu
zlomu, medzi používateľom open source softvéru a platiacim zákazníkom spoločnosti
vytvárajúcej open source softvér. Rozhoduje o voľbe ako definovať službu alebo
produkt, za ktorý je používateľ ochotný zaplatiť peniaze. Z princípu to však nesmie byť
súčasť zdrojového kódu.
Niektoré spoločnosti volia za tento zlomový moment používateľskú podporu,
alebo servisné služby. Iní služby spojené so sprevádzkovaním softvéru. Niekedy to
môžu byť pravidelné platby, fungujúce na princípe poistky pre prípad podpory.
V prípade, že si spoločnosť ako oblasť tvoriacu zisk nezvolí služby ale produkt,
do úvahy prichádzajú proprietárne rozšírenia, pokročilé funkcie, alebo zakomponovanie
open source softvéru v inom softvéri, alebo hardvéri.
Obvykle sa však spoločnosti neobmedzujú iba na jednu oblasť generujúcu zisk,
ale volia optimálnu kombináciu.
40
Pozrime sa bližšie na viac možností:
Komerčná licencia – teda licencia, ktorá nebola schválená ani Open Source
Initiative, ani Free Software Foundation, umožňuje spoločnosti definovať ľubovoľné
podmienky vo vzťahu k zákazníkovi, teda môže slúžiť ako základ na komerčné
predávanie softvéru.
Podpora a služby – do tejto kategórie spadajú rôzne call-centrá, príprava a
realizácia školení, konzultačné kontrakty a podobne.
Embedded hardware – open source softvér môže byť distribuovaný ako
integrálna súčasť hardvéru, ktorý môže byť komerčne predávaný.
Embedded software – ak to licencia dovoľuje, open source softvér sa môže stať
súčasťou väčšieho softvérového celku, ktorý môže byť predávaný komerčne.
Softvér ako služba – jedná sa o licenčný model, kedy je prístup, či použitie
softvéru spoplatnené. Modifikovanou verziou môže byť poskytnutie kapacity pre beh
open source softvéru za poplatok.
Reklama – financovanie softvéru je umožnené vďaka pridanej reklame. Softvér
samotný však naďalej ostáva otvorený a bezplatný.
Úprava softvéru na mieru – zdrojom ziskov môže tiež byť prispôsobovanie
softvéru potrebám zákazníka za poplatok.
Doplňujúci softvér – v tomto prípade open source softvér nie je priamo
zdrojom ziskov, no nabáda používateľov k využitiu komplementárneho komerčného
softvéru.
41
8 Využiteľnosť open source softvéru v podnikaní
Nasledujúca časť tejto práce je štúdiou využiteľnosti open source softvéru v
komerčnej sfére. Hlavným cieľom je odhadnúť a zhodnotiť skutočnú mieru
využiteľnosti takéhoto softvéru. V tejto časti budeme hlavne zohľadňovať informácie
uvedené v úvodnej teoretickej časti tejto práce.
Zameriame sa na analýzu faktorov interného a externého prostredia z pohľadu
open source softvéru. Budeme sa teda snažiť odhadnúť silné a slabé stránky open source
softvéru a tiež zhodnotiť príležitosti a hrozby spojené s open source softvérom. V
analýze faktorov externého prostredia rozoberieme zákazníkov, konkurenciu, bariéry
vstupu, dodávateľov a distribútorov. Na základe analýzy externých faktorov zhodnotíme
príležitosti a hrozby vyplývajúce z poznatkov o externom prostredí. Silné a slabé
stránky budú zostavené na základe internej analýzy open source prostredia. Analýza
zohľadňuje skúsenosti, technické zručnosti, spôsoby riadenia, finančné aspekty, kultúru,
organizačnú štruktúru, produkty a služby.
V druhej časti štúdie budeme analyzovať strategické faktory. Skúmanie
interného a externého prostredia bude prepojené do formy silných stránok, slabých
stránok, príležitostí a hrozieb (SWAT analýza). Na základne porovnania poznatkov z
interného prostredia s konkurenciou budú identifikované osobitné schopnosti
(distinctive competencies).
Obrázok 4: Andrewsov model podnikovej stratégie
[18]8
8 Upravené podľa PAPULA, J.: Vývoj stratégického manažmentu pod vplyvom meniaceho sa
prostredia. KARTPRINT, 2004, s. 160
42
8.1 Analýza open source softvéru v podnikateľskom prostredí
8.1.1 Silné stránky
8.1.1.1 Voľne dostupný zdrojový kód
Verejná a bezplatná dostupnosť zdrojového kódu je najpodstatnejšou výhodou
open source softvéru. Je to vlastne implementácia samotného princípu, na ktorom je
open source postavený.
Z faktu, že zdrojový kód open source softvéru je zverejnený a voľne dostupný sú
odvodené takmer všetky silné aj slabé stránky, ako aj výhody a nevýhody.
8.1.1.2 Expertíza a intelektuálny potenciál
Open source softvér vo všeobecnosti má za sebou obrovské množstvo
kvalifikovaných a motivovaných, prevažne mladých vývojárov. Vývojári sú
rozmiestnení globálne. V tomto smere už dávno neplatí, že vývoj softvéru je prevažne
doménou Spojených štátov amerických. Zaujímavou vlastnosťou open source, ako
vývojového modelu je, že je takzvane samo-škálovací. Znamená to, že čím zaujímavejší
a prínosnejší pre používateľov je vytvorený softvér, tým viac vývojárov sa oň
pravdepodobne bude zaujímať a tým zas obohatia samotný vytváraný softvér.
Veľkou výhodou tiež je, že sa na vývoji svojim spôsobom podieľa veľmi veľké
množstvo samotných používateľov tým, že poskytuje spätnú väzbu a hlási prípadné
chyby. Toto je v porovnaní s proprietárnym softvérom veľká výhoda, ktorá má zásadný
vplyv na to, v akej miere sa dnes open source softvér používa. Doslova tisíce ľudí
obvykle hlási chyby ešte v ranných vývojových štádiách vývoja softvéru.
8.1.1.3 Výskum a vývoj pokrytý dobrovoľníckou prácou
Výskum a vývoj open source softvéru sú pokrývané dobrovoľníckou prácou v
hodnote miliárd amerických dolárov. V skorších štádiách bolo najčastejším modelom
prispievania, keď programátori prispievali do zdrojového kódu nejakého open source
programu, ako svoje hobby, či osobný záujem v svojom voľnom čase.[2] V dnešnej
dobe, s príchodom komerčných verzií open source softvéru, sa situácia dramaticky
zmenila. Pri niektorých projektoch sú vývojári často zamestnancami jednej spoločnosti
a sú za svoju prácu platení štandardným spôsobom. To však nemení nič na tom, že ešte
aj dnes existuje pomerne vysoké percento ľudí, ktorí sú pri vývoji open source softvéru
43
motivovaní inak, ako finančne. Niekedy je spúšťačom takéhoto konania napríklad
oprava chyby, ktorú si vývojár všimol pri svojej práci a jej odstránenie je prínosom pre
jeho samotného. Ak sa s touto opravou podelí s ostatnými, bude to prínosom pre veľké
množstvo ďalších používateľov. Iní sa do open source projektov zapájajú so snahou
zlepšiť si svoje odborné referencie, čo so sebou prináša zvýšené šance pri budúcom
hľadaní si zamestnania a podobne.
8.1.1.4 Rýchle tempo vydávania softvéru (release rate)
Vo všeobecnosti môžeme tvrdiť, že čas potrebný na zverejnenie tzv. patch-u,
alebo opravy chyby je pri open source softvéri kratší, ako tomu býva pri proprietárnom
softvéri. Za následok to má spôsob, akým sa pristupuje k vydávaniu nových verzií
softvéru. V open source komunite platí overené pravidlo „release early, release often“.
Skoré uvedenie softvéru pred zraky vnímavých používateľov môže totiž vývojárovi
ušetriť veľkú časť práce, odkloniť ho od chodníčkov, ktoré používateľom nevyhovujú a
podobne. Možnosť zverejniť softvér skoro a často je teda daná v prvom rade tým, že
vývojár nie je viazaný žiadnymi komerčnými obmedzeniami, ani inými činnosťami,
ktoré odpadávajú z titulu, že je softvér distribuovaný najmä pomocou internetu a to
zadarmo. Nikto nemusí čakať, kým sa vymyslí nový obal na CD, alebo kým sa
dopredáva staršia verzia, ktorá je ešte stále na pultoch obchodov.
Napríklad cyklus vydávania nových verzií Linux kernel-u sa pohybuje v
rozmedzí 2-3 mesiace, pričom oprava chýb sa deje v ešte rýchlejšom tempe. V každej
novej vydanej verzii Linuxového jadra je viac ako 10 000 opráv.[19]
8.1.1.5 Paralelný vývoj a debugovanie
Open source projekty sú často vyvíjané viacerými malými nezávislými
skupinami vývojárov. Tie pracujú samostatne na riešení špecifických problémov. Keďže
je tento proces často založený na dobrovoľníckej práci, vývojári nie sú nútení
podriaďovať sa bežným limitáciám. Paralelný proces vývoja umožňuje súbežný vývoj
mnoho aplikácií v rovnakom čase. Je však potrebné zabezpečiť, aby sa nemrhalo
dobrovoľníckou prácou. Z tohto dôvodu je pri vývoji softvéru nutné, aby si vývojári
nejakým spôsobom úlohy zmysluplne rozdeľovali. V dnešnej dobe práve na
komunikáciu a kooperáciu vývojárov existujú výborné nástroje. Spomenúť môžeme
napríklad nástroje na správu verzií SVN, alebo Git, ktoré patria medzi špičku v softvéri
tohto zamerania, ak nie sú vôbec najlepšie. Obe sú samozrejme open source.
44
Na druhej strane paralelné debugovanie9 vysokou mierou zvyšuje efektivitu pri
vývoji softvéru. Podobne ako pri samotnom vývoji, aj v spojitosti s debugovaním open
source softvéru existujú minimálne, ako vôbec nejaké náklady na manažment.
Výsledkom paralelného debugovania je hlásenie chýb, takzvaných „bugov“. Včasné
hlásenie nájdených chýb prispieva k zvyšovaniu kvality výsledného softvéru. Ak už je
softvér v prevádzke, na základe nahlásenej chyby je možné vytvoriť opravný balíček,
takzvaný „patch“. Patche majú často charakter bezpečnostných záplat a podobne
kriticky dôležitých modifikácií. Opravy chýb s nižšou prioritou sa potom publikujú
vrámci štandardných cyklov vydávania softvéru. Tempo vydávania jednotlivých verzií
je plne v réžii samotných autorov. Vydávanie môže byť tiež nepravidelné, teda
vychádzajúce z aktuálnych potrieb. Viacero veľkých open source projektov si však
osvojuje systém pravidelných aktualizácií. Napríklad distribúcia Linuxu Ubuntu je
vydávaná dva krát do roka, pričom každé dva roky je vydaná verzia, na ktorú bude
poskytovaná dlhodobá podpora. Tento cyklus vznikol na podporu komerčného
využívania Ubuntu. Žiadna spoločnosť však nemusí čakať pol roka, kým môže použiť
aktualizáciu softvéru, ktorú potrebuje. Opravy jednotlivých programov sú vydávané
nezávisle a sú používateľom dostupné ihneď po ich zverejnení, čo je z pravidla takmer
ihneď po vyriešení daného problému.
8.1.1.6 Zrelosť kódu
V rozmedzí rokov 2008 a 2009 v zdrojovom kóde linuxového jadra pribudlo 2,7
milióna riadkov kódu.[19] Do roku 2005 sa na jeho vývoji podieľalo viac ako 5000
individuálnych vývojárov a viac ako 500 rôznych spoločností.[19] Tieto fakty
naznačujú, že bez vysokej miery koordinovanosti a dômyselného konania by nebolo
možné vytvoriť tak komplexné dielo, ako je napríklad linuxové jadro. Dôležitým
znakom vypovedajúcim o kvalite softvéru je spôsob, akým je písaný jeho zdrojový kód.
Vzhľadom na vyššie uvedené čísla vidno, že pri tak rozsiahlom projekte je takáto
kvalita priam nutnosťou.
Celkovo fakt, že na vývoji open source softvéru sa podieľajú ľudia rozmiestnení
v rôznych krajinách prispieva ku kvalite kódu, dokumentácie a celkovej kultúry pri
písaní softvéru.
9 Debugovanie je pojem používaný programátormi, označujúci proces ladenia softvéru a hľadania chýb
pri jeho vývoji.
45
8.1.1.7 Dlhodobá prístupnosť
Ďalšou výhodou komunitného prístupu k vývoju softvéru je absencia hrozby, že
spoločnosť, ktorá vyrába daný softvér odíde z trhu. Ak bude softvér prinášať pozitívne
hodnoty a v komunite bude záujem a potenciál na ďalší vývoj a podporu softvéru,
používateľ sa nemusí obávať straty. Navyše tým, že je zdrojový kód dostupný verejne,
používateľ nie je výhradne závislý na spoločnosti vyrábajúcej daný softvér. Existuje aj
možnosť, že by v údržbe softvéru pokračovala nejaká iná spoločnosť samostatne.
8.1.2 Slabé stránky
8.1.2.1 Absencia vlastníctva
Väčšina ľudí pohybujúcich sa v komerčnej sfére je zvyknutá, že vždy existuje
niekto, kto je povinný niesť zodpovednosť a platiť účty. Komerčná spoločnosť je vždy
hmatateľnejšia, ako „proces tvorby open source softvéru“. Pozícia spoľahlivého nositeľa
zodpovednosti sa tiež ľahšie obsadzuje konkrétnou spoločnosťou, ako anonymnou
komunitou.
Táto skutočnosť je do veľkej miery zneužívaná veľkými spoločnosťami
vytvárajúcimi softvér. Používa sa marketingová stratégia strachu, neistoty a
pochybností.[2] V rámci tohto prístupu sa zákazník uvedie do stavu neistoty a cesta
odklonu od komerčnej spoločnosti sa vykresľuje ako riziková a neistá. Výstižný je
nakoniec všeobecne známy výrok „No one ever got fired for buying IBM.“ Teda
zákazníci často kúpia horší produkt za vyššiu cenu s garanciou, že je to od lídra na trhu.
8.1.2.2 Absencia kontroly nad plánom vývoja
Zákazník v prípade, že používa open source softvér nemá výraznejší vplyv na to,
akým smerom sa bude softvér ďalej vyvíjať. Pokiaľ teda zákazník nevie odhadnúť
budúcnosť nejakého open source softvéru, je jeho nasadenie na kritické úlohy
diskutabilné. Ak je však softvér po dlhšiu dobu úspešne využívaný širokou základňou
používateľov, potom by po dôkladnom zvážení nemal byť dôvod na obavy.
8.1.2.3 Potreba kvalifikovaného personálu
Špecializovaní zamestnanci musia ostať v kontakte s nepretržitým vývojom v
open source komunite. Príliš časté vydávanie nových verzií nemusí byť vždy pozitívne.
Ak je tempo privysoké, môže to v istých situáciách prinášať skôr problémy s neustálou
46
potrebou updatovania a podobne.
Nové verzie musia byť kompatibilné a musia byť integrované do fungujúceho
systému, čo môže predstavovať prinajmenšom výzvu pre personál, ktorý to má na
starosti.
Neustály vývoj so sebou prináša aj potrebu kvalifikovanej expertízy. Tá môže
byť zabezpečovaná buď internými zamestnancami, alebo externými poradenskými
spoločnosťami. Obe z týchto možností však môžu byť pomerne finančne nákladné.
8.1.2.4 Kvalita open source softvéru sa môže diametrálne líšiť
Vzhľadom na svoju podstatu môže byť skutočná kvalita open source softvéru
veľmi rozdielna. Závisí to najmä od toho, o aký softvér sa jedná a či je to výsledkom
seriózneho úsilia skupiny ľudí, alebo skôr nejaký nevýznamný mini projekt. Kvalitu
softvéru môžeme rozoznať napríklad podľa komunity, ktorá sa okolo neho vytvorila,
alebo počtu používateľov. Dobrým znakom býva početná a hlavne aktívna komunita a
čo najširšie spektrum používateľov. Rozhodujúca tiež môže byť napríklad existencia
platenej verzie podpory, alebo existencia spoločností, ktoré sa zaujímajú úpravami
daného softvéru a podobne.
8.1.3 Príležitosti
8.1.3.1 Potenciál na znižovanie nákladov
Asi najvýznamnejším pozitívom open source softvéru je jeho potenciál na
znižovanie nákladov a to u všetkých skupín, ktoré s ním prichádzajú do kontaktu.
Pre koncových používateľov je znižovanie nákladov priamočiare. Používať
bezplatný softvér, ktorý je v mnohých oblastiach vyrovnaný, či dokonca kvalitnejší ako
ten platený, prináša okamžité a zásadné zníženie nákladov pre bežného koncového
používateľa. Dovolím si tvrdiť, že najmä v oblastiach ako sú operačné systémy,
kancelársky softvér, softvér používaný na tvorbu internetových aplikácií a na
publikovanie na webe, internetové prehliadače, práca so zvukom a obrazom,
komunikačný softvér, účtovný softvér, oblasti programovania, je open source softvér
jasnou voľbou pre bežného koncového používateľa.
Pre tvorcov softvéru open source prináša príležitosť vo forme možnosti využitia
existujúcich softvérových častí. Cestou môže byť aj postavenie proprietárneho riešenia
47
na open source základoch, teda so zahrnutím existujúceho open source projektu, alebo
vyžitím open source platformy.
8.1.3.2 Konkurenčná schéma podpory
Ak sa pozrieme napríklad na operačné systémy, existuje naozaj široké spektrum
možností. Každá s distribúcií je v niečom špecifická a môže lepšie vyhovovať
konkrétnym požiadavkám rôznych zákazníkov. Jednotlivé distribúcie potom pôsobia
ako prostredníci medzi nepretržitým vývojom open source softvéru koncovými
používateľmi, či zákazníkmi, ktorí skôr potrebujú stabilné, nie príliš rýchlo sa meniace
pracovné prostredie.
Väčšina výrobcov spolu so softvérom ponúka tiež služby podpory, integrácie a
podobne. Z toho dôvodu sa u výrobcov kladie predovšetkým na služby, nie softvér
samotný. Rôznorodosť tiež zvyšuje konkurenčné prostredie a tak vo všeobecnosti
vplýva pozitívne na kvalitu aj ceny.
8.1.3.3 Rýchlosť vývoja
Tempo vývoja v prostredí open source je často rýchlejšie, ako v komerčných
firmách i keď sa to týka len istých oblastí. Aktualizácie sú však vo všeobecnosti
vydávané častejšie. Toto sa dá využiť ako zdroj konkurenčnej výhody najmä v prostredí
tvorby softvéru.
8.1.4 Hrozby
8.1.4.1 Cena údržby
S prevádzkovaním open source softvéru sú často spojené pomerne vysoké
náklady na údržbu. Výdavky pre externé spoločnosti poskytujúce služby údržby a
podpory môžu predstavovať značné sumy.
Ak je údržba zabezpečovaná internými zamestnancami, potom aj táto forma
údržby môže predstavovať pomerne veľkú záťaž na rozpočet spoločnosti.
8.1.4.2 Hrozba straty kvalifikovaného personálu
Strata kvalifikovaného personálu zabezpečujúceho chod open source systému
môže byť kritická. Hlavným problémom je skutočnosť, že s odchodom takéhoto
zamestnanca odchádzajú aj jeho znalosti a schopnosti.
48
8.1.4.3 Riziko fragmentácie
K fragmentácii zdrojového kódu obvykle dochádza vtedy, keď sa vývojári
nevedia dohodnúť na spoločnom vývoji v rámci jedného projektu a majú rôzne
predstavy o pokračovaní daného projektu. Tento proces sa nazýva „code forking“ a
vedie k vývoju dvoch paralelných verzií programu vychádzajúcich zo spoločného
základu. Príklady fragmentovaného kódu nájdeme v komerčných implementáciách
Unixu, ako napríklad SCO, Solaris, IRIX, HP-UX, ako aj v nekomerčných FreeBSD,
BSDI a NetBSD.
8.1.4.4 Legálnosť použitých licencií
Pred tým ako akákoľvek spoločnosť začne podnikať s využitím open source
softvéru, je nutné dôkladne preveriť, či sú ich aktivity v súlade s licenciami jednotlivých
programov, ktoré používajú.
8.1.5 Výsledky analýzy
Výsledky vykonanej analýzy sme zhrnuli do formy prehľadnej tabuľky, ktorá v
stručnosti porovnáva silné a slabé stránky, príležitosti a hrozby, ktoré vznikajú v
súvislosti v využívaním open source softvéru.
Silné stránky
•
•
•
•
•
•
•
Voľne dostupný zdrojový kód
Mohutná expertíza a intelektuálny
potenciál
Výskum a vývoj pokrytý
dobrovoľníckou prácou
Rýchle tempo vydávania softvéru
Paralelný vývoj a debugovanie
Zrelosť kódu
Dlhodobá prístupnosť
Príležitosti
•
•
•
Potenciál na znižovanie nákladov
Konkurenčná schéma podpory
Rýchlosť vývoja
Slabé stránky
•
•
•
•
Absencia vlastníctva
Absencia kontroly nad plánom
vývoja
Potreba kvalifikovaného personálu
Kvalita open source softvéru sa
môže diametrálne líšiť
Hrozby
•
•
•
•
Cena údržby
Hrozba straty kvalifikovaného
personálu
Riziko fragmentácie
Legálnosť použitých licencií
49
8.2 Analýza trhu
Väčšina potenciálnych záujemcov o open source softvér sa oň zaujíma kvôli
jeho kúpnej cene, nákladom spojeným s vlastníctvom a stabilite.[2] V poslednej dobe
bol hlavne vývoj open source softvéru identifikovaný ako vhodný prostriedok na
získanie početnej používateľskej základne. Ďalším krokom po získaní používateľskej
základne je snaha o konvertovanie čo najvyššieho počtu používateľov bezplatného
softvéru na platiacich zákazníkov. Táto marketingová stratégia sa však využíva pomerne
krátko.
8.2.1 Trhové segmenty
Jednotlivé trhové segmenty by sme mohli identifikovať podľa dvoch hlavných
kritérií. Prvým kritériom je skupina koncových používateľov. Na základe tohto kritéria
môžeme identifikovať tri základné trhové segmenty, segment firemných používateľov,
segment individuálnych používateľov a školstvo, vedu a výskum.
Druhým kritériom je oblasť nasadenia jednotlivých aplikácií. Dva hlavné takto
vytvorené segmenty sú segment serverov a segment osobných počítačov.
V nasledujúcich častiach sa pozrieme bližšie na jednotlivé trhové segmenty a ich
špecifiká.
8.2.1.1 Firemní používatelia
Segment firemných používateľov je mimoriadne dynamicky sa rozvíjajúci. Je to
segment, ktorý v krátkej minulosti podnietil asi väčšinu rozvoja open source softvéru.
Hlavným dôvodom je to, že segment firiem je vlastne jediným segmentom v aplikácii
open source softvéru s výraznejším komerčným potenciálom. Iste, existujú aj stratégie
tvorby zisku, ktoré sa spoliehajú, že používateľ ako jednotlivec bude tvorcom zisku, no
prevažná väčšina stratégií tvorby zisku popísaných v časti o open source softvéri a
biznis
modeloch
predpokladá,
že
zákazníkom
bude
ďalšia
spoločnosť.
Najvýznamnejšími stratégiami sú poskytovanie podpory, či úprava softvéru na mieru.
Ďalšou možnosťou je predávanie open source softvéru pod komerčnými licenciami.
Vzniká tak vlastne kontrakt o poskytovaní služby, čo je však možné len za špecifických
okolností.
Podľa štúdie spoločnosti Third Nature sú hlavnými dôvodmi, prečo spoločnosti
50
používajú open source softvér najmä finančné výhody, no tesne na druhom a treťom
mieste sú nezávislosť na výrobcovi a jednoduchosť integrácie.[20] Tieto argumenty sa
stávajú čoraz relevantnejšie najmä v období prebiehajúcej finančnej krízy. Na základe
týchto informácií môžeme očakávať aj v blízkej budúcnosti dynamický rozvoj tohto
segmentu.
Jeho predstaviteľom je spoločnosť využívajúca open source softvér pri svojej
činnosti. Do toho spadajú tak spoločnosti tvoriace softvér a poskytujúce služby
ohľadom open source softvéru, ako aj spoločnosti, ktoré softvér len používajú a sú
odberateľom služby. Tento segment je zaujímavý aj tým, že v sebe obsahuje tak
producentov ako aj konzumentov. Ponuku, aj dopyt.
Softvér používaný biznis zákazníkmi býva obvykle z kategórie väčších,
robustných projektov. Najčastejšími aplikáciami je tvorba softvéru, serverové aplikácie
a aplikácie poskytujúce služby na internete. Ako príklady môžeme uviesť databázový
systém MySQL, JBoss aplikačný serner, či ERP balík ADempier.
8.2.1.2 Školstvo, veda a výskum
Niekde na pomedzí medzi firmami a individuálnymi používateľmi stojí segment
tvorený používateľmi zo školstva a vedy. Títo používatelia majú v sfére open source
softvéru pomerne veľké zastúpenie. Väčšina ľudí sa s používaním open source softvéru
stretne práve v školskom prostredí.
Operačný systém Linux je vo vedeckom prostredí dobre známy. Vplyv vedy sa v
používaní open source operačných systémov prejavuje aj vo vysokoškolskom prostredí.
Samotný open source softvér má svoje počiatky vo vedeckom prostredí.
Dôležitým medzníkom pri jeho vzniku bolo založenie GNU projektu, ktorý založil
Richard Stallman v roku 1984 ako výskumník v laboratóriu MIT.[21]
Komerčný potenciál tohto segmentu je malý. Je skôr miestom, kde open source
softvér vzniká, najmä pre vedecké účely. Tiež sa do značnej miery využíva na účely
výuky a tento trend má rastúcu tendenciu.
8.2.1.3 Individuálni používatelia
Oproti firemným používateľom sú v druhom segmente individuálni používatelia.
Potreby tejto skupiny používateľov sú diametrálne odlišné od firiem. Väčšinou sú títo
používatelia zameraní na funkciou jednoduchší softvér, uspokojujúci jednoduché
51
potreby. Príkladmi môže byť prehliadanie webových stránok, posielanie emailov,
používanie kancelárskeho softvéru na jednoduché úlohy, práca s multimédiami a
podobne.
Významným prvkom tohto segmentu je využívanie peer-to-peer sietí a aplikácií.
Z komerčného prostredia bolo uskutočnených viacero pokusov na využitie tohto silného
média s komerčným efektom. Zatiaľ sa však o výrazných výsledkoch nedá hovoriť.
Nesporne však, má tento segment mimoriadne veľký potenciál.
V rámci tohto segmentu svoje uplatnenie našlo veľké množstvo malých
softvérových projektov, ktoré plnia jednotlivé úlohy. Často sa však takto vytvorený
softvér vyrovná, dokonca prevyšuje komerčne ponúkaný softvér.
V tomto trhovom segmente sa naplno uplatňuje stratégia získania si čo najširšej
používateľskej základne. Na rozdiel od firiem tu však neprevláda tlak na konverziu
používateľov z používajúcich open source softvér na platiacich zákazníkov. Jedným z
cieľov je dostanie softvéru do povedomia širokého spektra ľudí, to však nie je primárny
cieľ. Keď u firiem bol primárny cieľ poskytnúť im služby, u individuálnych
používateľov sú to skôr produkty.
Najvyužívanejšími stratégiami tvorby zisku v tomto segmente sú využívanie
reklamy a
sprostredkovanie služieb iných spoločností. Príkladom sprostredkovania
služieb môže byť napríklad internetový prehliadač Mozilla Firefox. Najväčšia časť
príjmov, v roku 2006 až 92% [22], organizácie Mozilla pochádza od spoločnosti
Google, ktorá im platí za obrovské množstvo uskutočnených vyhľadávaní
prostredníctvom vyhľadávacieho okienka vo Firefoxe. Predvoleným vyhľadávačom je
tam totiž práve Google.
Komerčný potenciál tohto segmentu teda predsa len existuje, no prevažné
množstvo komerčných aktivít ho chápe iba ako medzistupeň, alebo prostriedok na
zviditeľnenie sa, či rozšírenie svojej potenciálnej zákazníckej základne.
52
8.2.1.4 Servery
V serverových aplikáciách sa za open source softvér číslo jeden považuje
operačný systém Linux. Predpokladá sa, že väčšina inštalácií Linuxu dnes je práve na
serveroch. [2] Postavenie Linuxu v segmente serverov je silné hneď z niekoľkých
dôvodov. Predovšetkým, pre serverový trh je open source softvér dobre známy a
uznávaný už dlhý čas. Po druhé ľudia pracujúci okolo správy serverov sú obvykle dobre
technicky vzdelaní a dobre zvládajú technické požiadavky, ktoré si práca s open source
softvérom vyžaduje.
Linux môže byť v tomto kontexte použitý na riešenie širokého spektra úloh.
Môže byť Web server, FTP server, proxy, mail server, DNS server, firewall, TCP/IP
router a mnoho ďalších. Všetky spomenuté aplikácie sú implementované ako open
source aplikácie. Aj tu je vidno silné zastúpenie open source softvéru v segmente
serverov. Na ilustrovanie tohto faktu môžeme použiť štatistiku spoločnosti Netcraft z
marca 2010.
Obrázok 5: Trhový podiel webserverových aplikácií z marca 2010 [33]
53
Pomer používaných operačných systémov na
500 najvýkonnejších počítačoch sveta
Linux - 89.2
Window s - 1
Unix - 5
BSD Based - 0.2
Mixed - 4.6
Obrázok 6: Pomer používaných operačných systémov na 500
najvýkonnejších počítačoch sveta
[23]
8.2.1.5 Osobné počítače
Po výrazných investíciách do grafických rozhraní, vývoja aplikácií a
používateľskej prívetivosti sa dostavujú prvé úspechy Linuxu a open source softvéru vo
všeobecnosti aj v sfére osobných počítačov. Na trhu s osobnými počítačmi však existujú
bariéry, ktoré zákazníkov obmedzujú v možnostiach výberu. Tieto sa najvýraznejšie
prejavujú na trhu s operačnými systémami. Obvyklým postupom je, že ak si zákazník
chce kúpiť istý model počítača, potom buď nemá možnosť ho zakúpiť bez operačného
systému Microsoft Windows, alebo má možnosť vybrať si medzi jednotlivými verziami
systému Windows. Len v posledných rokoch sa už objavili aj výrobcovia osobných
počítačov, ktorí ponúkajú počítače buď bez operačného systému, alebo s
predinštalovaným open source operačným systémom.
V súčastnosti sa úsilie open source komunity sústreďuje na zvýšenie počtu
aplikácií kompatibilných s tými na operačných systémoch Windows a Mac.
Z minulosti do dnes pretrváva všeobecný názor o používateľskej neprívetivosti a
komplikovanosti predovšetkým operačných systémov. Používatelia boli vtedy nútení
písať príkazy do príkazového riadku v termináli.
Po veľkom úsilí vynaloženom napríklad v projektoch Gnome a KDE je dnes
všetko inak. Domnievam sa, že používateľské rozhrania, ktoré dnes môžeme vidieť
spolu s linuxovými distribúciami, sú ďaleko pred tými, ktoré ponúka spoločnosť
54
Microsoft a sú zhruba na úrovni grafického používateľského rozhrania Aqua, ktorý sa
dodáva s Mac OS X. Pokrok grafických používateľských rozhraní prišiel až tak ďaleko,
že si dnes používateľ ani nemusí uvedomiť, aký operačný systém vlastne používa. Po
chvíli nastavovania sú napríklad Ubutnu s Gnome GUI10 na nerozoznanie od Mac OS X
s Aqua GUI. Taktiež používateľ bez hlbšieho bádania napríklad nerozozná, či používa
linuxovú distribúciu Ubuntu alebo Fedora, ak obe používajú rovnaké GUI. Poskytovaná
miera abstrakcie je teda na mimoriadnej úrovni.
Poskytované spektrum aplikácií sa v posledných rokoch rozširuje. Asi najväčším
nedostatkom v tomto smere je absencia profesionálnych nástrojov v istých oblastiach. I
keď takmer všade sa nájde open source aplikácia, ktorá do veľkej miery uspokojí
potreby bežného používateľa, s profesionálnymi aplikáciami je stav horší. Dôvodom je s
najväčšou pravdepodobnosťou trhový podiel, ktorý majú open source softvér na
osobných počítačoch. Ten sa pohybuje niekde na hranici jedného percenta.
Window s XP –
53.60
Window s Vista –
23.46
Window s 7 – 9.49
Mac OS X – 5.90
Linux – 1.12
IPhone – 0.68
Iné – 2.52
Obrázok 7: Trhový podiel operačných systémov v osobných
počítačoch
[24]
8.3 Hodnotenie uskutočniteľnosti podnikateľských príležitostí
Ak by sme dlhodobo skúmali ekonomickú náročnosť a benefity spojené s
používaním open source softvéru v porovnaní s klasickým proprietárnym softvérom,
víťazstvo jednej alebo druhej alternatívy by bolo nutné posudzovať podľa špecifík
určenia, použitia a rad ďalších okolností, ktoré majú vplyv na našu voľbu. Náklady a
10 GUI je skratka od Graphical User Interface, po slovensky grafické používateľské rozhranie, je systém,
ktorý vizuálnou formou tlmočí používateľovi operačného systému príkazy na obrazové výstupy.
Umožňuje používateľovi interagovať s počítačom pomocou grafiky.
55
benefity sú ovplyvnené voľbou platformy, požiadaviek kladených na beh, operačného
systému, ale najmä na stanovené ciele. S ohľadom na ich špecifické potreby a parametre
prostredia, by si mali používatelia vybrať pre nich najefektívnejší softvér. Teda taký
softvér, ktorý pre nich maximalizuje benefity a minimalizuje náklady. Rozhodujúcimi
faktormi pri voľbe softvéru sú teda celkové náklady na vlastníctvo softvéru a
poskytované benefity.
Typickými príkladmi úspešných nasadení open source softvéru, v porovnaní s
proprietárnym, sú obvykle serverové aplikácie. Tie si obvykle vyžadujú inštaláciu a
údržbu zabezpečovanú profesionálnym personálom v oblasti.
Menej príkladov úspešných nasadení nájdeme pri bežných individuálnych
používateľoch. Niektoré zdroje generalizujú a tvrdia, že open source produkty nie sú o
nič horšie ako tie proprietárne. Je však nutné povedať, že benefity sú vysokou mierou
závislé na spôsobe použitia a špecifických požiadavkách individuálnych používateľov.
Pri rozhodovaní medzi open source a proprietárnym softvérom sú teda
najvýznamnejšie asi tri faktory, a to:[2]
1. Náklady – priame (cena softvéru) a nepriame (straty spôsobené používaním)
2. Benefity – napríklad výkon, stabilita a podobne
3. Iné kvalitatívne kritériá – podpora a podobne
Priame náklady sú predpokladateľné a dobre odhadnuteľné. Sú tvorené
predovšetkým výdajmi spojenými s jednotlivými fázami životného cyklu softvéru. V
dnešnej dobe sú však asi najvplyvnejšími faktormi nepriame náklady a používateľské
spolu s výkonnostnými benefitmi, ako napríklad spoľahlivosť, funkcionalita,
prispôsobiteľnosť, škálovateľnosť a podobne. So zvyšujúcou sa dôležitosťou týchto
faktorov sa znižuje relevancia tradičných modelov odhadovania nákladov založených na
životnom cykle softvéru.
Pozrime sa ďalej na štruktúru nákladov spojených s implementáciou open source
softvéru:
•
Priame náklady
◦
Softvér
◦
Hardvér
56
◦
◦
•
Podpora
▪
Interná
▪
Externá
Náklady na zamestnancov
Nepriame náklady
8.3.1 Priame náklady
8.3.1.1 Softvér a hardvér
8.3.1.1.1 Softvér
Open source operačný systém je voľne verejne dostupný, je tiež používateľný
bez licenčného poplatku. Cena Windows 7 je dnes na oficiálnych stránkach spoločnosti
Microsoft v rozmedzí od $199,99 do $319,99 za jednu licenciu. Všetky prípadné ďalšie
programy od rovnakej spoločnosti sú spoplatnené. Napríklad cena za kancelársky balík
sa pohybuje v rozmedzí $149,95 až $679,95. V open source režime sú náklady na kúpu
nulové.
8.3.1.1.2 Hardvér
Dnešné open source operačné systémy sú vo všeobecnosti menej náročné na
výkon hardvéru ako operačný systém Windows 7. Na druhej strane zas môže napríklad
Linuxu chýbať hardvérová podpora pre najnovšie modely hardvéru.
8.3.1.2 Podpora
8.3.1.2.1 Interná podpora
Priemerný mesačný plat programátora je dnes 1 247 €[25] a správcu počítačovej
siete 891 €[26]. V prípade menších problémov je v oboch prípadoch možné získať
podporu v rámci komunity. V prípade väčších problémov je s open source softvérom
využiť služby interných zamestnancov, pri proprietárnom softvéri je nutné využiť
podporu z externých zdrojov.
8.3.1.2.2 Externá podpora
Podporu je možné riešiť pomocou komerčných spoločností buď formou platieb
57
za každý incident, alebo predplatnými ročnými službami. Ceny podpory u rôznych
výrobcov sú vo všeobecnosti porovnateľné.
Štandardná ročná podpora u spoločnosti RedHat stojí $299 pre pracovnú stanicu,
nadštandardná pre server napríklad $1299[27]. Ceny za incident sa pohybujú okolo $60$85.
8.3.1.3 Náklady na zamestnancov
Náklady na zamestnancov v sfére open source aj proprietárneho softvéru sú
takmer rovnaké a závisia skôr na individuálnych okolnostiach.[2] V závislosti na voľbe
buď proprietárneho modelu alebo open source modelu sa však vzhľadom na štruktúru
organizácie a špecifík projektu môže meniť kvantita potrebnej práce. Náklady na
zamestnancov by teda vždy mali byť posudzované individuálne s prihliadaním na
špecifické potreby tej ktorej organizácie.
Projektový manažment: Priemerná hrubá mesačná mzda projektového
manažéra v oblasti informačných technológií je 1982€.[28] Samozrejme by sa asi plat
projektového
manažéra
odvíjal
od
veľkosti
realizovaného
projektu
a
jeho
zodpovedností.
Systémové inžinierstvo/vývoj: Priemerná hrubá mesačná mzda systémového
inžiniera je 1657€.[29]
Správa informačného systému: Priemerná hrubá mesačná mzda správcu
informačného systému je 1088€.[30]
Ďalej treba počítať s nákladmi na inú administráciu, ale napríklad aj školenia a
iné formy vzdelávania.
8.3.2 Nepriame náklady
Nepriamymi nákladmi vyjadrujeme ekonomický dopad „skrytých“ vplyvov a
výnimočných súvislostí, ktoré môže byť obtiažne inak zachytiť. Keďže potenciálne
môžu byť významné, je dôležité ich identifikovať a zhodnotiť. Najlepšie sú asi
vyjadriteľné mierou straty produktivity. Zatiaľ čo mzda zamestnancov je zachytená ako
priamy náklad, nepriame náklady v tomto prípade vyjadrujú náklady na prácu
zamestnancov, ktorá bola „premrhaná“ a mohla byť použitá efektívnejším spôsobom.
Inak povedané takto pre organizáciu nevznikajú ďalšie priame náklady, no výsledkom je
58
znížený objem dosiahnutých výsledkov, spôsobený neefektívne vynakladanou prácou.
V nasledujúcej časti pomenujeme niektoré spôsoby, ktorými sa nepriame
náklady zvyšujú. Straty môžu vznikať napríklad pri poskytovaní si podpory medzi
zamestnancami, pre ktorých to nie je náplň ich práce. Prípadová štúdia ukázala, že sa
takto síce dajú ušetriť náklady za platenú podporu, ale efektivita zamestnancov zároveň
klesla o 27%. [2] Rovnako je to s predávaním si informácií na pracovisku namiesto
formálneho školenia. Pri poskytovaní školení sa ako nepriamy náklad počíta platený
čas, ktorý je zamestnanec mimo pracoviska. Ďalším príkladom by mohol byť samotný
koeficient efektivity. Ten hovorí o percentuálnom podieli efektívne stráveného času na
pracovisku.
8.3.3 Taxonómia výhod a rizík
Nami navrhovaná taxonómia môže slúžiť ako nástroj na podporu rozhodnutí pri
voľbe nasadzovaného softvéru. Má za účel zjednodušiť posúdenie a porovnanie cien,
výhod a iných nehmatateľných kritérií dôležitých pri voľbe softvéru.
Nami navrhovaná taxonómia obsahuje zoznam kvalitatívnych kritérií. Subjekt
výberu by mal následne porovnať relatívne silné a slabé stránky a ohodnotiť ich.
Zvoľme za hodnotenie to, ktoré sa používa v školách, teda známky od 1 do 5, pričom 1
je najlepšie a naznačuje silnú stránku, alebo výhodu. 5 je najhoršie a naznačuje slabú
stránku, alebo riziko. Jednotlivé známky by teda označovali: 1 veľmi silné, 2 silné, 3
neutrálne, 4 slabé, 5 veľmi slabé.
Nadobudnuté hodnoty potom môžeme po pridaní váh kritérií napríklad použiť
ako vstup pre metódu bázického variantu.
Toto sú nami zvolené kritériá:
1. Prispôsobiteľnosť
2. Spoľahlivosť a dostupnosť
3. Interoperabilita a kompatibilita
4. Škálovateľnosť
5. Flexibilita návrhu
6. Životnosť
7. Výkon
59
8. Kvalita služieb a podpory
9. Bezpečnosť
10. Náročnosť na správu a manažment
11. Riziko fragmentácie
12. Dostupnosť kompatibilných aplikácií
8.3.3.1 Prispôsobiteľnosť
Hovorí o vlastnostiach softvéru, ktoré umožňujú upraviť softvér tak, aby presne
vyhovoval požiadavkám používateľov. Hovorí o možnosti voľby funkcionality a tiež o
možnostiach jej úprav, či pridávania. V tomto smere je veľkou výhodou modularita
open source softvéru.
8.3.3.2 Spoľahlivosť a dostupnosť
Hovorí o čase, počas ktorého softvér beží a je funkcie schopný, teda odpovedá
na zadané príkazy. V podstate vypovedá o množstve chýb, ktoré softvér obsahuje a
celkovej kvalite technického prevedenia daného softvéru.
V súvislosti s operačnými systémami toto vypovedá napríklad o počte prípadov,
kedy je nutné reštartovať počítač a podobne.
8.3.3.3 Interoperabilita a kompatibilita
Vypovedá o schopnostiach softvéru prijímať a poskytovať výstupy vo formátoch
použiteľných iným softvérom a inými spôsobmi spolupracovať s iným softvérom. Môže
tiež vyjadrovať schopnosť softvéru bežať na rôznych operačných systémoch a rôznych
zariadeniach.
8.3.3.4 Škálovateľnosť
Hovorí o schopnostiach softvéru vysporiadať sa so zvýšenou a zníženou
záťažou. V databázových systémoch je napríklad dôležitá schopnosť efektívne pracovať
s mnohoriadkovými tabuľkami, v operačných systémoch zvládať záťaž veľkého
množstva používateľov a podobne.
60
8.3.3.5 Flexibilita návrhu
Hovorí o kvalitatívnom parametri dizajnu softvéru umožňujúcom vykonávať v
ňom zmeny a prispôsobovať ho.
Dobrým príkladom flexibilného návrhu softvéru je operačný systém Linux,
ktorého návrh je vysoko modulárny. Pozostáva z minimalistického riadiaceho modulu
(jadra) a viacerých nezávislých modulov, ktoré majú na starosti individuálne úlohy, ako
napríklad ovládanie grafiky, siete a podobne. Ak napríklad prestane fungovať grafika,
stačí pri behu systému reštartovať korešpondujúci modul a pokračovať v práci.
8.3.3.6 Životnosť
Životnosť softvéru môže byť ovplyvnená licencovaním, prístupom k
dokumentačným informáciám. Problémom môžu byť nefunkčné, nedokumentované a
časom nepodporované proprietárne formáty.
Dôležitými sú možnosť aktualizovať softvér, dostupnosť nových verzií, či
podpora starších verzií.
8.3.3.7 Výkon
Výkon je schopnosť efektívne využívať zdroje počítača, ako napríklad procesor,
operačnú pamäť, disk a podobne.
8.3.3.8 Kvalita služieb a podpory
Hovorí o úrovni a štruktúre dostupných služieb a podpory. Ako bolo spomenuté
v analýze dôležité je konkurenčné prostredie v tejto sfére.
8.3.3.9 Bezpečnosť
Bezpečnosť by mala byť pri každom type softvéru jedných z najvýznamnejších a
najprísnejšie posudzovaných kritérií. V súvislosti s bezpečnosťou by sme mali mať na
zreteli najmä ochranu informácií (integrita, dostupnosť, autenticita a dôvernosť),
správnu a nepretržitú prevádzku a ochranu pred zneužitím.
Oblasť bezpečnosti je mimoriadne široká a v súvislosti so softvérom aj
mimoriadne komplikovaná, jej miera by preto mala byť posudzovaná odborníkom v
oblasti.
61
8.3.3.10 Náročnosť na správu a manažment
Vyjadruje mieru kontrolovateľnosti, ovládateľnosti, používateľskej prívetivosti a
ďalších faktorov ovplyvňujúcich náročnosť na správu softvéru. Dôležitým faktorom je
možnosť ovládať softvér vzdialene, pomocou iného zariadenia.
8.3.3.11 Riziko fragmentácie
O riziku fragmentácie má zmysel uvažovať, ak pracujeme so softvérom, u
ktorého hrozí, že sa pozornosť vývojárov z jedného spoločne vyvíjaného projektu
rozdelí na veľa menších. Hrozilo by tak, že softvér, ktorý si zvolíme prestane byť riadne
vyvíjaný a podporovaný a pozornosť komunity ľudí sa rozdrobí.
8.3.3.12 Dostupnosť kompatibilných aplikácií
Dôležitým faktorom pri výbere softvéru je aj miera, akou je daný softvér
rozpoznávaný inými programami. V dnešnej dobe sa najmä v oblasti štandardizácie
formátov dosahujú významné pokroky. Je však treba dbať na to, že dostatok
kompatibilných aplikácií nemusí byť samozrejmosťou.
62
9 Prehľad najpoužívanejšieho open source softvéru
9.1 Najvýznamnejší zástupcovia
9.1.1 Linux
Linux je open source operačný systém. Od svojich počiatkov v roku
1991 prešiel spolu s GNU projektom dlhou cestou vývoja. Linux je dnes
používaný na väčšine webových serverov a väčšine najvýkonnejších
Obrázok počítačov sveta. Stal sa tiež súčasťou operačného systému Android pre
8: Linux mobilné zariadenia a svoje miesto nachádza aj v bežných stolových
[31]
počítačoch prostredníctvom množstva distribúcií. Najznámejšia distribúcia
dnes je Ubuntu.
9.1.2 Apache
Apache je už od roku 1996 najpopulárnejší http (webový) server
na svete. V súčastnosti je používaný na 54,55% všetkých domén[33]. V
Obrázok
súčastnosti Apache
9:Apache [32]
podprojektov.
obsahuje
veľké
množstvo
zaujímavých
9.1.3 MySQL
MySQL je dnes najpoužívanejší databázový server na svete
používaný obrovským počtom internetových stránok. Ako príklady
Obrázok
10:MySQL
[34]
môžeme uviesť také stránky, ako Wikipedia, Facebook, dokonca
spoločnosť Google používa MySQL v svojich kľúčových aplikáciách.
9.1.4 Firefox
Webový prehliadač od spoločnosti Mozilla je mimoriadne
úspešný. Podstatným spôsobom znížil trhový podiel dominantného
Obrázok
Microsoft Internet Explorer-u. Prehliadač samotný prispel k tvorbe
11:Firefox [35]
konkurenčného prostredia a podnietil rýchlejší vývoj v tejto oblasti.
Firefox prispel k zvýšeniu bezpečnosti na webe a priniesol do tejto oblasti mnoho
inovácií.
63
9.1.5 BIND
BIND nemusí byť všetkým známy, no používa ho takmer každý,
kto používa internet, tak ako ho dnes poznáme. BIND je skratka od The
Obrázok 12:
BIND [36]
Berkeley Internet Name Domain Server. Je to najpoužívanejší DNS
(Domain Name System) server na svete. Zabezpečuje prekladanie
doménových mien na ip adresy počítačov.
9.1.6 BSD
FreeBSD, OpenBSD a NetBSD sú uznávanými pojmami v
serverovom svete. Tieto operačné systémy sú odvodené od systému
Obrázok 13:
Berkeley Unix a vznikali od roku 1990. Napríklad časti operačného
FreeBSD
systému Mac OS X od spoločnosti Apple sú postavené práve na FreeBSD.
9.1.7 OpenOffice
OpenOffice je open source kancelársky balík. Je alternatívou
Obrázok 14:
OpenOffice
[37]
produktu Microsoft Office s porovnateľnými parametrami. Je možné ho
používať na profesionálnej úrovni. Obsahuje programy na prácu s
textom, tabuľkami, prezentáciami a databázami.
9.1.8 WordPress
WordPress sa stal najpoužívanejšou platformou na blogovanie na
Obrázok 15:
WordPress
[38]
svete. Je asi najvýznamnejším predstaviteľom širokej skupiny open
source CMS11 a blogových systémov.
9.1.9 Ubuntu
Od spustenia v roku 2004 je Ubuntu najpopulárnejšia distribúcia
Obrázok 16:
Ubuntu [39]
operačného systému Linux. Jeho významnosť spočíva najmä vo
filozofii, ktorá sa snaží priblížiť Linux bežnej populácii. Prenáša výhody
Linuxu do štandardných stolových počítačov. Okolo tejto distribúcie existuje asi
najväčšia a najaktívnejšia open source komunita.
11 CMS je skratka od Content Management System. CMS je systém na správu obsahu. Používa sa najmä
na správu webových stránok.
64
9.2 Prehľad podľa oblasti použitia
9.2.1 Audio a multimédiá
1. Amarok – Prehrávač hudby s intuitívnym rozhraním
2. Ardour – Softvér na profesionálne nahrávanie zvuku pre Mac a Linux
3. Audacity – Viackanálové nahrávanie zvuku
4. Avidemux – Úprava videa
5. Banshee – Prehrávanie videa a audia
6. Kino – Nelineárna úprava videa
7. Miro – Prehrávanie videa na intenete
8. Mplayer – Prehrávanie videa
9. MuseScore – Nástroj na prácu s hudobnými partitúrami a notami
10. Rosegarden – MIDI sequencer, práca s notami a skladanie hudby
11. VLC Media Player – Prehrávanie médií
9.2.2 Komunikácia
1. Audium – Chat klient nad viacerými protokolmi pre Mac
2. Ekiga – VoIP12 klient podporujúci protokoly SIP aj H.323
3. Evolution – Plnohodnotný email klient. Náhrada sa Microsoft Outlook.
4. Frostwire – Peer-to-peer aplikácia nad systémami Torrent a Gnutella
5. Mozilla Thunderbird – Email klient
6. Open-Xchange – Server prostredie na asistenciu spolupráce a integrácie
7. Pidgin – Chat klient na viacerými protokolmi
8. WengoPhone – VoIP klient
9. Zimbra – Kolaboračný nástroj
12 VoIP je skratka od Voice over internet protokol. Poskytuje služby hlasovej, alebo aj obrazovej
komunikácie prostredníctvom internetu
65
9.2.3 Databázy
1. Apache directory server – LDAP13 server implementovaný v Java
2. HeidiSQL – MySQL front end
3. MySQL – Databázový systém
4. OpenOffice Base – Konkurencia pre Microsoft Access
5. PostgreSQL – Databázový systém
6. SQLite – Databázový systém založený na súboroch
9.2.4 Vývoj aplikácií
1. Eclipse – Vývojový nástroj postavený na Java technológii
2. JBoss Aplication Server – najvyužívanejší aplikačný server na trhu
3. Lazarus – Kompatibilný s Borland Delphi
4. NetBeans – Vývojový nástroj
5. SharpDevelop – IDE14 pre vývoj C# a Visual.NET aplikácií na Microsoft .NET
platforme
6. Java – Mimoriadne úspešný objektovo orientovaný programovací jazyk
7. Php – programovací jazyk na tvorbu webových aplikácií
8. Python – interpretovaný objektovo orientovaný programovací jazyk
9.2.5 Grafické aplikácie
1. Blender – 3D modelovací nástroj s možnosťami animácie
2. Gimp – grafický editor obrázkov
3. Inkscape – editor vektorovej grafiky
4. Pixie – fotorealistický renderer
13 LDAP znamená Lightweight Directory Access Protocol. Je to protokol na získavanie a modifikáciu
dát na serveri cez TCP/IP protokol.
14 IDE znamená integrované vývojové prostredie
66
9.2.6 Biznis
1. AbiWord – textový editor veľmi podobný Microsoft Word
2. DataVision – reportingový nástroj
3. FreeMind – podpora projektového manažmentu
4. GanttProject – projektový plán a správa zdrojov
5. GnuCash – finančný a účtovnícky softvér
6. OpenWorkbench – alternatíva k Microsoft Project
7. SugarCRM – CRM15 system
9.2.7 Operačné systémy
1. FreeBSD – vhodný najmä pre servery
2. Linux
1. Ubuntu – najpopulárnejšia distribúcia s najväčšou komunitou a podporou
2. Debian – robustná a spoľahlivá distribúcia najmä pre servery
3. Red Hat Enterprise Linux – profesionálne použitie
4. SUSE Linux Enterprise Desktop – profesionálne použitie
5. Arch Linux – pre profesionálov, prednosti sú v kontrole nad nastaveniami
6. Slackware – stabilná konzervatívna distribúcia pre profesionálne použitie
7. Fedora – bezplatná verzia Red Hat Linuxu
8. OpenSUSE – všeobecné použitie
9. Xubuntu – pre staršie počítače
10. PuppyLinux – pre staré počítače
11. Ubuntu Netbook – pre netbooky a malé prenosné počítače
12. Jolicloud – pre malé prenosné počítače
15 CRM je skratka od customer relation management, teda správa vzťahov so zákazníkmi
67
10 Prípadová štúdia implementácie open source
riešení na fiktívnej spoločnosti
10.1 Úvod
Naša fiktívna organizácia DP-Consult je nezávislá mimovládna nezisková
organizácia zaoberajúca sa poskytovaním služieb profesionálneho vzdelávania,
konzultačno-poradenských služieb, tréningových kurzov a vydávania publikácií najmä v
oblasti rozvoja potenciálu ľudských zdrojov.
V súčastnosti má jednu pobočku v Bratislave, v ktorej pracuje 12 zamestnancov.
Organizácia tiež spolupracuje s viacerými externými lektormi. Organizácia prevádzkuje
6 stolových počítačov a 5 notebookov. Stolové počítače sa používajú prevažne na
administratívnu prácu a korešpondenciu. Internetové stránky a email sprostredkúva
externá spoločnosť. Účtovníctvo vedie organizácii tiež externá spoločnosť. Na všetkých
počítačoch prevádzkuje operačný systém Microsoft Windows XP. Na serveri je
nainštalovaný Microsoft Exchange Server 2007.
DP-Consult chce svoju prevádzku rozšíriť o novú pobočku v Košiciach, ktorá
má zamestnávať 6 ďalších zamestnancov, ktorí majú byť počítačovo vybavení 6
stolovými počítačmi a 1 notebookom.
10.2 Výzva
Vedenie DP-Consult zvažuje možnosti implementácie informačných technológií
v novej pobočke. Novým problémom, ktorý je potrebné vyriešiť je komunikácia a
zdieľanie dokumentov medzi pobočkami. Snaha o zníženie nákladov na informačné
technológie je podmienená schopnosťou vykonávať rovnaké aktivity, ako organizácia
vykonávala doteraz. Rozhodnutie organizácie bolo tiež obmedzené rozpočtom na nákup
hardvéru a softvéru.
Organizácia teda stojí pred rozhodnutím, ako ďalej pokračovať v svojich
aktivitách so zníženým rozpočtom na prevádzkovanie informačných technológií a ako
realizovať potrebné zmeny v IT tak, aby podporili fungovanie organizácie.
Vedenie organizácie sa rozhodovalo, či pokračovať v starom systéme a opäť
zakúpiť operačný systém Windows, alebo nasadiť open source riešenie. Najmä v kvôli
financiám sa rozhodli pre inovatívne riešenie.
68
10.3 Riešenie
Vedenie organizácie vzalo do úvahy všetky možné riešenia a na základe nápadov
jedného zo zamestnancov sa rozhodli, že sa pokúsia nasadiť open source softvér všade
tam kde to bude možné.
Operačný systém
Organizácia sa rozhodla pre open source riešenie aj pri voľbe operačného
systému. Rozhodli sa pre najlepšie podporovanú distribúciu Linuxu s názvom Ubuntu.
Toto riešenie umožňuje bezproblémový prechod z prostredia Windows. Ponúkané
grafické prostredie a aplikácie sú na vysokej úrovni. Na nového používateľa sú kladené
minimálne nároky čo sa znalosti systému týka. Ubuntu prostredníctvom svojho
balíčkovacieho
systému16
sprostredkúva
množstvo
aplikácií.
Väčšina
z
najpoužívanejších aplikácií je kompatibilná so softvérom ponúkaným spoločnosťou
Microsoft.
Hardvér
Hadrvérové požiadavky na prevádzku Ubuntu sú v dnešnej dobe bez problémov
pokryté hardvérom nižšieho priemeru. Organizácia si teda môže dovoliť kúpiť
štandardné počítače za nízku cenu.
Aplikácie
Všetok ďalší kancelársky softvér potrebný pre organizáciu je dostupný v
softvérových balíčkoch Ubuntu. Aplikácie sa inštalujú absolútne jednoducho.
Používateľ otvorí program „Softvérové centrum“, ktorý poskytuje prehľad dostupných
aplikácií. Používateľ si programy prezrie, porovná a ak sa pre nejaký rozhodne, zvolí
ho na inštaláciu. Softvérové centrum sa ďalej samo postará o stiahnutie balíčkov z
internetu, samotnú inštaláciu a zaradenie programu do menu. Najpoužívanejšími
programami sa stal kancelársky balíček OpenOffice.org, internetový prehliadač Mozilla
Firefox a emailový klient Evolution.
Server
Na pokrytie komunikačných potrieb medzi pobočkami sa jeden z nových
zakúpených počítačov začal používať ako server. Dokúpil sa potrebný harddisk. Nová
16 V rôznych distribúciách Linuxu je zaužívané, že sa softvér šíri prostredníctvom tzv. softvérových
balíčkov. Softvérový balíček je archivovaný softvér pripravený na inštaláciu. Jednotlivé softvérové
balíčky môžu byť závislé na iných balíčkoch. Najmä na riešenie takýchto situácií sa používa
balíčkovací systém.
69
inštalácia servera používa tiež operačný systém Ubuntu. Presunuli sa naňho mail server,
file server, http server a úložisko dát. Server prevádzkuje open source mail transfer
agenta17 Postfix a mail delivery agenta18 Courier. Do nového prostredia boli presunuté
všetky maily zo starého prostredia pomocou funkcií importu a exportu. Na zdieľanie
súborov slúži nový súborový server, ktorý je implementovaný pomocou programov
vsftp a Samba. Vylepšením je úložisko dát fungujúce na systéme Subversion, ktoré
sčasti slúži ako zálohovací systém.
Financie
Snahou vedenia DP-Consult bola úspora financií v oblasti informačných
technológií pri uspokojovaní nových potrieb. V nasledujúcej tabuľke zhodnotíme, ako sa
im podarilo splniť ich cieľ.
Náklady Windows 7
7x Licencia na Windows 7
Professional
7x Microsoft Office Small
Business
Microsoft Exchange
Server 2007 Standard
Edition
Náklady Ubuntu
7x299.99 7x Ubuntu
= 2099 $
[40]
7x546.25 7x OpenOffice
= 3823.75 $
[41]
725 $ Mail server, file
[42] server,
http server, subversion
0€
0€
0€
Inštalácia servera
~= inštalácia Inštalácia servera
Ubuntu servera
~= inštalácia
Windows
servera
Školenie Ubuntu
0 € Školenie Ubuntu
7x 59.25
= 414.75 €
[43]
Spolu
$6,647.75
~=4983.32 €19
= 414.75 €20
Nepodarilo sa nám zistiť ceny zvýhodnených licenčných balíkov, ani presné
ceny za inštaláciu serverov profesionálom. Uvedené ceny sú teda len orientačné. V
každom prípade je zrejmé, že úspora financií je značná. V našom odhade je rozdiel v
navrhovaných riešeniach 4568.57 € v prospech open source riešenia.
17 Mail transfer agent je program, ktorý prijíma a odosiela emaily zo servera. Je kľúčovou zložkou
servera.
18 Mail delivery agent je program, ktorý umožňuje jednotlivým používateľom preberať emaily zo
vzdialeného miesta. V našom prípade to je server organizácie.
19 Vyčíslená cena je približná a nie je konečná, nezahŕňa poplatok za inštaláciu servera profesionálom.
20 Vyčíslená cena nie je konečná, nezahŕňa poplatok za službu inštalácie servera profesionálom.
70
10.4 Zhrnutie
Nová Košická pobočka organizácie DP-Consult od svojho vzniku implementuje
open source riešenia. Spôsob práce pôvodných zamestnancov nebol zmenou
informačných
technológií
ovplyvnený
takmer
vôbec.
Spôsob
práce
nových
zamestnancov bol v porovnaní s ich skúsenosťami len so systémom Windows XP
ovplyvnený minimálne a po zaškolení takmer nikto nemal problém používať počítač a
využívať všetky funkcie, ktoré doteraz používal. Vedenie DP-Consult dokonca začalo
rozmýšľať o migrácii všetkých svojich počítačov na operačný systém Ubuntu Linux a to
najmä v prípade, že sa doteraz používaný operačný systém stane zastaralým.
71
11 Záver
Na záver dovoľte krátke zhodnotenie tejto diplomovej práce. Práca sa zaoberá
modernou a dynamicky sa rozvíjajúcou oblasťou tvorby softvéru a jej dopadmi na
softvérový priemysel a oblasť podnikania. Hlavnými cieľmi bolo zachytiť dôležité
princípy v oblasti open source softvéru a na ich základe zhodnotiť využiteľnosť
takéhoto softvéru v podnikaní.
Myslím, že stanovené ciele sa v práci podarilo úspešne splniť. Rozsah
spracovávanej problematiky je veľmi široký, z toho vyplýva všeobecnejšia rovina. Práca
však napriek tomu poskytuje množstvo užitočných informácií, ktoré sú prakticky
využiteľné a aktuálne.
Teoretické časti pojednávajú o histórii, procese vývoja open source softvéru z
pohľadu softvérového inžinierstva a motivácii jeho tvorcov.
Za najväčší prínos tejto práce považujem práve jej prakticky orientované časti,
ktoré prehľadnou formou spracovávajú problematiku softvérových licencií, biznis
modelov spojených s open source softvérom a následnej využiteľnosti takéhoto softvéru
v podnikateľskej praxi.
Práca tiež ponúka aktuálny prehľad najpoužívanejších open source riešení.
Poslednou kapitolou je prípadová štúdia, ktorá na príklade fiktívnej organizácie
prakticky
ukazuje
využitie
poskytovaných
poznatkov
na
získanie
výhod
prostredníctvom zníženia nákladov na vlastníctvo a prevádzku informačných
technológií.
V neposlednom rade by som chcel poznamenať, že mi táto práca priniesla
možnosti získať množstvo nových informácií a poznatkov z oblasti, ktorá ma zaujíma.
Pri písaní tejto práce som získal cenné skúsenosti, ktoré sa v budúcnosti budem snažiť
čo najlepšie zužitkovať v svojej profesionálnej praxi.
72
12 Zoznam bibliografických odkazov
1: LEE, H. Steve, Open Source Software Licencing, 1999
2: NENWOOK, A. Carolyn, A Business Case Study of Open Source Software, 2001
3: Wikipedia, the free encyclopedia, Open source [online], 2009 [cit. február 2010],
dostupné na internete [http://en.wikipedia.org/wiki/Open_source]
4: DiBONA, C., OCKMAN, S., STONE, M., Open Sources: Voices from theOpen
Source Revolution, O'REILY,1999. ISBN 1-56592-582-3
5: LASH, Alex, Evolution of a Net community [online], 1998 [cit. Február 2010],
dostupné na internete [http://news.cnet.com/2009-1023-207625.html]
6: RAYMOND, E. Steven, The Cathedral and the Bazaar, 2000
7: BOURQUE, P.; DUPUIS, R.; Guide to the Software Engineering Body of
Knowledge 2004 Version, 2004
8: VIXIE, Paul, Open Sources: Software Engineering, 1999, O'REILY,1999. ISBN 156592-582-3
9: BITZER, J., SCHRETTL, W., SCHRODER, P, Intrinsic Motivation in Open Source
Software Development, 2004
10: IANSITI M., RICHARDS G., EnterpriseIncentives,Investment,and Motivation in
the Open Source Community, 2006
11: WICHMANN, T., Basics of Open Source software markets and business models,
2002
12: Zákon číslo 618/2003 Z.z. , o autorskom práve a právach súvisiacich s autorským
právom (autorský zákon)
13: Open Source Initiative, The Open Source Definition (Annotated) [online], 2009 [cit.
marec 2010], dostupné na internete [http://www.opensource.org/docs/definition.php]
14: Mozilla.org, Netscape Public License FAQ [online], 2005 [cit. Marec 2010],
dostupné na internete [http://www.mozilla.org/MPL/FAQ.html]
15: Wikipedia, the free encyclopedia, Public domain [online], 2010, dostupné na
internete [http://sk.wikipedia.org/wiki/Public_domain]
16: The 451 group, Open source is not a business model - Commercial adoption of open
source, 2008
17: Black Duck, Top 20 Most Commonly Used Open Source Licenses In Open Source
Projects [online], 2009 [cit. marec 2010], dostupné na intenete
[http://www.blackducksoftware.com/oss/licenses/]
73
18: PAPULA, Jozef, Vývoj teórie strategického manažmentu pod vplyvom meniaceho sa
prostredia, 1. vyd. Bratislava : KARTPRINT, 2004. 268 s. ISBN 80-88870-40-2
19: KROAH-HARTMAN, G., CORBET, J., McPHERSON, A., Who writes linux, 2009
20: ROSENBERG, Dave, How open source levels all software market segments
[online], 2009 [cit. marec 2010], dostupné na internete [http://news.cnet.com/830113846_3-10318035-62.html]
21: DiBONA, C., OCKMAN, S., STONE, M., Open Sources: Voices from theOpen
Source Revolution, O'REILY,1999. ISBN 1-56592-582-3
22: 2006 Independent Auditor's Report and Consolidated Financial Statements [online],
2006 [cit. marec 2010], dostupné na internete
[http://www.mozilla.org/foundation/documents/mf-2006-audited-financialstatement.pdf]
33: Netcraft, March 2010 Web Server Survey [online], 2010 [cit. marec 2010], dostupné
na internete
[http://news.netcraft.com/archives/2010/03/17/march_2010_web_server_survey.html]
23: TOP500.Org, Operating system Family share for 11/2009, 2009 [cit. február 2010],
dostupné na internete [http://top500.org/stats/list/34/osfam]
24: Wikipedia, the free encyclopedia, Usage share of operating systems [online], 2010
[cit. február 2010], dostupné na internete
[http://en.wikipedia.org/wiki/Usage_share_of_operating_systems]
25: Profesia, Katalóg pracovných pozícií – Programátor [online], 2010 [cit. február
2010], dostupné na internete [http://www.pozicie.sk/?go=occupation&id=39]
26: Profesia, Katalóg pracovných pozícií – Správca počítačovej siete [online], 2010 [cit.
február 2010], dostupné na internete [http://www.pozicie.sk/?go=occupation&id=126]
27: RedHat, RedHat support - All Products, 2010,
28: Profesia, Katalóg pracovných pozícií – IT projektový manažér [online], 2010 [cit.
február 2010], dostupné na internete [http://www.pozicie.sk/?go=occupation&id=136]
29:Profesia, Katalóg pracovných pozícií – Systémový administrátor [online], 2010 [cit.
február 2010], dostupné na internete [http://www.pozicie.sk/?go=occupation&id=41]
30: Profesia, Katalóg pracovných pozícií – Správca informačného systému [online],
2010 [cit. február 2010], dostupné na internete [http://www.pozicie.sk/?
go=occupation&id=125]
31: File:Tux-linux logo.svg [online], 2009 [cit. marec 2010], dostupné na internete
[http://commons.wikimedia.org/wiki/File:Tux-linux_logo.svg]
74
32: Apache Software Foundation, Apache Software Foundation Projects [online], 2010
[cit. marec 2010], dostupné na internete [http://projects.apache.org/]
34: Oracle Corporation, MySQL :: The world's most popular open source database
[online], 2010 [cit. február 2010], dostupné na internete [http://www.mysql.com/]
35: Mozilla Foundation, Firefix Browser [online], 2010 [cit. február 2010], dostupné na
internete [http://www.mozilla.com/en-US/firefox/personal.html]
36: , BIND | Internet Systems Consortium [online], 2010 [cit. február 2010], dostupné
na internete [https://www.isc.org/software/bind]
37: Oracle, OpenOffice.org - The Free and Open Productivity Suite [online], 2010 [cit.
február 2010], dostupné na internete [http://www.openoffice.org/]
38: WordPress-Blog tool and publishing platform [online], 2010 [cit. február 2010],
dostupné na internete [http://wordpress.org/]
39: Canonical Ltd., What is Ubuntu [online], 2010 [cit. február 2010], dostupné na
internete [http://www.ubuntu.com/products/whatisubuntu]
40: Microsoft, Microsoft Store [online], 2010 [cit. február 2010], dostupné na internete
[http://store.microsoft.com/microsoft/Windows-Windows-7/category/102?
WT.mc_id=WOL_US_Download_ad]
41: Microsoft, Office Small Business 2007 Full (English) [online], 2010 [cit. február
2010], dostupné na internete [http://emea.microsoftstore.com/europe/enUS/Microsoft/Office-Small-Business-2007-Full-(English)]
42: Microsoft, Microsoft Exchange Server 2007 Standard STD 64-Bit Retail Box
[online], 2010 [cit. február 2010], dostupné na internete
[http://www.trustprice.com/665018/microsoft-exchange-server-2007-standard.html]
43: Macrosoft, Školenie Linux v kancelárii a v domácnosti [online], 2010 [cit. február
2010], dostupné na internete [http://www.macrosoft.sk/index.php?kurzy=10&kurz=189]
75
Download

univerzita komenského v bratislave fakulta managementu