Otevřený software nebo také software s otevřeným zdrojovým kódem[1] (zkratka OSS z anglického open-source software) je počítačový software, který je uvolněn pod licencí, v níž držitel autorských práv poskytuje uživatelům práva používat, studovat, měnit a šířit software a jeho zdrojový kód komukoli a za jakýmkoli účelem.[2][3] Otevřený software může být vyvíjen ve spolupráci s ostatními a veřejně. Otevřený software je významným příkladem otevřené spolupráce, což znamená, že každý schopný uživatel se může online podílet na vývoji, takže počet možných přispěvatelů je neomezený. Možnost prozkoumat kód usnadňuje důvěru veřejnosti v software.[4]
Vývoj otevřeného softwaru může přinést různé pohledy, které přesahují pohledy jedné společnosti. Odhad hodnoty softwaru s otevřeným zdrojovým kódem pro firmy v roce 2024 činí 8,8 bilionu dolarů, protože firmy by jinak musely vynaložit 3,5krát více prostředků než když nyní používají software s otevřeným zdrojovým kódem.[5]
Kód s otevřeným zdrojovým kódem lze použít ke studiu a umožňuje schopným koncovým uživatelům přizpůsobit software svým osobním potřebám podobně, jako to umožňují uživatelské skripty a vlastní styly webových stránek, a případně zveřejnit úpravy jako fork pro uživatele s podobnými preferencemi a přímo zaslat případná vylepšení jako pull requesty.
Definice
Definice Iniciativy pro otevřený zdrojový kód (OSI) je mezinárodně uznávána několika vládami[6] jako standard nebo de facto definice. OSI používá definici The Open Source Definition k určení, zda považuje softwarovou licenci za otevřený zdrojový kód. Definice vychází ze zásad Debian Free Software Guidelines, které napsal a upravil především Perens.[7][8][9] Perens přitom při psaní nevycházel ze „čtyř svobod“ nadace Free Software Foundation (FSF), které byly široce dostupné až později.[10]
Podle Perensovy definice je otevřený software široká softwarová licence, která zpřístupňuje zdrojový kód široké veřejnosti s mírnějšími nebo žádnými omezeními pro používání a modifikaci kódu. Výslovnou „vlastností“ otevřeného softwaru je, že klade jen velmi málo omezení na používání nebo šíření jakoukoli organizací nebo uživatelem, aby se umožnil rychlý vývoj softwaru.[11]
Podle Fellera a dalších (2005) by se termíny „svobodný software“ a „software s otevřeným zdrojovým kódem“ měly vztahovat na jakékoliv „softwarové produkty distribuované za podmínek, které uživatelům“ umožňují používat, upravovat a dále šířit software „způsobem, který považují za vhodný, aniž by museli za provádění uvedených činností platit autorovi (autorům) softwaru autorskou odměnu nebo poplatek.“[12]
Přestože pojem zakladatel hnutí svobodného softwaru Richard Stallman z Free Software Foundation původně akceptoval,[13] později se kategoricky stavěl proti tomu, aby se termín „otevřený software“ používal pro to, co označují jako „svobodný software“. Ačkoli souhlasí s tím, že oba termíny popisují „téměř stejnou kategorii softwaru“, považuje Stallman ztotožňování termínů za nesprávné a zavádějící.[14] Stallman se také staví proti proklamovanému pragmatismu Iniciativy pro otevřený zdrojový kód, protože se obává, že ideály svobody a komunity svobodného softwaru jsou ohroženy kompromisy s idealistickými standardy FSF pro svobodu softwaru.[15] FSF považuje svobodný software za podmnožinu otevřeného softwaru a Richard Stallman vysvětluje, že například software pro DRM může být vyvíjen jako otevřený software, přestože svým uživatelům neposkytuje svobodu (omezuje je), a tudíž jej nelze považovat za svobodný software.[14]
Historie
Eric Raymond v roce 1997 vydal esej Katedrála a tržiště, v níž analyzoval hackerskou komunitu a jednotlivé principy svobodného softwaru. Tato práce získala značnou pozornost na počátku roku 1998 a byla jedním z faktorů, které motivovaly společnost Netscape Communications Corporation k vydání populárního balíků aplikací s názvem Netscape Communicator pod otevřenou licencí. Zveřejněný zdrojový kód se později stal základem pro programy jako Mozilla Firefox, Thunderbird, nebo KompoZer.
Tento čin vyzval Erica Raymonda a další odborníky v tomto oboru, aby zjistili, jak využít myšlenku volně šiřitelného softwaru a všech výhod, které nabízí ke komerčnímu užití. Došli k závěru, že otevřený software není příliš lákavý pro podnikatele (jako je například Netscape) a raději hledali jiný způsob, jak vyzdvihnout myšlenku otevřeného softwaru, jak ho rozšířit mezi lidi a jak zdůraznit obchodní potenciál při sdílení a spolupráci na jednom zdrojovém kódu[16]. Tento způsob šíření byl nazván termínem otevřený software (anglicky Open Source), který brzy přijal Bruce Perens, vydavatele Tim O'Reilly, Linus Torvalds, a další. V únoru roku 1998 byla založena skupina s názvem Open Source Initiative (OSI), podporující využívání nového termínu a principů otevřeného softwaru[17].
Zatímco se Open Source Initiative (OSI) pokoušela podpořit používání otevřeného softwaru a vytvářela zásady, které měly být posléze dodržovány, dodavatelé komerčního softwaru byli náhle ohroženi konceptem volně šiřitelného konceptu a volným přístupem ke zdrojovému kódu aplikací. Zástupce společnosti Microsoft v roce 2001 veřejně prohlásil: „Otevřený software je ničitelem duševního vlastnictví. Nedokáži si představit, co by mohlo být pro softwarové firmy a společnosti podnikající s duševním vlastnictví horší.“[18] Tento pohled dokonale shrnuje první názory některých softwarových společností na otevřený a volně šiřitelný software. Velké komerční společnosti se však tomuto novému trendu postupně přizpůsobovaly a zahájily vlastní vývoj oficiálního otevřeného softwaru, který byl prezentován na síti Internet. Na dnešním trhu s otevřeným softwarem mají největší podíl společnosti IBM, Oracle, Google, State Farm, a další méně známé firmy. Postupně tedy došlo k velké změně názorů a firemní filozofie ohledně volně šiřitelného a otevřeného softwaru.[19]
Srovnání některých vlastností otevřeného softwaru
Bezpečnost
Z hlediska bezpečnostních děr v softwaru je otevřenost kódu dvojsečná zbraň. Chyby v programech může hledat mnohem širší skupina lidí (nebo i automatických pomůcek) a je proto naděje, že se snáze opraví. Na druhou stranu zranitelnosti mohou snáze najít i útočníci. V současném paradigmatu informační bezpečnosti full disclosure se ovšem považuje za obecně výhodnější, když jsou informace dostupné všem, i za tu cenu, že jsou dostupné útočníkům. Alespoň u populárních programů s velkou základnou uživatelů a vývojářů lze předpokládat, že „uživatelská“ strana má výrazně větší prostředky (především více času kvalifikovaných lidí) než cracker.
Nespornou výhodou otevřeného zdrojového kódu je ohromné ztížení možnosti propašování zadních vrátek a trojských koní.
Financování
Otevřený software může být dodán zdarma. V takovém případě jeho tvůrci nemohou po uživatelích vyžadovat licenční poplatek na financování vývoje projektu. Místo toho se tak objevila řada alternativních modelů financování.
Software může být vyvíjen jako konzultační projekt pro jednoho nebo více zákazníků. Zákazníci platí vývojářům za konkrétní úkony: prioritně odstraňování chyb, nebo přidání nových funkcí. Firmy nebo nezávislí konzultanti si také mohou zaplatit školení, instalaci, technickou podporu, nebo přizpůsobení softwaru.
Dalším přístupem k financování je poskytnutí softwaru zdarma, ale prodávat licence na proprietární doplňky jako jsou například datové knihovny. Například otevřený software CAD program může vyžadovat knihovny, které jsou součástí předplatného nebo dodávané za paušální poplatek. Otevřený software může také zvýšit prodeje specializovaného hardware, se kterým spolupracuje, což je třeba příklad telefonního softwaru Asterisk, vyvinutého výrobcem hardware počítačové telefonie.
Mnoho projektů otevřeného softwaru se zrodilo z výzkumných projektů v rámci univerzit jako osobní projekty studentů nebo profesorů, nebo jako podpůrný nástroj vědeckého výzkumu. Vliv vysokých škol a výzkumných institucí na open source se ukazuje na počtu projektů nesoucí jméno jejich hostitelské instituce, například BSD Unix, CMU Common Lisp, nebo NCSA HTTPd, z nějž se časem vyvinul Apache.
Firmy mohou zaměstnávat vývojáře, aby pracovali na projektech otevřeného softwaru, které jsou užitečné v rámci firemní infrastruktury: v tomto případě to není vyvíjeno jako produkt určený k prodeji, ale jako druh veřejně sdíleného nástroje. Lokální oprava chyby, nebo řešení softwarového problému, napsáno vývojářem buď na žádost firmy, nebo k zjednodušení jeho práce, může být zveřejněno jako open source příspěvek, aniž by to firmu cokoliv stálo.[20] Větší projekty, jako je například Linux, mohou mít přispěvatele z desítek firem, kteří jej používají a závisí na něm, stejně tak jako od nadšenců a výzkumných vývojářů.
Srovnání s proprietárním softwarem
Diskuse na téma otevřený software versus closed source (alternativně nazývaný proprietární software) bývá často plamenná. Hlavními čtyřmi důvody (jak je uvedeno v rámci výzkumu Open Source Business Conference[21]), proč jednotlivci nebo organizace volí open source software jsou: 1) nižší náklady, 2) bezpečnost, 3) žádné proprietární uzamčení a 4) lepší kvalita.
Od té doby, co se inovativní společnosti tolik nespoléhají na softwarové prodeje, se stal proprietární software méně potřebným.[22] Jako takové jsou věci jako open source redakční systémy, jinými slovy CMS, stále běžnější. V roce 2009[23] přešel Bílý dům v USA ze svého proprietárního redakčního systému na open source CMS systém Drupal. Společnosti jako Novell (které tradičně prodávají software postaru) neustále debatují nad výhodami možnosti přechodu na open source, zatímco část jejich produktu již nabízí otevřené zdrojové kódy.[24] Tímto způsobem open source software poskytuje řešení jedinečných nebo specifických problémů. Je zjištěno,[25] že 98 % podniků na úrovni společností nějakým způsobem open source využívá.
S touto změnou trhu se více kritických systémů začíná spoléhat na nabídku open source,[26] což umožňuje větší finanční prostředky (například granty[26] Amerického ministerstva pro vnitřní bezpečnost), které pomáhají v „honu po bezpečnostních chybách“.
Nejedná se o dohadování o tom, že open source software nemá své nedostatky. Jedna z největších překážek, která brání širokému přijetí open source softwaru, se týká nedostatku technické a obecné podpory.[21] Open source společnosti často bojují s tím, že někdy nabízí podporu pod jiným názvem výrobku. Acquia například nabízí na podnikové úrovni podporu i pro open source alternativy Drupalu.[27]
Mnozí zastánci tvrdí, že open source software je neodmyslitelně bezpečnější, protože každý člověk může prohlížet, upravovat a měnit kód.[28] Nicméně closed-source software a některé výzkumy[29] naznačují, že jedinci, kteří nejsou placeni za čištění kódu, nemají motivaci dělat nudnou, monotónní práci. Studie zdrojového kódu Linuxu zjistila 0,17 chyb na 1000 řádků kódu zatímco proprietární software obecně dosahuje výsledku 20-30 chyb na 1000 řádků.[30]
Ajzenova teorie plánovaného chování zkoumá souvislost mezi postoji a chováním. Na základě pilotní studie organizací, které přijímají (nebo nepřijímají) OSS; několik faktorů statistického významu bylo pozorováno v manažerských přesvědčeních v závislosti na (a) postoji k výsledkům, (b) vlivů a chování druhých a (c) jejich schopnosti jednat.[31]
Pro a proti pro softwarové vývojáře
Softwaroví odborníci a výzkumníci identifikovali na open source různé výhody a nevýhody. Hlavní výhodou pro podnikání je to, že s open source lze dosáhnout lepšího pronikání na trh. Společnosti nabízející open source software jsou schopny stanovit průmyslovou normu, a tím získat výhodu nad konkurencí. To také pomohlo vybudovat vývojářovu loajalitu jak se vývojáři cítí zmocněnějšími a mají smysl pro vlastnění konečného produktu.[32] Pro OSS navíc nejsou potřeba tak vysoké náklady na marketing a logistické služby. To také pomáhá společnostem, aby udržely technologický krok se všemi. Je to dobrá věc pro podporu firemní image, včetně komerčních produktů.[33] Vývoj OSS pomáhá vytvářet spolehlivý, vysoce kvalitní software rychle a levně.[34] Termín „open-source“ byl původně zamýšlen pro obchodní známku, jenomže byl považován za příliš popisný, takže z něj žádná obchodní známka není. Kromě toho nabízí potenciál pro více flexibilní technologie a rychlejší inovace. Měl by být mnohem spolehlivější, protože má většinou tisíce nezávislých programátorů, kteří testují a opravují chyby v softwaru. Je flexibilní, protože modulární systémy dovolují programátorům vlastní rozhraní nebo přidávat nové funkce. Je inovativní, protože open source programy jsou produktem mezi velkým množstvím různých programátorů. Mix různých pohledů, firemních a osobních cílů velmi urychluje inovace systému.[35] Kromě toho free software může být vyvinut v souladu s čistě technickými požadavky. To nevyžaduje uvažování s komerčním tlakem, který často výrazně snižuje kvalitu softwaru. Díky komerčnímu tlaku musí vývojář tradičního softwaru věnovat více pozornosti na požadavky zákazníka než na požadavky na zabezpečení, neboť tyto prvky jsou zákazníkovi skryty.[36]
Někdy se říká, že vývojový proces open source nemusí být dobře definován a části rozvojového procesu, jako je testování a dokumentace, mohou být ignorovány. Nicméně to platí pouze pro malé (většinou jeden programátor) projekty. U větších, úspěšnějších projektů se musí stanovit a vynucovat určitá pravidla, aby se tak umožnila snadná týmová práce.[37][38] Ve většině komplexních projektů tato pravidla mohou být stejně přísná, jako přezkoumání drobné změny provedenou dvěma nezávislými programátory.[39]
Ne všechny OSS iniciativy byly úspěšné, například SourceXchange a Eazel.[32] Softwaroví odborníci a výzkumníci, kteří nejsou přesvědčeni o schopnosti produkovat pomocí open source kvalitní systémy identifikující nejasný proces, později objevené vady a nedostatek empirických důkazů nejzávažnějších problémů (shromážděné údaje týkající se produktivity a kvality).[40] Je také obtížně navrhnout komerčně znící podnikatelský model podle open source vzoru. V důsledku toho mohou být splněny pouze technické požadavky a ne požadavky na trhu.[40] Pokud jde o bezpečnost, může open source umožnit hackerům, aby se dozvěděli o slabých místech a mezerách v systému snadněji než v closed-source softwaru. To závisí na kontrolních mechanismech s cílem vytvořit efektivní činnost autonomních agentů, kteří jsou součástí virtuálních společností.[41]
Kritika
Kritiky určitých zásad OSI jednají především jako část definice a odlišnosti jiných termínů. Hnutí za otevřený obsah neuznává ani neschvaluje OSI zásady a zahrnuje místo vzájemné share-alike dohody vyžadující komerční využití nebo přípravy odvozených prací. Jeden z hlavních kritiků, Richard Stallman z FSF (Free Software Foundation), rezolutně odmítá termín „Open Source“ , který se v mnoha případech používá pro „free software“. I když je jasné, že právně je free software klasifikován jako open source. Stallman tvrdí, že takováto kategorie je nevhodná.[42] Kritici také oponují pragmatismu OSI, neboť se obávají, že ideály free softwaru jsou ohroženy tím, že FSF kompromituje ideály pro standardy softwarové svobody.[43][44] Stále více je termín „free a open source software“ používán komunitou pro celkové popsání společného území mezi free softwarem a open source softwarem.
Známý open source software
- operační systémy GNU/Linux, FreeBSD, FreeDOS, ReactOS, OpenSolaris, Android
- databáze MySQL, Firebird, PostgreSQL
- webový servery Apache, nginx, lighttpd
- ftp server VSFTPD
- poštovní servery Postfix, Sendmail
- DNS server BIND
- desktopová prostředí GNOME, KDE
- kancelářský software OpenOffice.org, LibreOffice, Novell Evolution, Mozilla Thunderbird
- internetové prohlížeče Mozilla Firefox, Epiphany, Konqueror, Chromium
- monitorovací software Zenoss, nmap, nagios
- bitmapový editor GIMP
- 3D grafický editor Blender
- vektorový editor Inkscape
- vývojka surového grafického formátu RAW darktable
- program pro sazbu dokumentů Scribus
- multimediální přehrávače VLC media player, Totem, Amarok, Juk, Kaffeine, Rhythmbox, MPlayer
- multimediální centrum XBMC
- různé kodeky: seznam otevřených kodeků, formátů a kontejnerů
- DOSový audio přehrávač MPXPLAY
- překladače jazyka „C“ (včetně „C++“ a některých dalších) GCC a OpenWATCOM
- překladač FreeBASIC
- podcatcher (program pro stahování multimediálních souborů, podcastů) Juice
- archivační a kompresní program 7-Zip
- hry Frozen Bubble, Battle for Wesnoth, OpenArena, MegaGlest, Tux Racer, SuperTuxKart, OpenTTD
- komunikační software Psi (klient), Miranda IM, Pidgin, Empathy, Licq
- editor myšlenkových map FreeMind
- IDE pro vývoj aplikací Eclipse, Netbeans, Anjuta, KDevelop
- prostředí pro vývoj ERP, CRM, SCM aplikací JFire
- textové editory Vim, Gedit, Emacs
- správci souborů Midnight Commander, Double Commander
- numerické výpočty Scilab, Sage
- systémy pro správu obsahu WordPress, Drupal, Joomla!
- wiki systémy DokuWiki, MediaWiki (na MediaWiki běží Wikipedie)
- diskusní fóra Simple Machines Forum, phpBB
- řešení pro internetový obchod PrestaShop
- sociální síť Mastodon
- prostředí pro výuku Moodle
Odkazy
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.