Programování

Mozilla váže osud Firefoxu na jazyk Rust

Mozilla byla vždy určena pro použití Rustu při vytváření klíčových částí prohlížeče Firefox. Nyní se společnost k této vizi zavazuje významným způsobem.

Po verzi 53 bude Firefox vyžadovat, aby se Rust úspěšně zkompiloval kvůli přítomnosti komponent Firefoxu vytvořených v daném jazyce. Toto rozhodnutí ale může omezit počet platforem, na které lze Firefox portovat - zatím.

Rust, jazyk Mozilla Research pro rychlé a bezpečné programování na úrovni systému, je v předvečer nového vydání. Nejpozoruhodnější novou funkcí Rust 1.15 je vylepšený systém sestavení napsaný v Rustu a využívající správu Rustova nativního nákladového balíčku. Dříve byl Rust postaven pomocí makefile; s touto změnou lze Rust postavit pomocí „přepravek“ Cargo jako jakýkoli jiný projekt Rust. Je to jeden z mnoha kroků, které Rust učinil, aby se stal vlastním ekosystémem, nezávislý na dílech vytvořených jinými.

Jak Rust dospěl a stabilizoval se, vývojářům Firefoxu se snadněji podařilo přesunout více kritické infrastruktury prohlížeče do tohoto jazyka. Ale je tu nevýhoda: Každá platforma, na které chcete vytvořit a provozovat Firefox, bude potřebovat funkční vydání kompilátoru Rust.

Rust má být multiplatformní, takže by to mělo být možné. Praktické důsledky jsou však složitější. Rust závisí na LLVM, který má své vlastní závislosti - a všechny z nich by musely být podporovány na cílové platformě.

Diskuse o sledování Bugzilla pro Firefox vyvolává mnoho z těchto bodů. Probublávaly i další obavy: A co správná podpora pro distribuce Linuxu s dlouhodobou podporou, kde jsou často dostupné nástroje dostupné v distribuci a kde nemusí být k dispozici novější funkce Rustu? A co podpora prohlížeče Firefox na platformách „non-tier-1“, které tvoří menší podíl uživatelů Firefoxu?

Postoj Mozilly je, že z dlouhodobého hlediska bude bolest z přechodu stát za to. „Výhoda používání Rustu je příliš velká,“ tvrdí údržbář Ted Mielczarek. „Normálně nevycházíme z cesty, abychom lidem udržujícím porty Firefoxu ztěžovali život, ale v tomto případě nemůžeme nechat méně používané platformy nám omezují používání Rust ve Firefoxu, “napsal.

Platformy, kterých se toto rozhodnutí pravděpodobně dotkne, jsou podle diskuse ve vláknu Bugzilla nepoškozené architektury, jako je IBM S390. Ve výsledku je možné, že ti, kteří dodávají linuxové distribuce pro tyto architektury - stejně jako Red Hat s Fedorou - jednoduše zruší podporu Firefoxu pro sestavení, která dosud plně nepodporují Rust.

Většina uživatelů Firefoxu to nebude ovlivněno. Nejlepší nadějí pro ty, kdo jsou, bude snaha o vybudování všech platforem, které potřebují podporu Rust - a současně podpoří vývoj jak pro Firefox, tak pro Rust.

Konvenční uživatelé prohlížeče Firefox se však více zajímají o konečný výsledek - slíbené omlazení, díky kterému bude prohlížeč rychlý a funkčně konkurenceschopný - a méně o technologii použitou k jeho dosažení. Je vyvíjen tlak nejen na přesun do Rustu, ale na prokázání, že tah stál za to.