Já si taky myslím, že Rust v kernelu vlastně žádný kernel vývojář nechce a celé to bylo způsobené jen obrovským tlakem z venku... A teď ta bublina praská...
Existuje projekt Redox (https://www.redox-os.org/) - tento mi dává teda větší smysl - ať si tito lidi udělají vlastní kernel a uvidíme jestli to bude lepší nebo ne.
Mi je Rust celkem ukradený, ale vidím pozitiva v tom, kdyby byla nějaká konkurence - 2 jádra, různé jazyky, krásně uvidíme ty rozdíly, ale nejen v bezpečnosti, rozdíly i v tom jak jednoduché je něco přidat, jak udělat fs, jaký má ten jazyk vliv na výkon, atd...
Rust v kernelu chce docela dost vývojářů, ale bohužel existuje i docela velká skupina vývojářů, kteří se Rustu brání. Asi se to dalo čekat, je to velká změna a lidskou přirozenosti je bránit se velkým změnám.
Začít dělat nový kernel v Rustu na zelené louce není cesta, nedává smysl zahodit desítky let vývoje. Nikdo soudný touto cestou nepůjde, nedělá to ani Google s Androidem ani Microsoft s Windows. I komerční firmy vědí, že je to potřeba dělat postupnou integrací do existujícího produktu a začít u těch nejkritičtějších částí.
Rád byste konkurenci, ale Linux už konkurenci má. Na serverech třeba Windows a i když aktuálně Linux Windows na serverech válcuje, nemusí to tak být navždy. Pokud Microsoft postupně přepíše Windows do Rustu, tak se to projeví na množství bezpečnostních chyb, najednou bude Windows mnohem bezpečnější než Linux a na tohle budou samozřejmě zákazníci slyšet. Tady se trochu bojím, aby Linuxu neujel vlak, protože Google i Microsoft už do vlaku memory-safe jazyků nastoupili, ale v Linuxu to ještě docela drhne.
Windows není konkurence - není open source a na serverech se hodí jen na legacy věci, které nejsou pro linux a jsou z nějakého důvodu potřeba. Windows na serveru prostě nikdo normální už dnes nechce.
Tou konkurencí jsem myslel něco, co je napsané v něčem jiném než C. Hodně kernelů je napsaných v C, některé v C++ (Fuchsia), ale v rustu žádný použitelný zatím neexistuje. Proto vidím ten benefit v tom, že nám konečně Rust komunita ukáže, jak jednoduchý, bezpečný a výkonný ten kernel v rustu bude... Ale bude?
Rust v Linuxu nedává smysl - kernel píšou lidi co v umí perfektně C, ale ne všichni se naučí perfektně rust... A pokud bude rust v kernelu, tak to znamená, že všichni budou muset umět perfektně 2 jazyky (i ti rust vývojáři), jinak nebude dávat smysl, aby na tom pracovali. A pořád to bude z pohledu Rustu unsafe, protože tam je C.
Ne každý se ale chce učit Rust, a já je chápu. Když se podívám na nějaké issues v tom asahi linuxu, tak vidím "This is not our fault, it's memory corruption caused somewhere else..." - jenže toto není způsob jak řešit problémy - pokud nechcou řešti problémy a radši budou ukazovat prstem na C, tak tato spolupráce nikdy nebude fungovat, protože vzniknou 2 nesmiřitelné tábory v jednom projektu...
Ačkoliv jsem s Rustem začal taky, tak na nové projekty stejně preferuju C++, protože v Rustu nejsem produktivní a mám problém v Rustu číst kód ostatních (prostě mi to přijde nečitelné a nic s tím nedokážu udělat).
Lina celkem pravidelně nejen poukazuje na unsafe kód jinde v kernelu, ale posílá patche. Jak to občas dopadá ukazuje tady: https://vt.social/@lina/113051677686279824
Windows samozřejmě je konkurence Linuxu, aktuálně sice Linux na serverech Windows válcuje, ale to nemusí být navěky. Korporátům je jedno, jestli jejich aplikace běží na Linuxu nebo Windows a pokud Windows nabídne něco navíc oproti Linuxu (bezpečnost), tak okamžitě přejdou z Linuxu na Windows. A v USA se aktuálně bezpečnost docela dost řeší.
Lidi, co píšou kernel Linuxu, sice umí perfektně C, ale stejně je kernel plný bezpečnostních chyb, protože ani lidé, kteří umí C perfektně, v tom nezvládnou psát bez chyb, je to mimo možnosti člověka. Proto je Rust důležitý, chyby odchytí překladač.
Pokud Windows (nebo jiné systémy) tu transformaci do memory-safe jazyka udělají a Linux ne, tak to bude konec Linuxu, protože oproti Linuxu budou ty jiné systémy nabízet mnohem vyšší bezpečnost.
Navíc to není o ceně. Supportovaný Linux není výrazně levnější než Windows. A na menších serverech, např. věci ve firmě, vídávám "nekonečnou trial" verzi Windows Serveru. Spolu s desktopovou najel MS na model "WinRAR" a "Total Commander", protože je do budoucna lepší, aby se ajťák nemusel učit Linux.
2. 9. 2024, 12:32 editováno autorem komentáře
" chyby odchytí překladač"
Ne, neodchyti, takovy prekladac neexistuje a nikdy nebude, coz lze navic zcela exaktne a matematicky dokazat.
Tak maximalne vymeni primitivni chyby za chyby mnohem sofistikovanejsi.
Prekladac navic neumi zkompilovat sam sebe a jako bonus neumi ze stejneho zadani vyrobit stejny vysledek, je tudiz zcela nepredvidatelne nebezpecny.
Tys windowsy nikdy nide nevidel ze? Jinak bys nemoh do jedny vety napsat windows a bezpecnost.
Widle maji odjakziva a setrvale vzdy vse nastaveno tak, ze o nejake bezpecnosti nemuze byt vubec rec. Najdi si novinky win 2k25 ... MS se tam chlubi, ze bydefault budou dokonce pouzivat sifrovani u LDAPu ... teda nejspis neco na tema 3des.
Win 2k22 NEUMI fungovat bez tls 1.2. Kdyz to vypnes, lehne to. Mimo jine proto, ze MS nehorazne lze, protoze 1.3 ve skutecnosti vubec neumi.
Pokud mas .NET aplikaci, bydefault NEUMI ani tls 1.1. Ani v pozici klienta ne. Proste pokud neni tls 1.0 na serveru dostupne, aplikace se nepripoji.
Ze prej windows a bezpecnost ... lol.
V tomto případě by fork byl tou domluvou a nikoliv tříštěním sil.
Dalo by se to udělat i jako větev v rámci jednoho git repozitáře.
Prostě mám jednu větev bez Rustu.
V druhé implementuju Rust a zároveň sleduju změny v původní, master větvi a buď je přijmu, nebo je vyřeším s ohledme na už hotovou implementaci Rustu