7Jul

Co je to software s otevřeným zdrojovým kódem a proč to záleží?

Geeks často popisují programy jako "open source" 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á pouze to, že si jej můžete stáhnout zdarma.)

Ať už je program open source nebo ne, není záležitostí pro vývojáře, záleží také na uživatelích. 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 Flickr

Definice Open Source

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 k jakémukoli účelu;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 tak, že vytvoříte vlastní přizpůsobenou verzi daného programu - nebo samotného Ubuntu. Licenční licence s otevřeným zdrojovým kódem vám to umožňují, zatímco licence s uzavřeným serverem 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 udržuje 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 obecně volně k dispozici - ačkoli vývojář nemůže zastavit nabíjení kopií softwaru, pokud umožní redistribuci aplikace a její zdrojový kód.

Nicméně, to není to, co "svobodný software" odkazuje."Svobodný" ve svobodném softwaru znamená "volný jak ve svobodě", ne "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řízené a upravené 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 typu softwaru. Advokáti s otevřeným zdrojovým kódem se chtěli zaměřit 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é používají projekty s otevřeným zdrojovým kódem, v závislosti na tom, které vývojáři preferují pro svůj program.

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šech 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žít 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", protože přinutila programy, které obsahují kód GPL, aby uvolnily 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, například licence BSD, ukládají méně omezení vývojářům. Pokud je program licencován pod licencí BSD, může někdo zahrnout zdrojový kód programu do jiného programu. Nemuseli 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ží pouze 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í.To může být obzvláš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 obávat licencování a kolik instancí systému Linux máte povoleno spouštět.

Program open-source 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 systému 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ů desktopu Linuxu 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 jej tak, aby fungovalo tak, jak to dalo přednost - to je špenát. Někteří uživatelé právě přepnuli na existující alternativní desktopy. Pokud byl systém Windows otevřený zdroj, uživatelé systému Windows 8 měli větší výběr a flexibilitu. Stačí se podívat na CyanogenMod, oblíbenou distribuci systému Android pro komunitu, 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 další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 svůj vlastní hardware a ovládat svůj osud způsobem, který není možný v systému Microsoft Windows.

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ě je open-source software a proč je pro vás užitečné.