Co je open source software a proč na něm záleží?

Geekové často označují programy jako „open source“ nebo „svobodný software“. Pokud vás zajímá, co přesně tyto pojmy znamenají a proč jsou důležité, čtěte dále. (Ne, „svobodný software“ neznamená pouze to, že si jej můžete stáhnout zdarma.)

Ať už je program otevřeným zdrojovým kódem nebo ne, nezáleží jen na vývojářích, záleží také na uživatelích. Licence na software s otevřeným zdrojovým kódem dávají uživatelům svobodu, kterou by jinak neměli.

Image Credit: Quinn Dombrowski na Flickru

Definice otevřeného zdroje

Pokud je program otevřeným zdrojovým kódem, je jeho zdrojový kód uživatelům volně k dispozici. Jeho uživatelé - a kdokoli jiný - mají možnost tento zdrojový kód převzít, upravit a distribuovat své vlastní verze programu. Uživatelé mají také možnost distribuovat tolik kopií původního programu, kolik chtějí. Kdokoli může program používat k jakýmkoli účelům; neexistují žádné licenční poplatky ani jiná omezení softwaru. OSI má na svém webu podrobnější definici „otevřeného zdroje“.

Například Ubuntu Linux je operační systém s otevřeným zdrojovým kódem. Můžete si stáhnout Ubuntu, vytvořit libovolný počet kopií a dát je svým přátelům. Ubuntu můžete nainstalovat na neomezené množství počítačů. Můžete vytvořit remixy instalačního disku Ubuntu a distribuovat je. Pokud jste byli obzvláště motivovaní, můžete si stáhnout zdrojový kód programu v Ubuntu a upravit jej a vytvořit si vlastní přizpůsobenou verzi tohoto programu - nebo samotného Ubuntu. Licence typu open-source vám to umožňují, zatímco licence typu open-source na vás omezují.

Opakem softwaru s otevřeným zdrojovým kódem je software s uzavřeným zdrojovým kódem, který má licenci, která omezuje uživatele a udržuje před nimi zdrojový kód.

Firefox, Chrome, OpenOffice, Linux a Android jsou některé populární příklady softwaru s otevřeným zdrojovým kódem, zatímco Microsoft Windows je pravděpodobně nejoblíbenější kus softwaru s uzavřeným zdrojovým kódem.

Otevřený zdroj vs. svobodný software

Aplikace s otevřeným zdrojovým kódem jsou obecně volně dostupné - i když vývojáři nic nebrání v účtování kopií softwaru, pokud poté umožní další distribuci aplikace a jejího zdrojového kódu.

To však „svobodný software“ neodkazuje. „Svobodný“ ve svobodném softwaru znamená „svobodný jako ve svobodě“, nikoli „svobodný jako v pivu“. Tábor svobodného softwaru, vedený Richardem Stallmanem a Nadací svobodného softwaru, se zaměřuje na etiku a morálku používání softwaru, který může uživatel ovládat a upravovat. Jinými slovy, tábor svobodného softwaru se zaměřuje na svobody uživatelů.

Richard Stallman. Obrázek Fripog na Flickru.

Hnutí open-source softwaru bylo vytvořeno s cílem zaměřit se na pragmatičtější důvody pro výběr tohoto typu softwaru. Zastánci open-source se chtěli zaměřit na praktické výhody používání softwaru s otevřeným zdrojovým kódem, který by více oslovil podniky než etiku a morálku.

Obhájci open-source i svobodného softwaru nakonec vyvíjejí stejný typ softwaru, ale ve zprávách se neshodují.

Druhy licencí

Open-source projekty používají mnoho různých licencí, podle toho, které vývojáři dávají přednost jejich programu.

