UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MANAGEMENTU VYUŽITEĽNOSŤ OPEN SOURCE SOFTVÉRU V PODNIKANÍ NA SLOVENSKU

Similar documents
Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Aplikačný dizajn manuál

Riešenia a technológie pre jednotnú správu používateľov

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Registrácia účtu Hik-Connect

Obsah. SOA REST REST princípy REST výhody prest. Otázky

VYLEPŠOVANIE KONCEPTU TRIEDY

Copyright 2016 by Martin Krug. All rights reserved.

Databázové systémy. SQL Window functions

kucharka exportu pro 9FFFIMU

Peter Šantavý OPEN SOURCE

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu

Vzory, rámce a webové aplikácie

POKROČILÉ C++ Marian Vittek

Databázy (1) Prednáška 11. Alexander Šimko

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Informačný portál Národnej rady Slovenskej republiky

Spôsoby zistenia ID KEP

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM?

Tvorba informačných systémov. 4. prednáška: Návrh IS

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Využitie Big Data technológií pre skvalitnenie výskumu a vzdelávania

Tvorba plánov DÁVID KOVÁČ

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

Mesačná kontrolná správa

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Coordinates ordering in parallel coordinates views

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

Testovanie bieleho šumu

Manažment kvality a testovanie softvéru

OPEN SOURCE APLIKÁCIE VO VÝUČBE

Návod na odstránenie certifikátov so zrušenou platnosťou

Zabezpečenie kvality v softvérovom projekte

Xerox PARC the office of the future. Michal Winczer

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

Programovanie v jazyku Python. Michal Kvasnica

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals...

Mesačná kontrolná správa

Government Cloud. Stratégia využitia Cloud Computing-u vo Verejnej správe SR. Peter Kišša

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Softvérové právo SOFTVÉROVÁ KRIMINALITA U NÁS A VO SVETE

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

AKO NA RIZIKÁ. Hurá metóda asi nebude správna. Jaroslav Grega. Čo je riziko? Čo je manažment rizík

IBM Tivoli Directory Server Verzia 5.2 Client Readme

1 Komplexný príklad využitia OOP

Tvorba softvéru v tretom tisícrocí

ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH

Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

Tvorba softvéru v treťom tisícročí Hobiti

Zavedenie produktu do portfólia IT spoločnosti

Hodnotenie kvality produktu

Technická univerzita v Košiciach Strojnícka fakulta Ústav špeciálnych inžinierskych procesológií Katedra bezpečnosti a kvality produkcie

MERANIE SOFTVÉRU. Jakub Šimko MSI

MSI KIVT FEI STU Bratislava

Košice. Riešenia pre malé a stredné podniky

VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK. Karol Schütz, S&T Slovakia

SIP v malých telekomunikačných systémoch. Convergence. A matter of lifestyle.

BAKALÁRSKA PRÁCA. Cloud computing, jeho využitie a dopad na korporačné prostredie

systemove programovanie win32 programovanie

Jednoradové ložiská s kosouhlým stykom - katalóg Single-Row Angular Contact Ball Bearings - Catalogue

Plánovanie SCRUM šprintu pomocou nástroja Redmine

UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Programové vybavenie - softvér. Funkcie operačného systému

INTERNET. História internetu

NÁKLADY ŽIVOTNÉHO CYKLU LIFE CYCLE COSTS

Manuál k programu FileZilla

}w!"#$%&'()+,-./012345<ya

Tvorba plánov v softvérovom projekte, rozdelenie úloh, plnenie a aktualizácia plánov

Osobovo-orientovaný prístup vývoja softvéru

MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

Digitálne hrozby, príklady zo sveta a návody na prežitie. Miroslav Lukáč, ICT konzultant pre bezpečnosť, ASBIS SK

MS Exchange 2010 Prechod Ing. Peter Záhradník

Poradové a agregačné window funkcie. ROLLUP a CUBE

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky

Softvér a údaje, majetok pre zdieľanie

Ekonomický pilier TUR

Metody optimalizace činností firemních struktur. Filip Stránsky

Február Scrum: Vyvinuli a udržiavajú Ken Schwaber a Jeff Sutherland

Formulár s podpisom pre program

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií FIIT-XXXX-XXXXX

Kvalita, výsledok plánovania a riadenia

PODNIKATELSKÝ PLÁN PRO ZALOŽENÍ NOVÉHO PODNIKU

VŠB Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky. Katedra informatiky

GeoGebra a JavaScript

SÚ FIRMY PRIPRAVENÉ NA GDPR? ESET & IDC Research Ondrej Kubovič, ESET Špecialista na digitálnu bezpečnosť

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Uplatnenie softvéru freeware a open source v malých a stredných podnikoch

Univerzita Konštantína Filozofa v Nitre

Xamarin písanie Android a ios aplikácií v C#

Transcription:

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: Študijný program: Študijný odbor: Typ záverečnej práce: Jazyk záverečnej práce: Sekundárny jazyk: Tomáš Palkovič manažment 3.3.15 manažment diplomová práca slovenský jazyk Názov: Cieľ práce: Využiteľnosť open source softvéru v podnikaní na Slovensku 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ť kernel 1 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 FreeBSD 2. FreeBSD je na rozdiel od Linuxu vetvou systému Unix, Linux je unixový klon 3. 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ého 5 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 obfuskovanej 6 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 BSD 7 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ý GNU GPL Nie Nie Artistic License Áno Áno NPL Nie Áno MozPL Nie Áno Licencovaný softvér smie byť kombinovaný s uzatvoreným softvérom 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é debugovanie 9 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