Co je to software s otevřeným zdrojovým kódem a proč to záleží?
Geekové často popisují programy jako "otevřený zdroj" nebo "svobodný software". Pokud se divíte, co přesně tyto pojmy znamenají a proč jsou důležité, přečtěte si. (Ne, "svobodný software" neznamená jen to, že si jej můžete stáhnout zdarma.)
Nezáleží na tom, zda je program otevřený zdroj nebo nikoliv, je pro vývojáře záležitost. Licence softwaru s otevřeným zdrojovým kódem poskytují uživatelům svobody, které by jinak neměly.
Image Credit: Quinn Dombrowski na Flickru
Definice otevřeného zdroje
Pokud je program otevřený zdroj, je jeho zdrojový kód volně dostupný pro jeho uživatele. Jeho uživatelé - a někdo jiný - mají schopnost vzít tento zdrojový kód, upravit jej a distribuovat své vlastní verze programu. Uživatelé mají také možnost distribuovat tolik kopií původního programu, jak chtějí. Kdokoliv může program používat pro jakýkoli účel; neexistují licenční poplatky nebo jiné omezení softwaru. OSI má na svých webových stránkách podrobnější definici "open source".
Například Ubuntu Linux je open-source operační systém. Můžete si stáhnout Ubuntu, vytvořit tolik kopií, kolik chcete, a dát je Vašim přátelům. Ubuntu můžete nainstalovat na neomezené množství vašich počítačů. Můžete vytvořit remixy instalačního disku Ubuntu a distribuovat je. Pokud jste byli obzvláště motivováni, můžete si stáhnout zdrojový kód pro program v Ubuntu a upravit jej, a vytvořit tak vlastní přizpůsobenou verzi tohoto programu - nebo samotného Ubuntu. Licencie s otevřeným zdrojovým kódem vám to umožňují, zatímco licence s uzavřeným zdrojem vás omezují.
Opahem softwaru s otevřeným zdrojovým kódem je software s uzavřeným zdrojem, který má licenci, která omezuje uživatele a zachovává zdrojový kód od nich.
Firefox, Chrome, OpenOffice, Linux a Android jsou některé z populárních příkladů softwaru s otevřeným zdrojovým kódem, zatímco Microsoft Windows je pravděpodobně nejoblíbenějším softwarem uzavřeného zdroje.
Open Source versus svobodný software
Aplikace s otevřeným zdrojovým kódem jsou zpravidla volně k dispozici - ačkoli vývojář nemůže zastavit nabíjení kopií softwaru, pokud umožňují redistribuci aplikace a její zdrojový kód.
Nicméně, to není to, co "svobodný software" odkazuje. "Svobodný" ve svobodném softwaru znamená "svobodný jako ve svobodě", nikoliv "volný jako v pivu". Táboř pro svobodný software vedený Richardem Stallmanem a Nadací pro svobodný software se zaměřuje na etiku a morálku používání softwaru, který může být řízenou a upravenou uživatelem. Jinými slovy, svobodný software camp se zaměřuje na svobody uživatelů.
Richard Stallman. Obrázek Fripog na Flickru.
Otevřený zdroj softwaru byl vytvořen tak, aby se zaměřil na pragmatické důvody pro výběr tohoto druhu softwaru. Advokáti s otevřeným zdrojovým kódem se chtěli soustředit na praktické výhody používání softwaru s otevřeným zdrojovým kódem, který by byl spíše pro podniky než pro etiku a morálku.
Nakonec oba open-source a svobodní softwarové obhájci vyvíjejí stejný typ softwaru, ale nesouhlasí se zprávami.
Typy licencí
Existuje mnoho různých licencí, které využívají projekty s otevřeným zdrojovým kódem, v závislosti na tom, jak si vývojáři dávají přednost jejich programu.
Všeobecná veřejná licence GPL nebo GNU je široce využívána mnoha projekty s otevřeným projektem, jako je Linux. Kromě výše uvedených definic otevřeného zdroje platí, že podmínky GPL specifikují, že pokud někdo změní program s otevřeným zdrojovým kódem a distribuuje odvozenou práci, musí také distribuovat zdrojový kód pro svou odvozenou práci. Jinými slovy, nikdo nemůže používat kód s otevřeným zdrojovým kódem a z něj vytvořit program s uzavřeným zdrojem - musí své změny vrátit zpět do komunity. Společnost Microsoft označila společnost GPL za "virovou" z tohoto důvodu, protože nutí programy, které obsahují kód GPL, aby uvolnili svůj vlastní zdrojový kód. Samozřejmě, vývojáři programu se mohou rozhodnout nepoužít kód GPL, pokud se jedná o problém.
Některé další licence, jako je licence BSD, ukládají méně omezení vývojářům. Pokud je program licencován podle licence BSD, může někdo zahrnout zdrojový kód programu do jiného programu. Nemusí uvolňovat své změny zpět do komunity. Někteří lidé vidí, že je to ještě více "zdarma" než licence GPL, protože dává vývojářům svobodu začlenit kód do svých programů s uzavřenými zdroji, zatímco někteří lidé to považují za méně "zdarma" od koncových uživatelů odvozeného programu.
Výhody pro uživatele
Není to všechno suché, nedůležité věci, které záleží jen na vývojáři. Nejvíce zřejmým přínosem softwaru s otevřeným zdrojovým kódem je, že může být zdarma. Příklad Ubuntu Linux výše je jasný - na rozdíl od Windows, můžete nainstalovat nebo distribuovat tolik kopií Ubuntu, jak chcete, bez omezení. Mohou to být zvláště užitečné servery - pokud nastavujete server, stačí na něj instalovat Linux. pokud nastavujete virtualizovaný cluster serverů, můžete snadno duplikovat jeden server Ubuntu. Nemusíte se bát o licencování a kolik instancí Linuxu máte povoleno spouštět.
Program otevřeného zdroje je také flexibilnější. Například nové rozhraní Windows 8 zklamalo mnoho dlouhodobých uživatelů Windows. Vzhledem k tomu, že systém Windows je uzavřený, žádný uživatel Windows nemůže převzít rozhraní Windows 7, upravit jej a v systému Windows 8 pracovat správně. (Někteří uživatelé systému Windows se snaží, ale je to obtížný proces reverzního inženýrství a úpravy binárních souborů. ).
Když desktop Linux, jako je Ubuntu, představuje nové desktopové rozhraní, které někteří uživatelé nejsou fanoušci, uživatelé mají více možností. Například, když byl vydán GNOME 3, mnoho uživatelů Linuxu pro stolní počítače bylo stejně vypnuto. Někteří si vzali kód na starou verzi GNOME 2 a upravili ji tak, aby fungoval na nejnovější distribuci Linuxu - to je MATE. Někteří si vzali kód do GNOME 3 a upravili ho tak, aby fungovalo tak, jak to preferovalo - je to Cinnamon. Někteří uživatelé právě přepnuli na existující alternativní desktopy. Pokud byl systém Windows otevřený, uživatelé systému Windows 8 měli větší volbu a flexibilitu. Stačí se podívat na CyanogenMod, populární distribuci systému Android, která je součástí komunity, a která přidává funkce a podporu pro nová zařízení.
Open source software také umožňuje vývojářům "stát na ramenou obrů" a vytvářet vlastní software. Svědčí o operačních systémech Android a Chrome OS, které jsou operační systémy postavené na Linuxu a jiném softwaru s otevřeným zdrojovým kódem. Jádro operačního systému Apple OS X - a iOS - bylo postaveno také na open source kódu. Ventil se zuřivě pracuje na přenášení své herní platformy Steam do Linuxu, protože by jim umožnil vytvořit vlastní hardware a ovládat svůj vlastní osud způsobem, který není možný na Windows společnosti Microsoft.
Není to 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, jaký software s otevřeným zdrojovým kódem je a proč je pro vás užitečné.