GPL nebo GNU General Public License je široce používána mnoha open-source projekty, jako je Linux. Kromě všech výše uvedených definic open-source podmínky GPL specifikují, že pokud někdo upraví open-source program a distribuuje odvozené dílo, musí také distribuovat zdrojový kód pro své odvozené dílo. Jinými slovy, nikdo nemůže převzít open-source kód a vytvořit z něj uzavřený zdrojový program - musí své změny vydat zpět komunitě. Microsoft z tohoto důvodu označil GPL jako „virální“, protože nutí programy, které obsahují kód GPL, vydat svůj vlastní zdrojový kód. Pokud se jedná o problém, vývojáři programu se samozřejmě mohou rozhodnout nepoužívat kód GPL.

Některé další licence, například licence BSD, omezují vývojáře na menší omezení. Pokud je program licencován na základě licence BSD, může kdokoli začlenit jeho zdrojový kód do jiného programu. Nemusí uvolňovat své změny zpět do komunity. Někteří lidé vidí, že to je ještě „zdarma“ než licence GPL, protože dává vývojářům svobodu začlenit kód do svých vlastních uzavřených programů, zatímco jiní to považují za méně „zdarma“, protože jim to bere práva od koncových uživatelů odvozeného programu.

Výhody pro uživatele

To nejsou všechno suché, nedůležité věci, na kterých záleží pouze vývojářům. Nejviditelnější výhodou softwaru s otevřeným zdrojovým kódem je, že jej lze mít zdarma. Příklad výše uvedeného systému Ubuntu Linux to objasňuje - na rozdíl od Windows můžete bez omezení instalovat nebo distribuovat tolik kopií Ubuntu, kolik chcete. To mohou být obzvláště užitečné servery - pokud nastavujete server, můžete si na něj nainstalovat Linux. pokud nastavujete virtualizovaný klastr serverů, můžete snadno duplikovat jeden server Ubuntu. Nemusíte si dělat starosti s licencováním a počtem instancí systému Linux, které máte povoleno spouštět.

Open-source program je také flexibilnější. Například nové rozhraní systému Windows 8 zklamalo mnoho dlouhodobých uživatelů Windows pro stolní počítače. Protože Windows je uzavřený zdroj, nemůže žádný uživatel Windows převzít rozhraní Windows 7, upravit ho a zajistit, aby správně fungoval v systému Windows 8. (Někteří uživatelé Windows se o to pokoušejí, ale jedná se o pečlivý proces zpětného inženýrství a úpravy binárních souborů. )

Když pracovní plocha Linuxu, jako je Ubuntu, představí nové desktopové rozhraní, které někteří uživatelé nemají rádi, mají uživatelé více možností. Například když byl vydán GNOME 3, bylo mnoho uživatelů desktopů s Linuxem stejně vypnuto. Někteří převzali kód do staré verze GNOME 2 a upravili jej tak, aby fungoval na nejnovějších linuxových distribucích - to je MATE. Někteří převzali kód do GNOME 3 a upravili jej tak, aby fungoval způsobem, který upřednostňovali - to je skořice. Někteří uživatelé právě přešli na stávající alternativní pracovní plochy. Pokud by byl Windows open-source, měli by uživatelé Windows 8 větší výběr a flexibilitu. Stačí se podívat na CyanogenMod, populární komunitní distribuci Androidu, která přidává funkce a podporu pro nová zařízení.

Software s otevřeným zdrojovým kódem také umožňuje vývojářům „stát na bedrech obrů“ a vytvářet si vlastní software. Svědkem je Android a Chrome OS, což jsou operační systémy postavené na Linuxu a dalším open-source softwaru. Jádro OS X od Apple - a tedy i iOS - bylo postaveno také na open-source kódu. Společnost Valve zuřivě pracuje na přenesení své herní platformy Steam na Linux, protože by jim to umožnilo vytvořit si vlastní hardware a ovládat svůj vlastní osud takovým způsobem, který v systému Microsoft Windows není možný.

Toto není vyčerpávající popis - na toto téma byly napsány celé knihy - ale nyní byste měli mít lepší představu o tom, co vlastně open-source software je a proč je pro vás užitečný.