Již téměř 40 let probíhá boj o svobodu softwaru a hlavně svobodu, již dává svým uživatelům. Hlavní rozmach nastal s operačním systémem GNU/Linux, avšak dnes využívá nebo dokonce vyvíjí svobodný software čím dál více velkých firem včetně Googlu, Microsoftu nebo Facebooku. Svobodný software nám dává možnost společně inovovat. A jistě vás ani nepřekvapí, že i Bitcoin Core klient je svobodný software. Pojďme si více povědět o tom, proč je svobodný software důležitý a co z té svobody vyplývá pro běžné uživatele.
Open-source, česky nazývaný software s otevřeným zdrojovým kódem, a free software neboli svobodný software, jsou dva termíny, které lidé často zaměňují. Nutno říct, že to není jejich vina, jelikož oba termíny označují téměř to samé a liší se vlastně jen v drobných rozdílech. Bohužel i tyto drobné rozdíly dokáží dělit lidi do navzájem nesnášenlivých skupin, a tak můžete na internetu nalézt lidi z Open-Source Initiative opírající se do Free Software Foundation a naopak.
Spory pro nás však nejsou důležité – takže co mají obě skupiny společného? Zjednodušeně řečeno: obě usilují o možnost software svobodně používat a modifikovat. Free software v tomto můžeme označit jako podmnožinu open-source softwaru, jelikož software sice může mít otevřený zdrojový kód, ale nemusí obsahovat licenci, která by umožňovala volně distribuovat upravené kopie. Takový software tedy není svobodný, i když je technicky vzato open-source.
„Free software is a political movement; open source is a development model.“
Richard Matthew Stallman
Zakladatel hnutí svobodného softwaru, projektu GNU a Free Software Foundation.
Pro účely tohoto článku budu dnes pojednávat o svobodném softwaru, jelikož přináší více výhod hlavně svým uživatelům.
Počátky svobodného softwaru se datují až do roku 1983, kdy se programátor a aktivista Richard Stallman rozhodl vytvořit první svobodný operační systém, vycházející z Unixu. Tak vznikl operační systém GNU, jehož nejznámější a nejpoužívanější variantou je dnes operační systém GNU/Linux (často chybně nazývaný jen „Linux“). Stallman také v roce 1985 založil Free Software Foundation a je autorem nejrozšířenější svobodné licence – GNU General Public License.
Není ale třeba zde recitovat Stallmanův životopis. Je očividné, že jeho přínos softwarovému světu je neměřitelný. Svojí advokacií a aktivismem dokázal vývojáře přesvědčit, že psát svobodný software má hodnotu pro vývojáře i uživatele, a že z toho dokonce mohou těžit i velké firmy, a to i jinak než v marketingovém či náborovém oddělení.
Svobodný software dává uživatelům svobodu spouštět, kopírovat, distribuovat, studovat, měnit a zlepšovat jej. Přesněji řečeno, vztahuje se ke čtyřem svobodám pro všechny uživatele softwaru:
Díky snahám Free Software Foundation a Open-Source Initiative mohou dnes vývojáři těžit z kolaborativní spolupráce na platformách jako například Github, kde je hostována většina existujících open-source projektů. Je tak možné, aby se tisíce vývojářů z celého světa zapojily do vylepšování a opravování knihoven, hledání chyb a společného vytváření nových nástrojů. A jak už nám nedávná historie dokázala: sebelepší korporace spravující uzavřený kód nedokáže soupeřit s pílí tisíců nezávislých vývojářů.
Není tedy divu, že i velké korporace jako Facebook dávají mnoho svých nástrojů k dispozici jako free software – stovky vývojářů dělající vylepšení na vašem softwaru zadarmo? Co víc si přát? Dokonce i Microsoft, který dříve pohrdal celým open-source odvětvím, musel uznat „porážku“ a dnes produkuje svobodný software, jenž vývojáři rádi používají a přispívají do něj.
Co garantuje softwaru jeho svobodu? Není to nic jiného než licence. Zprvu by se mohlo zdát, že licence je přesný opak svobody, jelikož ji může omezovat, avšak bez licence by nebylo možné zachovat 4 výše vyjmenované svobody svobodného softwaru. Jsou svobodné licence, jako například MIT, BSD nebo Unlicense, které deklarují absolutní svobodu užívání a úprav, ale už negarantují, že kdokoliv, kdo zkopíruje a změní daný software, jej ponechá svobodným.
Free software je v angličtině často špatně pochopený termín. Free totiž znamená „svobodný“ i „zdarma“, a tak to mnoho lidí chápe jako software, který je zdarma. Není tomu tak, protože „free software“ může být bez problémů prodáván za peníze a nic v licenci tomu nebrání. I když se může zdát pošetilé prodávat software, jehož zdrojový kód je volně dostupný, není pro každého uživatele možné tento software spustit a provozovat, a tudíž je možné jej prodat.
Většina lidí již pravděpodobně slyšela termín copyright – zjednodušeně řečeno jde o vlastnické právo na dílo (duševní vlastnictví), v jehož rámci může autor omezit použití díla. Richard Stallman v rámci vytváření licence GNU-GPL přišel s novým termínem – copyleft. Copyleft ovšem není opakem copyrightu, spíše jeho podmnožinou. Garantuje, že jakékoliv odvozené dílo (v tomto případě kopie programu) ponese stejnou licenci a bude tak garantovat stejné svobody.
Je tak například nemožné bez porušení licence použít knihovnu s licencí GNU-GPL v jakémkoliv nesvobodném softwaru. K takovým porušením licence již došlo – patrně nejznámější je případ z roku 2008, kdy Free Software Foundation žalovala společnost Cisco Systems za použití GNU knihoven ve svém uzavřeném ekosystému. Nakonec došlo k mimosoudnímu vyrovnání včetně finančního příspěvku od firmy Cisco. Aby k podobným problémům již nedošlo, najala společnost Cisco člověka, který má na starosti kontrolu dodržování licenčních pravidel.
Již není pochyb o tom, že svobodný software dnes hýbe světem, ať už v podobě operačního systému GNU/Linux, jenž běží na většině serverů, nebo třeba OS Android na mobilních telefonech. Ideologie svobodného softwaru vychází z ideologie cypherpunku a hackerského hnutí, není tedy divu, že Bitcoin a na něj navazující projekty jsou taktéž svobodné.
Tato idea začne být revoluční v momentě, kdy se projeví jako úspěšná. Před dvěma dekádami by bylo přinejmenším směšné, že by mohly existovat digitální peníze, jež budou zároveň svobodným softwarem s otevřeným zdrojovým kódem. Dnes, po více než dvanácti letech existence Bitcoinu, vidíme, že to možné je, a dokonce že tato možnost decentralizace a auditovatelnosti přináší velké výhody.
Kolem open-source softwaru koluje spousta mýtů, hlavně od velkých korporací, které nechtějí dát svůj kód veřejnosti, jelikož za něj zaplatily velké peníze. Jeden z těchto mýtů je například „nemůžeme kód zveřejnit, protože by v něm byly snadno nalezeny chyby“. Tento druh „ochrany“ se nazývá security by obscurity – bezpečnost skrze neznalost.
Tento falešný způsob ochrany uživatelů ve skutečnosti chrání jen výrobce softwaru. Je obecnou praxí, že hackeři vědí o chybách mnohem dříve než vývojáři, pokud není kód veřejný. Pokud je kód veřejný, je mnohem větší šance odhalit chybu, a tedy uchránit uživatele od nepříjemného hacku.
Vyvstává tedy otázka: co vše by mohlo být převedeno do svobodného prostředí? Co kdyby byly státem provozované systémy svobodným softwarem, který by mohl každý auditovat a vylepšovat? Co kdyby šlo do zákonů posílat pull requesty? Tisíce lidí by mohly participovat na vylepšování služeb, jež nyní za vysoké částky vyvíjejí korporace, které drží zdrojový kód v hrsti. Mohli bychom mít celý open-source framework na poskytování aktuálně státních služeb, jako například zdravotní pojištění nebo podpora nezaměstnaných.
Toto jsou samozřejmě velmi kontroverzní myšlenky a nahrazení státu softwarem by nebyla otázka jedné dekády. Ani Bitcoin nedokázal po deseti letech nahradit fiat peníze. Je ovšem důležité klást otázky a hledat nové cesty z aktuálního paradigmatu, které není svobodné. Svobodný software nám ukázal, že zavedené paradigma lze změnit ku prospěchu všem.
Jako uživatelé máme možnost volby – budu využívat svobodný software, či ne? Nedá se zpochybnit, že proprietární (uzavřený) software bývá v některých případech kvalitnější než jeho open-source konkurence. Třeba takový GIMP jen těžko může konkurovat mnohem vyspělejšímu Photoshopu, který obsahuje víc funkcí a hlavně je uživatelsky přívětivější. Není třeba někoho hanit jen proto, že využil nesvobodný software z důvodu, že mu to ulehčuje práci.
Jako v každém odvětví, i zde existují dvě hlavní skupiny – tzv. early adopters a mainstream uživatelé. Early adopters budou svobodný software využívat, i když bude vzhledem ke konkurenci nedokonalý, třeba z hledisek etických. U těch je zároveň větší pravděpodobnost, že se budou podílet na vylepšení softwaru. A pak jsou běžní mainstream uživatelé, kteří začnou daný software používat, když jim nabízí více výhod než jeho konkurence – tedy nehledě na to, zda jde o svobodný software, či ne.
I tak je ale otázka, proč používat svobodný software, pro běžné uživatele relevantní. Jak již bylo zmíněno, díky veřejně přístupnému zdrojovému kódu je snazší nalézt kritické chyby a opravit je. Naopak u uzavřeného softwaru je mnohem vyšší pravděpodobnost, že nějaký útočník využívá existující „díry“ v softwaru, aby se obohatil – není totiž možnost kód zrevidovat a chybu nezávisle nalézt.
Další otázkou je soukromí uživatelů. U uzavřeného softwaru uživatel nemá šanci vědět, co daný software dělá na pozadí – zda nesbírá data o uživateli a neposílá je někam na server. Společnosti se často snaží tuto kritiku odrazit argumentem „jde jen o metadata pro analytiku našeho produktu“, aniž by daly uživateli na výběr, zda chce tato metadata sdílet. A samozřejmě není tajemstvím, že spousta metadat pohromadě je jen drobný krok od identifikace konkrétního uživatele. Svobodný software je auditovatelný, a není tedy složité zjistit, zda se nějaká data posílají pryč, či ne.
Dalším důležitým aspektem svobodného softwaru pro uživatele je možnost modifikace. Samozřejmě, že každý uživatel není programátor a nedává smysl se naučit programovat, jen abych si upravil kus softwaru (i když jsou lidé, kteří to dokázali). Není ale nic jednoduššího než si na takovou práci někoho najmout. Představme si například, že jako podnikatel či malá firma budu využívat svobodný software na účetnictví a potřebuji v něm udělat změnu, například kvůli lepšímu počítání daní. Než se snažit přesvědčit korporaci, která software vyvíjí, mohu si najmout vývojáře, který mi software upraví pro mé potřeby. Toto je dnes běžná praxe v softwarových firmách, které využívají a zároveň vylepšují svobodný software. Tyto úpravy pak lze začlenit do hlavní větve softwaru a mohou z ní profitovat ostatní.
Abychom tu nemluvili jen o teorii, je na místě si ukázat i příklady svobodného softwaru, jež můžeme využívat v praxi. Základním pilířem bývá již zmíněný operační systém GNU/Linux. Co se týká prohlížení internetu, například Firefox nebo Chromium, ze kterého vychází Google Chrome, jsou open-source aplikace.
Ke sledování videí už dnes mnoho lidí používá VLC Player, jenž je alternativou aplikací jako QuickTime nebo Windows Media Player, které jsou obsahem funkcí oproti open-source softwaru směšné.
Používáte Microsoft Word nebo Google Sheets? I zde je pro vás svobodná alternativa v podobě LibreOffice. Jistě že některé funkce či uživatelské rozhraní nejsou tak dotažené jako v nesvobodných alternativách, ale možnost to také je.
Pokud jste vlastníkem telefonu s operačním systémem Android, můžete už dnes hledat a instalovat svobodné aplikace pomocí F-Droidu. Tato rozsáhlá knihovna nabízí jen svobodný software a její hlavní uživatelskou základnu tvoří uživatelé, kteří používají svobodnou verzi Androidu, jako například Calyx OS nebo Graphene OS.
Pro softwarové vývojáře je možnost využít svobodný software nejjednodušší, jelikož v tomto odvětví jsou mu lidé nejvíce nakloněni. Není tedy problém zahodit proprietární Sublime Text a nahradit ho editorem VS Code od Microsoftu, následně vyvíjet aplikaci s pomocí React knihovny od Facebooku a psát ji v jazyce Typescript, opět od Microsoftu.
A jak tedy jako uživatel zjistím, zda používám svobodný software nebo naleznu alternativu k softwaru, jenž používám? Není nic jednoduššího než se podívat přímo na webové stránky autora – zde buď otevřeně deklaruje, že je open-source, nebo bude uvádět odkaz na Github, kde je zdrojový kód dostupný. Pokud budete hledat alternativu pro váš existující uzavřený software, lze použít třeba stránku https://osalt.com/ – i když jsou některé zmíněné verze trochu zastaralé, alternativy jsou stále pravdivé. A koneckonců, občas nezbývá nic jiného než trochu googlit a hledat na veřejných fórech – určitě nebudete první, kdo hledá alternativu k nějakému uzavřenému softwaru.
Čas od času se objeví softwarový projekt, který se tváří jako svobodný nebo open-source, i když jím ve skutečnosti není. Tyto projekty parazitují na pravých svobodných projektech, protože se tak jen tváří, ale nedeklarují stejné svobody. Slibují si od toho hlavně to, že jim mnoho vývojářů zdarma dodá vylepšení do jejich kódu.
Tyto programy/projekty nemusí být nutně nebezpečné či neetické, ale poškozují dobré jméno svobodného softwaru, protože si pod značkou „open-source“ dělají falešnou reklamu. Z hlediska bitcoinového ekosystému můžeme za nečestné považovat třeba MyNode nebo Umbrel.
Oba projekty se rozhodly svůj zdrojový kód licencovat pod Creative Commons (CC BY-NC-ND 4.0), což není licence vhodná pro software, natož pro open-source. Tato licence dokonce zakazuje jakoukoliv distribuci úpravy či nadstavby, což se naprosto neshoduje s tím, jak vývojáři přispívají na Githubu svými vylepšeními – tato licence jim de facto zakazuje publikovat úpravy na Githubu. MyNode si tuto licenci upravil, aby bylo možné do něj přispívat pomocí Githubu, ovšem stále se zde nedá mluvit o svobodném softwaru. Jinými slovy: projekty, jež využívají svobodný software (pomocí drobné kličky, jelikož ho neintegrují do svého kódu), samy nejsou svobodné. Nelze to nazvat jinak než pokrytectvím.
Ještě před deseti lety bylo téměř nevídané, aby někdo provozoval GNU/Linux na svém domácím počítači, ba dokonce aby na něm naučil pracovat například své rodiče. Tato doba už naštěstí téměř pominula a svobodný software má v mnoha ohledech stejnou kvalitu, ne-li vyšší, než software od velkých korporací, jako například MS Windows. Mnoho proprietárních nástrojů už dnes má ekvivalent v podobě otevřených a svobodných nástrojů a není náznaku, že by se tento trend měl obrátit.
Arise, you have nothing to lose but your barbed wire fences!
The Crypto Anarchist manifesto
Co jako uživatelé zmůžeme? Používejme svobodný software, pokud to lze, a upozorňujme na software, který se tváří svobodně, ale ve skutečnosti není. Je důležité klást otázky a požadovat odpovědi. Software je cestou k větší svobodě a je třeba, aby uživatelé tuto svobodu aktivně hledali.
Autor není expertem na autorské a licenční právo, ale aktivně se podílí na vývoji open-source softwaru. Svobodný software nám dává možnost ověřovat, vylepšovat a využívat práci cizích lidí a zároveň jim přispět naší prací zpět. Tyto svobody pomáhají všem uživatelům a je důležité, aby byly udržovány.
Pavel Ševčík
Jsem programátor a bitcoinový maximalista. Přednáším o Bitcoinu, zejména jeho technických aspektech a dopadech na svobodu jednotlivce. Mimo to přispívám do open-source projektů spojených s Bitcoinem, jako je například Blue Wallet, BTCPay Server a další. Byl jsem členem think-tanku Paralelní Polis, kde jsem měl na starost osvětu, organizaci Bitcoinových meetupů a vytváření nástrojů pro lepší chod budovy.