Mozilla lie le destin de Firefox au langage Rust

Mozilla a toujours prévu que Rust soit utilisé dans la création de parties clés du navigateur Firefox. Aujourd'hui, l'entreprise s'engage de manière significative dans cette vision.

Après la version 53, Firefox aura besoin de Rust pour se compiler avec succès, en raison de la présence de composants Firefox construits avec le langage. Mais cette décision peut limiter le nombre de plates-formes sur lesquelles Firefox peut être porté - pour le moment.

Rust, le langage de Mozilla Research pour une programmation rapide et sûre au niveau du système, est à la veille d'une nouvelle version. La nouvelle fonctionnalité la plus notable de Rust 1.15 est un système de construction remanié écrit en Rust et utilisant la gestion native des paquets Cargo de Rust. Auparavant, Rust était construit avec des makefiles; avec ce changement, Rust peut être construit en utilisant des «caisses» Cargo comme tout autre projet Rust. C'est l'une des nombreuses étapes que Rust a prises pour devenir son propre écosystème, sans dépendre de pièces construites par d'autres.

Au fur et à mesure que Rust a mûri et s'est stabilisé, il est devenu plus facile pour les développeurs Firefox de déplacer une plus grande partie de l'infrastructure critique du navigateur vers cette langue. Mais il y a un inconvénient: toute plate-forme sur laquelle vous avez l'intention de créer et d'exécuter Firefox aura besoin d'une édition fonctionnelle du compilateur Rust.

Rust est censé être multiplateforme, cela devrait donc être possible. Cependant, les implications pratiques sont plus complexes. Rust dépend de LLVM, qui possède ses propres dépendances - et toutes devraient être prises en charge sur la plate-forme cible.

Une discussion sur le tracker Bugzilla pour Firefox soulève bon nombre de ces points. D'autres préoccupations ont également surgi: qu'en est-il du support approprié des distributions Linux avec un support à long terme, où les outils disponibles sur la distribution sont souvent gelés et où les nouvelles fonctionnalités de Rust peuvent ne pas être disponibles? Qu'en est-il de la prise en charge de Firefox sur les plates-formes "non tier-1", qui représentent une part plus petite des utilisateurs de Firefox?

La position de Mozilla est qu'à long terme, la douleur de la transition en vaudra la peine. "L'avantage d'utiliser Rust est trop grand", selon le responsable Ted Mielczarek. "Nous ne faisons normalement pas tout notre possible pour rendre la vie plus difficile aux personnes qui gèrent les ports Firefox, mais dans ce cas, nous ne pouvons pas laisser les les plates-formes nous empêchent d'utiliser Rust dans Firefox », écrit-il.

Les plates-formes les plus susceptibles d'être affectées par cette décision, selon une discussion dans le thread Bugzilla, sont des architectures non sktop comme la S390 d'IBM. En conséquence, il est possible que ceux qui fournissent des distributions Linux pour ces architectures - comme Red Hat le fait avec Fedora - abandonnent simplement le support de Firefox pour les versions qui ne prennent pas encore totalement en charge Rust.

La plupart des utilisateurs de Firefox ne seront pas affectés par cela. Le meilleur espoir pour ceux qui le sont, sera de rassembler les efforts pour créer toutes les plates-formes qui ont besoin du support Rust - en conduisant simultanément le développement pour Firefox et Rust.

Les utilisateurs classiques de Firefox, cependant, se soucient davantage du résultat final - un rajeunissement promis qui gardera le navigateur rapide et compétitif en termes de fonctionnalités - et moins de la technologie utilisée pour y parvenir. La pression est non seulement pour déménager à Rust, mais pour prouver que le déménagement en valait la peine.