FreeBSD je operační systém podobný Unixu a je iterací starších unixových distribucí známých spíše jako Research Unix. Je open-source a veřejně dostupný zdarma a je vlastně jen jednou z mnoha distribucí Berkeley Software Distributions (zkráceně BSD, proto se operační systém jmenuje FreeBSD), dalšími významnými iteracemi jsou OpenBSD, NetBSD a DragonFly BSD.
Linux jako odvozenina Unixu má samozřejmě s BSD mnoho společného. Stejně jako BSD jsou i linuxové distribuce svobodné a s otevřeným zdrojovým kódem. Navzdory zásadním podobnostem Linux v popularitě do značné míry zastínil BSD a více než 74 % moderních chytrých telefonů je založeno na Linuxu.
Vyvstává tedy otázka:
No, rozdíly mezi nimi spočívají v základech, a těch je velmi mnoho. Ale přečíst je všechny v jednom příspěvku by bylo pro čtenáře dost únavné. Proto se tento příspěvek zaměří pouze na základy a složité detaily vynechá, aby byl stručný a neodradil nové čtenáře.
Ale co je vlastně Linux?
První věc, kterou si mnoho lidí plete, je, že Linux je jádro, nikoli operační systém. To z něj tedy dělá pouze součást operačního systému, nikoliv operační systém samotný.
Probuďme na chvíli jádra. Jádra slouží jako svorník v každém operačním systému, protože zachovávají veškerý základní kód, na kterém daný operační systém stojí. Umožňuje a urychluje interakci mezi hardwarovými a softwarovými součástmi systému, spravuje jeho vstupní/výstupní požadavky směrem k softwarovým aplikacím a od nich a zodpovídá také za obsluhu hardwarových zařízení.
Jádro je zkrátka nejucelenějším prvkem každého operačního systému, na kterém je založeno, a je proto zataženo do vysoce ochranné části v paměti systému, kde jsou odmítány všechny požadavky na přístup od aplikací, s výjimkou několika, které jsou nedílnou součástí provozu systému.
Když jsme pochopili, co je jádro, můžeme se posunout dál a podívat se, co Linux jako jádro v operačním systému dělá.
Jádro Linuxu v operačním systému
Mezi nejoblíbenější operační systémy založené na Linuxu patří Debian, Ubuntu, Fedora a Deepin. Kdykoli tedy uslyšíte někoho říkat, že používá Linux, vězte, že se ve skutečnosti jedná o jednu z těchto distribucí. Tyto distribuce jsou „založené na Linuxu“, protože jsou postaveny na jádře Linuxu. Díky úpravám jádra spolu s novými aplikacemi, které jsou do něj nahrány, se každá distribuce liší od jiné.
Co je BSD a jak se liší od Linuxu?
Jak již bylo zmíněno, různé distribuce BSD jsou operační systémy. A to dělá z BSD, stejně jako z Linuxu, jádro.
Aby to ale bylo složitější, BSD je také samostatný operační systém, což Linux není. Vysvětlíme si, jak přesně.
U distribucí BSD je do jádra BSD přidáno několik programů. Tato kombinace je pak vydána jako samostatný kompletní balíček, který je třeba nainstalovat, a věc je připravena k použití. Takže základní rozdíl mezi distribucemi BSD, jako je FreeBSD, OpenBSD atd. je kvůli programům přidaným do jádra operačního systému. Ke stažení dalších softwarových balíčků používají uživatelé BSD systém portů, který tyto balíčky uchovává ve zdrojové podobě. Zdrojový kód je systémem zkompilován při každém spuštění softwaru. I když se to může ukázat jako těžkopádné, zejména při spouštění delších a složitějších kódů, systémy BSD mohou krok kompilace při každém spuštění zcela vynechat, pokud je program nainstalován v binárním stavu, čímž se tento proces do značné míry ulehčí.
Linux se od BSD liší v tom, že každá z jeho distribucí používá zcela jiné programy a distribuce nemají centralizovaný repozitář pro softwarové balíčky, protože každá distribuce má svůj vlastní repozitář.
Rozdíl v licencování
Jedním ze zásadních rozdílů mezi BSD a Linuxem je rozdíl v licenčním systému, pod kterým jsou jejich distribuce vydávány.
Při stahování softwaru z repozitáře Ports v BSD nebo při instalaci distribuce jako celku je vám software nebo distribuce přidělena pod licencí BSD, což je vlastní licenční systém používaný vývojáři BSD. Ačkoli je BSD od nynějška zcela open-source a svobodné, licenční systém BSD umožňuje vývojářům prohlásit BSD za closed-source v jediném okamžiku. Jako uživatelé FreeBSD nemáte na další verze od vývojářů BSD právní nárok. Vývojáři BSD však dali veřejně najevo, že mají v úmyslu zachovat ji jako open-source i v budoucnu.
Distribuce Linuxu jsou vydávány pod licencí GNU General Public License (GPL). Podle tohoto licenčního systému jsou vývojáři Linuxu právně nuceni zveřejnit každý případ změn provedených v jádře Linuxu. Tento licenční systém v podstatě zajišťuje, že Linux zůstane open-source bez ohledu na změny provedené v samotném jádře.
Proč je Linux populárnější? (Spoilery: Dostupnost softwaru)
Pokud jste celou dobu přemýšleli, proč jste o BSD neslyšeli tolik jako o linuxových distribucích, tady je důvod: pokud jde o kompatibilitu softwaru, Linux jí dává na frak. Pro každý software existuje verze kompatibilní s Linuxem. To není případ FreeBSD, které z tohoto důvodu zůstává do značné míry opomíjeno.
Jádro Linuxu umožňuje ve srovnání s jinými jádry jednodušší psaní a distribuci softwarových programů, takže vývojáři přirozeně tíhnou k práci na verzích pro Linux. Zejména distribuci ještě více usnadňuje předinstalovaný systém binárních balíčků, který usnadňuje. Linux umožňuje stahování a instalaci softwarových balíčků prostřednictvím správců balíčků, jako jsou apt, yum, Pacman atd.
V porovnání s distribucí softwaru v Linuxu to mají uživatelé BSD mnohem těžší. Softwarové balíčky se v BSD nejprve stahují jako zdrojové kódy prostřednictvím systému portů. Tyto zdrojové kódy se pak při každém spuštění kompilují, což je proces, který je v moderní době, kdy se software instaluje na jedno kliknutí, časově náročný a frustrující. Stejně frustrující je to i pro vývojáře, protože musí vynaložit spoustu úsilí, aby byla kompilace co nejrychlejší.
Přestože zavedení předkompilovaných binárních balíčků do značné míry zmírnilo proces získávání softwaru ve FreeBSD, dostupnost softwaru stále zůstává pro BSD obrovským problémem.
Výběr mezi Linuxem a BSD
Pokud pomineme rozšířenější Windows a IOS, jsou linuxové distribuce mílovými kroky před ostatními operačními systémy. Je zdarma, má otevřený zdrojový kód a nabízí vše, co FreeBSD, bez výhrad.
BSD a Linux mají mnohem více společného než rozdílného, přičemž jedinými zásadními rozdíly jsou licence a distribuce softwaru. Přesto, navzdory podobnostem, je používání jednoho kompromisem druhého.
Na jedné straně FreeBSD udržuje knihovnu nástrojů a závislostí napříč všemi distribucemi, což vývojářům usnadňuje iteraci obsahu a vymýšlení vlastních aplikací. V tom má FreeBSD oproti Linuxu značnou výhodu, protože sada GNU, která je součástí Linuxu, toto neumožňuje.
Na druhou stranu však nedostatek kompatibility a dostupnosti softwaru značně omezuje zkušenosti s FreeBSD. Tento problém lze vyřešit použitím balíčku pro kompatibilitu s Linuxem, který umožňuje spouštění linuxového softwaru na distribucích BSD, ale i tak je to jeden krok navíc, který ztěžuje zážitek.
Co se týče licencí, licence GPL pro Linux je mnohem restriktivnější než licence BSD. Vývojáři ani uživatelé nemohou provádět změny linuxového jádra nebo zdrojového kódu, aniž by je zveřejnili. Uživatelé BSD žádnou takovou povinnost nemají; proto by vývojáři měli BSD alespoň vyzkoušet. Možnost zachovat zdrojový kód v soukromí je značnou výhodou, kterou Linux neposkytuje.
Licencování linuxových distribucí je nakloněno ve prospěch uživatelů, protože potvrzuje, že jakýkoli vývoj provedený za účelem vylepšení aplikací pro tento systém bude zpřístupněn uživatelům. Licencování BSD se naproti tomu více blíží standardnímu licencování, které umožňuje uživatelům instalovat BSD zdarma, ale nedrží vývojáře, aby svůj obsah zveřejňovali.
Naše doporučení
Pokud se chystáte používat distribuci Linux pro obecné účely, doporučili bychom ji. Její softwarová kompatibilita je dostatečným důvodem k tomu, abychom ji doporučili. Pokud však patříte mezi výrobce, je pro vás BSD tou správnou volbou. Má centralizovaný repozitář softwaru a je dobře hodnocená pro svou spolehlivost. A co se týče licencí BSD, nemusíte se obávat, že by vaše práce byla open-source.
Pokud jste se rozhodli pro linuxové jádro, doporučujeme použít Ubuntu. Je pravidelně aktualizováno každých šest měsíců, což je konzistence, která podle mého názoru skvěle vyvažuje udržování kroku s bezpečnostními problémy a nefrustrování uživatelů.
A pokud jste se rozhodli pro jádro BSD, doporučili bychom FreeBSD, což je zkrátka a dobře nejpoužívanější distribuce BSD.