Mozilla une el destino de Firefox al lenguaje Rust

Mozilla siempre tuvo la intención de que Rust se usara en la construcción de partes clave del navegador Firefox. Ahora la empresa se está comprometiendo con esa visión de manera significativa.

Después de la versión 53, Firefox requerirá que Rust se compile correctamente, debido a la presencia de componentes de Firefox creados con el idioma. Pero esta decisión puede restringir la cantidad de plataformas a las que se puede migrar Firefox, por ahora.

Rust, el lenguaje de Mozilla Research para una programación a nivel de sistema rápida y segura, está en vísperas de una nueva versión. La nueva característica más notable de Rust 1.15 es un sistema de compilación renovado escrito en Rust y que utiliza la administración de paquetes de carga nativa de Rust. Anteriormente, Rust se compilaba con archivos MAKE; con este cambio, Rust se puede construir usando "cajas" Cargo como cualquier otro proyecto de Rust. Es uno de los muchos pasos que Rust ha tomado para convertirse en su propio ecosistema, sin depender de piezas construidas por otros.

A medida que Rust ha madurado y se ha estabilizado, a los desarrolladores de Firefox les resulta más fácil mover más de la infraestructura crítica del navegador a ese idioma. Pero hay una desventaja: cualquier plataforma en la que pretenda construir y ejecutar Firefox necesitará una edición funcional del compilador de Rust.

Rust está destinado a ser multiplataforma, por lo que esto debería ser posible. Sin embargo, las implicaciones prácticas son más complejas. Rust depende de LLVM, que tiene sus propias dependencias, y todas deberían ser compatibles con la plataforma de destino.

Una discusión sobre el rastreador de Bugzilla para Firefox plantea muchos de estos puntos. También surgieron otras preocupaciones: ¿qué pasa con el soporte adecuado para las distribuciones de Linux con soporte a largo plazo, donde las herramientas disponibles en la distribución a menudo están congeladas y donde las características más nuevas de Rust podrían no estar disponibles? ¿Qué pasa con la compatibilidad con Firefox en plataformas "que no son de nivel 1", que constituyen una proporción menor de usuarios de Firefox?

La postura de Mozilla es que, a la larga, el dolor de la transición valdrá la pena. "La ventaja de usar Rust es demasiado grande", según el mantenedor Ted Mielczarek. "Normalmente no hacemos todo lo posible para hacer la vida más difícil a las personas que mantienen los puertos de Firefox, pero en este caso no podemos dejar que los usuarios menos usados las plataformas nos impiden usar Rust en Firefox ”, escribió.

Las plataformas con más probabilidades de verse afectadas por esta decisión, según una discusión en el hilo de Bugzilla, son arquitecturas que no son de escritorio como el S390 de IBM. Como resultado, es posible que quienes envían distribuciones de Linux para esas arquitecturas, como lo hace Red Hat con Fedora, simplemente abandonen el soporte de Firefox para las compilaciones que aún no son completamente compatibles con Rust.

La mayoría de los usuarios de Firefox no se verán afectados por esto. La mejor esperanza para los que sí lo son será la de reunir esfuerzos para construir las plataformas que necesiten el soporte de Rust, impulsando simultáneamente el desarrollo tanto para Firefox como para Rust.

Los usuarios de Firefox convencionales, sin embargo, se preocupan más por el resultado final, un rejuvenecimiento prometido que mantendrá al navegador rápido y competitivo en funciones, y menos por la tecnología utilizada para lograrlo. La presión no solo está para pasar a Rust, sino también para demostrar que valió la pena.