Canonical, la empresa detrás del desarrollo de Ubuntu, está implementando una transformación importante en su sistema operativo. Esta medida busca reforzar la seguridad y optimizar el rendimiento de la distribución Linux más popular.
Cambio en las herramientas básicas
Ubuntu, conocida por su estabilidad y uso amplio dentro del ecosistema Linux, está a punto de experimentar uno de los mayores cambios en su historia. Durante años, su funcionamiento ha dependido de componentes del Proyecto GNU, pero ahora se prepara para reemplazarlos.
A partir de la versión Ubuntu 25.10, la distribución comenzará a sustituir las tradicionales coreutils de GNU por nuevas versiones desarrolladas en Rust. Comandos esenciales como ls, cp o rm, que son parte del día a día de los usuarios, serán reemplazados por estas nuevas herramientas.
Motivación del cambio
El motivo de esta decisión no solo tiene un aspecto técnico, sino también filosófico y estructural. Aunque las coreutils originales han demostrado ser robustas durante décadas, están escritas en lenguaje C, lo cual puede generar vulnerabilidades como desbordamientos de búfer o errores de acceso a memoria.
Rust, por su parte, ha sido diseñado con la seguridad como prioridad. Su sistema de control de memoria en tiempo de compilación elimina clases enteras de errores que afectan al C. Además, ofrece una gestión del multihilo más segura, lo que permite aprovechar los procesadores multinúcleo modernos sin los riesgos tradicionales de la programación paralela.
Impacto en las licencias
Este cambio también implica una diferencia crucial en las licencias. Mientras que el software de GNU/Linux utiliza la GPL (Licencia Pública General), que obliga a distribuir cualquier modificación del código fuente con la misma licencia, Rust y los nuevos paquetes optan por la licencia MIT, mucho más permisiva.
Esto significa que otros proyectos —incluso propietarios— pueden utilizar o modificar el código sin necesidad de liberar sus cambios. Esta decisión ha generado un debate profundo en la comunidad del código abierto y entre los desarrolladores.
Herramienta para gestión del cambio
Jon Seager, vicepresidente de ingeniería de Canonical, propone este cambio y proporciona una herramienta llamada Oxidizr, que permite activar o desactivar globalmente los componentes de reemplazo. Esta herramienta puede instalarse directamente desde GitHub o mediante el gestor de paquetes Cargo.
Permite sustituir comandos clave como coreutils, diffutils, findutils y otros, de forma progresiva y reversible. Se recomienda hacer copias de seguridad antes de modificar componentes tan esenciales del sistema.
Reacciones en la comunidad
Este cambio ha generado cierta controversia entre algunos observadores. Aunque los usuarios de Ubuntu no se preocupan tanto por cuestiones como las licencias de software libre o los lenguajes de implementación, solo quieren que las cosas funcionen. Esto podría llevar a algunos usuarios más a distribuciones alternativas como Debian, Devuan o incluso otras opciones más avanzadas.
Una distribución bastante importante ya lo ha hecho: Alpine Linux usa Busybox en lugar de muchos componentes estándar de Linux, aunque las utilidades GNU Core están disponibles si se necesitan.
Tendencia global
Más allá de Ubuntu, este cambio refleja una tendencia mayor. El propio kernel de Linux ya ha empezado a integrar componentes en Rust desde la versión 6.1. Esto abre la puerta a que más distribuciones sigan los pasos de Canonical.
En 2021, los líderes del kernel de Linux, como el propio fundador y líder, Linux Torvalds, quedaron impresionados con el lenguaje, pero optaron por esperar. Rust para Linux ganó adeptos y fuerza, y en octubre de 2022, Torvalds aprobó una solicitud de incorporación de compatibilidad con el código de Rust en el kernel.