
Co je svobodný software?
Často se setkáváme s pojmy jako free software nebo Open Source, považujeme za
samozřejmé bezplatné stahování si spousty programů ze sítě a někteří z nás
volně šíří i vlastní programy nebo doplňky programů jiných. Vše se může zdát
jasné a jednoduché, mnohé z toho funguje již desítky let. Přesto neuškodí se
na problematiku svobodného softwaru podívat podrobněji. Nejprve je ovšem nutné
si ujasnit, co to svobodný software vlastně je.
Proč mnozí z nás používáme operační systém GNU/Linux nebo některý z řady BSD
systémů? Někteří pro jejich technickou kvalitu, jiní proto, že mají rádi
systém pod svou kontrolou, a další třeba hlavně proto, aby měli legální
softwarové vybavení bez poplatků za licence. Většina pak asi kvůli tomu všemu
dohromady a možná ještě z celé řady jiných důvodů. Každopádně se asi shodneme
na tom, že tyto systémy jsou oproti jiným operačním systémům jaksi
jiné, ať už v dobrých či špatných směrech. V čem tato
odlišnost spočívá?
Důvodů by jistě bylo možno nalézt více, ale jedním z nejvýznamnějších faktorů
je, že převážnou část těchto systémů dnes tvoří svobodný software. Co to
svobodný software je? Terminologicky vzato, jedná se o nyní
postupně přijímanou shodu na společném souhrnném českém překladu cizojazyčných
termínů jako free software, Open Source,
libre software, aj. A co termín svobodný software znamená
fakticky, může snad existovat software nesvobodný?
Může. V dřevních dobách počítačů bylo mezi programátory běžné, že si své
výtvory navzájem předávali, kopírovali a vylepšovali. S postupujícím
rozšiřováním počítačů mimo univerzity a pracoviště s atmosférou vědeckých
ústavů a se vzrůstajícími možnostmi šíření programů docházelo k vytváření
nových vztahů mezi tvůrci a uživateli softwaru. Výrobci softwaru se snažili
dostat i dříve běžně volně šířený software pod svoji kontrolu a chránit svá
díla před jejich uživateli. Uživatelům tak povětšinou bylo a je zakazováno se
softwarem nakládat jiným způsobem, než jej pouze vymezeným způsobem spouštět.
Takový software nesmíte překopírovat svému kamarádovi, nesmíte zkoumat jeho
interní funkce a vnitřní strukturu, nesmíte jej měnit a své modifikace šířit a
v krajním případě, kdy je software pokryt aplikovatelným patentem, nesmíte ani
vytvořit svůj vlastní program fungující podobným způsobem. Takový software
doslova vězí ve vězení, přísně hlídán a obhospodařován pouze svým tvůrcem, a je
tedy zcela na místě jej označovat jako nesvobodný.
Svobodný software je logicky opakem softwaru nesvobodného. Takové vymezení nám
ovšem mnohdy nestačí, je zapotřebí přesnější definice. S tím je však trochu
potíž, protože pojmy svobodný a nesvobodný
jsou ve značné míře neurčité. Kvůli této neurčitosti obecně platná exaktní
definice svobodného softwaru existovat nemůže. Přestože nějaké definice
různého zaměření existují, požadavky na skutečnou svobodu softwaru se liší.
Pojem svobodného softwaru je různými lidmi chápán různě, podobně jako třeba
různí lidé odlišně vnímají pojem svoboda. Nicméně lze říci,
že existuje alespoň všeobecný konsensus ohledně určité minimální množiny
požadavků, bez jejichž splnění určitě nelze o svobodném softwaru hovořit.
Zkusme si nyní tyto požadavky stručně uvést a zdůvodnit.
Nejzákladnějším požadavkem je, aby program bylo možno vůbec
spouštět, a to pro jakýkoliv účel a bez nutnosti komunikace
s nějakou konkrétně určenou entitou. Ač něco takového může na první pohled
vypadat triviálně a samozřejmě, ne všechny programy tento požadavek splňují.
Bezprostředně navazujícím požadavkem pak je, aby program bylo možno volně
šířit, bez dodatečných podmínek, které by šíření nějakým
způsobem reálně komplikovaly, s výjimkou případných omezení vynucených
legislativou.
Jedním z důsledků těchto požadavků je, aby software bylo možno používat a šířit
bezplatně. To je možná vůbec nejpopulárnější vlastnost svobodného softwaru,
kterou mnozí uživatelé vidí jako nejdůležitější a mnohdy i jediný pro ně
podstatný rys. Ne všichni si však uvědomují, že zde nejde ani tak o nějakou
dobročinnost nebo jakýsi "softwarový komunismus" s primární snahou ušetřit
uživatelům peníze za licenční poplatky. Vždyť jak známo, zadarmo není nic a
vytvoření jakéhokoliv softwaru stojí investice, ať už v podobě práce, času,
počítačového vybavení anebo získání nutných technických znalostí. Skutečným
důvodem požadavku bezplatnosti je odstranění závislosti na tvůrci softwaru.
Pokud by bylo nutné platit mu za nějaké úkony poplatky, bylo by to náročné
finančně i administrativně a nebyly by splněny zmíněné nejzákladnější požadavky
neomezeného spouštění a šíření. Bezplatnost je důsledkem svobody softwaru,
nikoliv samotným cílem. Nedivte se tedy, pokud si u někoho necháte napsat
svobodný software a on vám jej nedá do ruky dříve, než mu za něj zaplatíte.
Důležité je, že jakmile tento software jednou získáte, jeho tvůrce vám již
nijak nebrání, abyste tento software používali a dále šířili, jakým způsobem
chcete. Vás pak také nikdo nenutí, abyste software dále šířili bezplatně ani
abyste jej vůbec šířili. To již záleží jen na vás, můžete tak činit a
nemusíte, může to být zdarma nebo za úplatu, pouze nesmíte dalším příjemcům
bránit v dalším nakládání s takovým softwarem dle jejich
vlastního uvážení.
I když můžete daný program používat a kopírovat svým přátelům nebo obchodním
partnerům, aniž byste museli žádat o svolení třetí stranu, něco jí platit nebo
s ní jakkoliv jinak komunikovat, nemusí se ještě stále jednat o software
svobodný. Ke slovu se totiž dostávají programátoři, ať už z vlastního zájmu
nebo ke službám dalším uživatelům. Aby software časem nezahynul na
zastaralost, únavu ze svých chyb a neschopnost získávat nové funkce, musí být
možno provádět změny jeho kódu a dále tyto změny
šířit, opět bez podmínek, které by tyto aktivity nemístně omezovaly.
S tím souvisí i možnost využívat, modifikovat a šířit i libovolné části
programu pro potřeby jiného svobodného softwaru.
Aby bylo možné program reálně modifikovat, musí být dostupný v podobě lidsky
i strojově čitelného zdrojového kódu a musíte mít právo studovat funkce
programu. Není-li spolu s programem k dispozici jeho zdrojový kód, který smíte
bez omezení zkoumat, je obvykle jen velmi obtížné až prakticky nemožné takový
program měnit (otevřete-li si v textovém editoru kupříkladu soubor
/bin/ls, moc moudří z něho asi nebudete). Toho výrobci softwaru
využívají velice často, ke svým programům zdrojový kód nedodávají a tak i bez
administrativních omezení znemožňují provádění změn ve svých programech. Někdy
naopak zdrojový kód svého produktu dodávají, zakazují jej však měnit.
V takovém případě se sice můžete podívat, jak program uvnitř funguje,
vylepšovat a opravovat jej však již nesmíte. Pak může být lepší se i pouhé
četbě takového zdrojového kódu vyhnout pro případ, že byste chtěli psát
software podobný, bez rizika vědomého či podvědomého použití zhlédnutých
algoritmů a postupů a vystavení se tak možnosti porušení zákazu kopírování kódu
do jiných produktů.
Nakonec je nutné, aby výše uvedená práva byla neodvolatelná. Obsahuje-li
licence programu klauzuli, že distributor si vyhrazuje právo tyto podmínky
kdykoliv změnit a další volné nakládání s dříve získaným kódem zakázat, nemají
poskytnutá práva valnou hodnotu.
Tyto vlastnosti tedy tvoří nejnutnější sadu základních požadavků na svobodný
software. Chybí-li některá z nich, nemůže být software svobodný. Cílem
uvedených požadavků je, aby software mohl být dále vyvíjen, a to kýmkoliv kdo
pro to má motivaci a prostředky. Zcela oprošťují programy od jejich původních
tvůrců, umožňují softwaru vývoj v jiných rukou na základě jiných požadavků,
odlišných od původního záměru tvůrce. A samozřejmě, což je také velmi
důležité, umožňují vývojářům využívat existujícího kódu bez nutnosti vytvářet
něco, co již existuje, a stále znovu a znovu pracně konstruovat dávno
zkonstruované kolo místo práce na něčem novém.
Někteří lidé kladou na svobodný software ještě další požadavky, například aby
bylo možné v něm provádět vlastní, dále nešířené, změny bez nutnosti jejich
zveřejnění (ochrana soukromí) nebo aby bylo možno software šířit ve zdrojové
i binární podobě (pohodlí uživatelů, některé licence dávají práva svobodného
softwaru pouze ke zdrojovému kódu a uživatelé si pak musí takový software
kompilovat sami).
Je dobré si uvědomit, že uvedené požadavky jsou jakýmisi přirozenými právy
uživatelů. Zákazy obalující nesvobodný software jsou překážky administrativní,
pokud by žádná pravidla neexistovala, nic by uživatelům nebránilo získaný
software kopírovat a měnit. Zkopírováním získaného softwaru svému kamarádovi
se z přirozeného hlediska nemůžete dopustit klasické krádeže, protože se
k nikomu nevloupáte a nikomu nic neodnášíte. V tom je rozdíl oproti hmotným
věcem jako třeba rohlíkům nebo automobilům.
Neexistuje shoda na tom, zda je lepší produkovat software svobodný, nesvobodný
nebo svobodný i nesvobodný v závislosti na jeho určení. Zastánci svobodného
softwaru vyzdvihují fakt, že svobodný software dává vyvážená práva všem tvůrcům
softwaru i uživatelům, což dává softwaru větší šanci na jeho rozvoj a podporuje
konkurenci, z čehož profituje společnost jako celek. Zastánci nesvobodného
softwaru naopak považují skutečnost, že si vyhrazují řadu práv na úkor
uživatelů, také za všeobecně prospěšnou, neboť tím ochraňují své investice a
dávají tak softwaru větší šanci na jeho rozvoj a podporují konkurenci.
Tyto protichůdné názory zřejmě posoudí budoucnost. Není tomu tak dávno, co ve
světě softwaru jednoznačně dominoval software nesvobodný. S touto situací bylo
nemálo programátorů nespokojeno. Rozhodli se vrátit přirozená práva zpět
uživatelům, software osvobodit, a to nejschůdnější a nejpoctivější cestou --
tvorbou softwaru svobodného. Díky těmto lidem (a také podpůrným faktorům jako
například rozvoj Internetu), kteří se s nástupem nesvobodného softwaru
nespokojili a investovali nemálo úsilí do tvorby softwaru svobodného, dnes máme
kompletní svobodné operační systémy. Nyní je již pro řadu lidí zcela reálně
možné používat k práci i pro osobní potřebu výhradně svobodný software.
Nyní tedy máme zcela reálnou možnost volby a máme co posuzovat. Můžeme si na
svůj počítač nainstalovat svobodný software z kdejaké oblasti a vyzkoušet různé
alternativy. To, co se nám nelíbí, můžeme buď jednoduše smazat bez pláče nad
vyhozenými penězi za licenci, nebo si ve svém oblíbeném svobodném či
nesvobodném editoru otevřít jejich zdrojový kód a začít opravovat chyby, jiné
nedostatky a dodělat si nové funkce, které potřebujeme. O tato vylepšení se
můžeme podělit se svými kolegy a přáteli a záleží již jenom na nich a na nás,
zda tuto práci pojmeme jako pouhý koníček nebo zda si za ni necháme zaplatit.
A v tom všem se skrývá podstata onoho na začátku zmíněného klíčového faktoru
přispívajícího k odlišnosti a stoupající popularitě operačních systémů typu
GNU/Linux nebo BSD.
Pokud vám byl svobodný software dosud neznámý a jeho výše uvedené vlastnosti
vás nějakým způsobem zaujaly, můžete si zkusit malou hru. Ke každému šířenému
softwaru je připojena jeho licence, definující podmínky jeho využívání a
dalšího nakládání s ním. Zkuste se podívat na licence několika vámi nejčastěji
používaných programů, možná se budete divit, co všechno se v nich dočtete.
Často se jedná o dokumenty značně komplikované, ať už se jedná o software
svobodný či nesvobodný, ale o tom až někdy příště.
Terminologií jsme začali, terminologickou poznámkou skončíme. Jako opak
k termínu svobodný se nejčastěji používá pojem
proprietární (v angličtině proprietary).
Velmi často se můžeme setkat i s pojmy nekomerční a komerční, ty jsou
však velmi nepřesné. Zatímco slovo proprietární vyjadřuje jakýsi majetnický
vztah, komerce je obchod. Svobodný software lze i přes jeho bezplatnost
produkovat za účelem zisku (jistě jste si již vědomi, že bezplatnost svobodného
softwaru je něco trochu jiného než dostávat věci zadarmo) a naopak nesvobodný
software může být vyvíjen nekomerčně, bez ohledu na zisk. Doporučuji tedy
pojem nekomerční pro svobodný software jako takový nepoužívat.
|