- El gestor de paquetes APT de Debian incorporará código basado en Rust y sus dependencias a partir de después de mayo de 2026
- En la etapa inicial, los objetivos de integración serán el compilador de Rust, la biblioteca estándar y el ecosistema Sequoia
- Los analizadores de archivos
.deb, .ar y .tar, así como el código de verificación de firmas HTTP, son las principales áreas de mejora en términos de seguridad de memoria y fortalecimiento de las pruebas unitarias
- Los ports que no tengan toolchain de Rust deberán construir un entorno Rust en un plazo de 6 meses o dejarán de recibir soporte (sunset)
- Es una medida para que todo el proyecto avance hacia herramientas y tecnologías modernas, sin quedar frenado por la compatibilidad con hardware antiguo
Plan para incorporar código Rust en APT
- Está previsto introducir código Rust y una dependencia dura (hard dependency) en APT después de mayo de 2026
- La adopción será después de mayo de 2026; no se aplicará antes de esa fecha
- El alcance inicial de la integración se limitará al compilador de Rust, la biblioteca estándar y el ecosistema Sequoia
Objetivo: mejorar la calidad y seguridad del código
- El código de análisis de archivos
.deb, .ar y .tar, junto con el código de verificación de firmas HTTP, es el principal objetivo de la adopción de Rust
- Se indica que estas áreas se beneficiarán especialmente de un lenguaje con seguridad de memoria y de un sistema de pruebas unitarias reforzado
Requisitos para los mantenedores de ports
- Los ports que no cuenten con un toolchain de Rust deberán establecer un entorno Rust en un plazo de 6 meses
- De lo contrario, ese port podría ser descontinuado (sunset)
Dirección del proyecto
- Se enfatiza que el proyecto Debian debe evolucionar aprovechando herramientas y tecnologías modernas
- Se especifica que el avance no debe retrasarse por intentar ajustarse a hardware antiguo o a dispositivos de computación retro
Información adicional
- El remitente es Julian Andres Klode, desarrollador central de Debian y Ubuntu
- El correo fue publicado en la lista de correo para desarrolladores de Debian, debian-devel
- Incluye como archivo adjunto la firma PGP (
signature.asc)
- No se mencionan más detalles técnicos ni cambios de calendario
1 comentarios
Opiniones en Hacker News
Parece que por fin llegó el momento. Seguir manteniendo en C código para parsear datos no confiables es una deuda técnica que crece con el tiempo
Rust no es mucho más difícil de escribir que C, y parece el tipo de lenguaje que habría salido si hoy rehiciéramos C reflejando lo que sabemos ahora sobre diseño de lenguajes y seguridad del código
Si se puede abandonar el soporte de x86 de 32 bits por razones prácticas, entonces también aplica para estas arquitecturas. Si de verdad se quieren mantener, habría que crear directamente el backend del toolchain de Rust
Go era lo más parecido, pero nunca se discutió al punto de usarlo en un sistema central como systemd. Me pregunto si también hubo este tipo de discusiones cuando se añadieron C++, Python y Perl en su momento
.deb,.ar,.tary el código de verificación de firmas HTTP se beneficiarían de un lenguaje memory-safe”, pero me pregunto qué beneficio real aporta reescribir en un lenguaje nuevo código que ya se ha estabilizado durante 30 años¿De verdad vale la pena desechar código probado en batalla para crear nuevos problemas de compatibilidad y bugs?
La tendencia de reescribir sistemas centrales en Rust es fuerte, pero no está claro si la seguridad realmente mejora al reescribir herramientas antiguas
Entiendo que sea difícil introducir sistemas nuevos, pero igual da la sensación de seguir apilando capas sobre decisiones de diseño de la era del telégrafo
Primero, casi no hay nuevos contribuidores que quieran lidiar con bases de código viejas de C/C++. Pasar a Rust facilita la entrada de nuevos desarrolladores
Segundo, la confiabilidad se valida con el uso, pero la seguridad solo se valida mediante ataques. No se puede asumir que el código viejo ya pasó por todos los vectores de ataque. Por eso hay una justificación fuerte para reforzar la seguridad de forma preventiva
Según el hilo de correos de Debian, Rust ya es obligatorio en la mayoría de las arquitecturas de lanzamiento de Debian
En este correo relacionado se menciona como excepciones solo a alpha, hppa, m68k y sh4. Me da curiosidad el destino futuro de esas arquitecturas
Rust ofrece un target Tier 3 para m68k, pero no para las otras arquitecturas. Me interesan los casos de uso reales
Me sorprende que sigan ahí mientras x86 de 32 bits y MIPS ya quedaron fuera. En lo personal me da algo de nostalgia, pero no tengo claro para qué se usan realmente
Antes LLVM tenía un backend para DEC Alpha, pero eso fue hace mucho
Me gustaría que la comunidad de Rust, en vez de meterse en proyectos ya existentes, demostrara su valor creando directamente tecnología moderna nueva
Redox es un ejemplo de eso, y da pena que no se impulse más ese tipo de intento
Claro, existen fans intensos que dicen “reescríbanlo en Rust”, pero este caso es distinto
No me molesta usar la biblioteca estándar de Rust, pero no quiero arrastrar 500 paquetes de cargo para compilar un parser simple de deb
Tal vez sea razonable esperar a que se estabilice el port de Rust-for-GCC
El kernel tampoco planea hacer obligatorio Rust hasta que haya soporte en GCC.
Si aparecen varias implementaciones, el lenguaje se volverá menos inestable
Pero si se corta ahora el soporte para arquitecturas, más adelante, cuando exista el toolchain de Rust, el proceso de regreso podría complicarse
libcorey está más o menos al nivel de Rust 1.50. Parece que faltan años para que sea un compilador de uso generalDe hecho, es más probable que
rustc_codegen_gccse estabilice antesVale la pena recordar que el autor del correo en la discusión de Rust en Debian es el mantenedor del paquete keepassxc
Hay hilos que dicen que antes también tuvo formas bruscas al tratar con desarrolladores upstream y usuarios
Es interesante ver cómo cambia la opinión de una persona. Enlace a una declaración anterior
Creo que Rust es solo hype. En el mundo embebido, C sigue siendo el rey.
En mi entorno nunca he visto a nadie usar Rust ni siquiera considerarlo
Mantiene rendimiento y eficiencia de memoria mientras acelera el desarrollo.
La única desventaja es el tamaño de los binarios. Yo diría que el futuro de Rust ya está bastante asegurado
Aun así, lo atractivo no es solo la memory safety, sino la calidad integral del lenguaje y del toolchain
Creo que un entorno polyglot solo crea más problemas.
Tener Python, Node, Go y Rust implica distintos toolchains y gestores de paquetes, y eso complica todo
Se eliminaron los buffer overflows usando Node, pero aumentaron los ataques a la cadena de suministro.
Mejor empezar de cero, y si de verdad se quiere usar Rust en todo, lo correcto sería contribuir a Redox OS
Reescribir todo en un solo lenguaje es irreal, y empujar Redox quizá hasta sería ineficiente
Rust ya es un lenguaje suficientemente probado y tiene valor como lenguaje compilado con menor probabilidad de autodestruirse al modificarlo que C
Tampoco sería tan descabellado abandonar arquitecturas antiguas
Qué lenguajes sacar o meter es algo que deben decidir los mantenedores de Debian