Světem softwarového vývoje se šíří jméno, které dosud znali především čtenáři technických fór a lidé sledující dění kolem svobodného softwaru. Jde o operační systém LiberSystem, projekt psaný od úplného základu v programovacím jazyce Rust, za nímž stojí skupina českých vývojářů sdružených pod hlavičkou LiberSoft. Ambice je jasná, totiž vytvořit prostředí, v němž bezpečnost není dodatečnou vrstvou, ale vlastností zabudovanou do architektury samotného jádra.
Operační systém psaný od nuly se hlásí o slovo
Zdrojový kód projektu je veřejně dostupný na platformě GitHub a uvolněný pod licencí Unlicense, tedy v maximálně volném režimu, který nezatěžuje uživatele prakticky žádnými podmínkami. Kdokoli tak může kód studovat, upravovat i používat ve vlastních projektech, což ve světě IT nebývá u systémového softwaru pravidlem. Právě tento krok je v komunitě vnímán jako signál, že tvůrci nesledují komerční uzavření technologie, ale spíše její rozšíření mezi vývojáře.
Za projektem stojí organizace LiberSoft, která se dlouhodobě věnuje tvorbě svobodného softwaru a decentralizovaných technologií. V čele vývojářské skupiny stojí Jiří Kreibich a celý tým tvoří čeští autoři, přičemž tento OS je od počátku koncipován pro mezinárodní komunitu. Kromě samotného kódu spravuje skupina také rozsáhlou dokumentaci popisující koncepci řešení, model hrozeb i definiční jazyk pro rozhraní jednotlivých komponent.
Mikrojádro a capability model tvoří základ bezpečnosti celého systému
Technickým jádrem novinky je architektura založená na mikrojádru. Tento přístup znamená, že v nejvyšším privilegovaném režimu procesoru běží pouze minimální množství kódu, zatímco ovladače, souborové systémy a další služby fungují jako oddělené procesy mimo jádro. Výhoda spočívá v tom, že selhání jedné komponenty nemusí položit celý stroj. Autoři navíc počítají s tím, že izolované služby lze v případě potíží restartovat za běhu, aniž by uživatel přišel o rozdělanou práci.
Druhým stavebním kamenem je takzvaný capability model, tedy soustava oprávnění postavená na typovaných objektech. Zjednodušeně řečeno každý proces disponuje pouze těmi právy, která mu byla výslovně předána, a nemůže si sám o sobě sáhnout na cokoli dalšího. Případná chyba v aplikaci tak zasáhne jen omezený okruh prostředků a nedává útočníkovi automatickou cestu k ovládnutí celého stroje. Ve světě bezpečnostního inženýrství jde o koncept známý desítky let, který se ovšem v masově používaných platformách prosazuje jen pomalu.
Roli hraje také volba programovacího jazyka. Rust patří mezi jazyky s takzvanou paměťovou bezpečností, což znamená, že překladač už při kompilaci odhalí celou třídu chyb spojených s prací s pamětí. Bezpečnost tedy nestojí na kázni programátorů, ale vyplývá přímo z vlastností jazyka. Rozhodnutí napsat celý operační systém tímto způsobem není estetickou volbou, ale přímým důsledkem bezpečnostního zadání.
V čem se tento OS liší od Linuxu a co to znamená pro obor IT
Srovnání s platformou Linux se nabízí samo, byť ho tvůrci pojímají spíše jako vymezení než jako soupeření. Systém není linuxovou distribucí, nepoužívá jeho jádro a nesnaží se ani o kompatibilitu s Unixem. Opouští například tradiční myšlenku, podle níž se jako soubory tváří i zařízení, procesy či části konfigurace, a nahrazuje ji explicitně předávanými oprávněními k typovaným objektům.
Praktický dopad na obor IT může být zajímavý především v segmentech, kde bezpečnost převažuje nad univerzálností. Řeč je o vestavěných zařízeních, edge infrastruktuře, bezpečnostním výzkumu či experimentálním systémovém vývoji. Zároveň je namístě střízlivost, protože ekosystém, jaký kolem sebe za desítky let vybudoval Linux, se nedá vytvořit během několika let. Sami autoři projekt označují za experiment v rané fázi vývoje, nikoli za hotovou náhradu stávajících platforem.
Vlastní souborový systém a práce s daty bez mountpointů
Nativním souborovým systémem projektu je LiberFS, postavený na principu copy-on-write se snímky stavu a kontrolními součty dat. Tyto vlastnosti dnes patří mezi standard u moderních úložných řešení a přinášejí ochranu proti tichému poškození dat i možnost návratu k dřívějšímu stavu. Dokumentace k němu zahrnuje také porovnání s formáty, jako jsou ext4, XFS, Btrfs a ZFS.
Odlišný je i způsob adresace dat. Místo jednoho globálního stromu s připojenými body pracuje celá platforma s pojmy fyzického disku, oddílu a takzvaného volume, přičemž cesta k souboru je vázána na identitu konkrétního svazku. Odpadá tak riziko, že se po restartu na stejné cestě objeví data z jiného zařízení. Doplňkem je definiční jazyk LSIDL, z jehož formálního popisu se generuje kód pro komunikaci mezi službami, což omezuje chyby v místech, kde se historicky objevovala řada bezpečnostních problémů.
Otevřený vývoj probíhá pod hlavičkou skupiny LiberSoft
Jedno přenositelné jádro běží na architekturách x86_64, aarch64 a riscv64, přičemž zavádění zajišťuje vlastní UEFI loader. Návrh počítá s vícejádrovými procesory už od základu, což je u nově vznikajících platforem zdaleka ne samozřejmé. Otevřenost vývoje má i praktický rozměr, protože každý zájemce může sledovat jednotlivé změny v kódu a případně přispět vlastní úpravou.
Co může nový OS přinést oboru v následujících letech
Příchod dalšího hráče na pole systémových platforem není událostí, která by okamžitě změnila každodenní práci běžných uživatelů. Význam podobných projektů se ukazuje spíše postupně, a to prostřednictvím myšlenek, které se z nich šíří dál. Capability modely, paměťově bezpečné jazyky a izolované služby dnes ovlivňují i vývoj zavedených platforem.
Zda se z projektu LiberSystem stane platforma s praktickým dopadem, ukáží až následující roky a především ochota vývojářské komunity zapojit se do práce. Prozatím jde o technicky promyšlený počin s jasně formulovanou filozofií, jehož dokumentace a otevřená licence vytvářejí slušný základ pro další růst. Práce týmu LiberSoft tak představuje jeden z těch případů, kdy má smysl sledovat vývoj i bez ohledu na to, jaký bude konečný výsledek.










