El kernel de Linux lleva desarrollándose 34 años. Un debate sobre lenguajes de programación está logrando intoxicar el proyecto

El desarrollo del kernel de Linux ha sido, históricamente, un ecosistema en constante cambio, en el que Linus Torvalds (creador, y líder de su equipo de desarrolladores) ha ido tomando decisiones que han permitido que el sistema operativo fuera progresando hasta su estado actual. Sin embargo, ahora las cosas parecen haberse 'gripado' un poco en el kernel de Linux. De todas las cosas que se habían tocado en el mismo, el lenguaje en el que está escrito nunca había estado en la lista. Pero ahora, la (supuestamente aprobada, aunque nadie lo diría) propuesta de integrar Rust como un segundo lenguaje de desarrollo, no sólo ha generado un profundo debate entre desarrolladores, sino que parece haberlo sembrado de minas. Desde su propuesta en 2021 por Miguel Ojeda hasta las recientes dimisiones de ingenieros clave, la controversia en torno a Rust ha alcanzado un punto crítico tras la dimisión de Héctor Martín, desarrollador de Asahi Linux. Ya os hablamos hace un par de días del propio Martín, pero ¿cómo le está afectando todo esto al ecosistema Linux? ¿De dónde venimos? Rust es un lenguaje de programación diseñado para evitar errores de memoria y mejorar la seguridad en la concurrencia. Estas características suelen ser altamente valoradas en el desarrollo de sistemas críticos (como lo es el kernel de Linux), donde los errores de memoria pueden generar vulnerabilidades explotables. En abril de 2021, Miguel Ojeda propuso un RFC (Request for Comments) para integrar Rust en el kernel. La idea central era que Rust se utilizara, al menos inicialmente, en el desarrollo de drivers, sin que eso supusiera reemplazar el código base en C. En Genbeta Máxima tensión entre desarrolladores de Linux por el enfrentamiento C vs. Rust: Linus Torvalds ve un "tono casi religioso" en el debate Sin embargo, la propuesta también encontró resistencia por diversas razones: Curva de aprendizaje: Los mantenedores de código tendrían que aprender Rust para poder mantener y depurar el código. Impacto en el rendimiento: Los "wrappers" necesarios para la interoperabilidad con C podrían afectar el rendimiento. Carga de mantenimiento: La coexistencia de dos lenguajes dentro del kernel podría generar problemas a largo plazo. Compatibilidad con el modelo de memoria de Linux: Rust utiliza el modelo C11 de LLVM, diferente al del kernel de Linux, lo que plantea problemas de integración. A cara de perro A medida que avanzaban los debates, la comunidad de desarrolladores se dividió en dos grupos: Los defensores de Rust, entre ellos empresas tecnológicas como Google y Microsoft, que argumentan que la adopción de Rust mejorará la seguridad del kernel. Los opositores a Rust, encabezados por mantenedores clave, quienes ven la introducción de un segundo lenguaje como un obstáculo para la estabilidad y mantenimiento del código. Uno de los puntos más problemáticos ha sido la aparente resistencia de algunos desarrolladores a aceptar código escrito en Rust, incluso después de que se diera oficialmente luz verde a la integración en el kernel de este nuevo lenguaje. Así, se han reportado casos de ignorancia deliberada de parches, lentitud extrema en las revisiones y críticas agresivas a los desarrolladores de Rust. Un ejemplo notable es el de Christoph Hellwig, quien ha rechazado rotundamente la inclusión de Rust en su área de desarrollo, refiriéndose a este como "un cáncer que no debe propagarse al 'core' del kernel". Esta actitud ha sido vista por algunos como una demostración de cierto sesgo por parte de Torvalds y el resto de líderes del proyecto, sobre todo teniendo en cuenta que, mientras otros desarrolladores han sido sancionados por "lenguaje inapropiado", Hellwig no ha recibido reprimenda alguna. Un espectáculo lamentable Uno de los acontecimientos más significativos de esta crisis ha sido la dimisión de Wedson Almeida Filho, ingeniero de Microsoft y uno de los principales impulsores de Rust en el kernel. Wedson renunció hace cinco meses, tras años de esfuerzo por integrar Rust, afirmando que el problema no era técnico, sino humano. Su salida fue seguida por declaraciones de apoyo de Lina, VRtuber y desarrolladora de Asahi Linux, que afirmó sentirse igual de frustrada por la actitud hostil de la comunidad. Otros desarrolladores, como Greg Wettstein, también han expresado su descontento con la falta de liderazgo en el tema: describió el conflicto como "un espectáculo lamentable" y criticó la pasividad de Linus Torvalds a la hora de gestionar este problema. En Genbeta Usar Rust en Linux está siendo muy polémico. En Android ya se han demostrado sus grandes virtudes reduciendo bugs La (no) respuesta de Linus Torvalds Y es que Linus Torvalds, creador de Linux y máxima autoridad en su desarrollo, ha mantenido una postura ambigua respecto a Rust: su comentario "on the whole I don't hate it" (

Feb 18, 2025 - 00:19
 0
El kernel de Linux lleva desarrollándose 34 años. Un debate sobre lenguajes de programación está logrando intoxicar el proyecto

El kernel de Linux lleva desarrollándose 34 años. Un debate sobre lenguajes de programación está logrando intoxicar el proyecto

El desarrollo del kernel de Linux ha sido, históricamente, un ecosistema en constante cambio, en el que Linus Torvalds (creador, y líder de su equipo de desarrolladores) ha ido tomando decisiones que han permitido que el sistema operativo fuera progresando hasta su estado actual.

Sin embargo, ahora las cosas parecen haberse 'gripado' un poco en el kernel de Linux. De todas las cosas que se habían tocado en el mismo, el lenguaje en el que está escrito nunca había estado en la lista.

Pero ahora, la (supuestamente aprobada, aunque nadie lo diría) propuesta de integrar Rust como un segundo lenguaje de desarrollo, no sólo ha generado un profundo debate entre desarrolladores, sino que parece haberlo sembrado de minas.

Desde su propuesta en 2021 por Miguel Ojeda hasta las recientes dimisiones de ingenieros clave, la controversia en torno a Rust ha alcanzado un punto crítico tras la dimisión de Héctor Martín, desarrollador de Asahi Linux. Ya os hablamos hace un par de días del propio Martín, pero ¿cómo le está afectando todo esto al ecosistema Linux?

¿De dónde venimos?

Rust es un lenguaje de programación diseñado para evitar errores de memoria y mejorar la seguridad en la concurrencia. Estas características suelen ser altamente valoradas en el desarrollo de sistemas críticos (como lo es el kernel de Linux), donde los errores de memoria pueden generar vulnerabilidades explotables.

En abril de 2021, Miguel Ojeda propuso un RFC (Request for Comments) para integrar Rust en el kernel. La idea central era que Rust se utilizara, al menos inicialmente, en el desarrollo de drivers, sin que eso supusiera reemplazar el código base en C.

Sin embargo, la propuesta también encontró resistencia por diversas razones:

  • Curva de aprendizaje: Los mantenedores de código tendrían que aprender Rust para poder mantener y depurar el código.
  • Impacto en el rendimiento: Los "wrappers" necesarios para la interoperabilidad con C podrían afectar el rendimiento.
  • Carga de mantenimiento: La coexistencia de dos lenguajes dentro del kernel podría generar problemas a largo plazo.
  • Compatibilidad con el modelo de memoria de Linux: Rust utiliza el modelo C11 de LLVM, diferente al del kernel de Linux, lo que plantea problemas de integración.

A cara de perro

A medida que avanzaban los debates, la comunidad de desarrolladores se dividió en dos grupos:

  1. Los defensores de Rust, entre ellos empresas tecnológicas como Google y Microsoft, que argumentan que la adopción de Rust mejorará la seguridad del kernel.
  2. Los opositores a Rust, encabezados por mantenedores clave, quienes ven la introducción de un segundo lenguaje como un obstáculo para la estabilidad y mantenimiento del código.

Uno de los puntos más problemáticos ha sido la aparente resistencia de algunos desarrolladores a aceptar código escrito en Rust, incluso después de que se diera oficialmente luz verde a la integración en el kernel de este nuevo lenguaje.

Así, se han reportado casos de ignorancia deliberada de parches, lentitud extrema en las revisiones y críticas agresivas a los desarrolladores de Rust. Un ejemplo notable es el de Christoph Hellwig, quien ha rechazado rotundamente la inclusión de Rust en su área de desarrollo, refiriéndose a este como "un cáncer que no debe propagarse al 'core' del kernel".

Esta actitud ha sido vista por algunos como una demostración de cierto sesgo por parte de Torvalds y el resto de líderes del proyecto, sobre todo teniendo en cuenta que, mientras otros desarrolladores han sido sancionados por "lenguaje inapropiado", Hellwig no ha recibido reprimenda alguna.

Un espectáculo lamentable

Uno de los acontecimientos más significativos de esta crisis ha sido la dimisión de Wedson Almeida Filho, ingeniero de Microsoft y uno de los principales impulsores de Rust en el kernel. Wedson renunció hace cinco meses, tras años de esfuerzo por integrar Rust, afirmando que el problema no era técnico, sino humano. Su salida fue seguida por declaraciones de apoyo de Lina, VRtuber y desarrolladora de Asahi Linux, que afirmó sentirse igual de frustrada por la actitud hostil de la comunidad.

Otros desarrolladores, como Greg Wettstein, también han expresado su descontento con la falta de liderazgo en el tema: describió el conflicto como "un espectáculo lamentable" y criticó la pasividad de Linus Torvalds a la hora de gestionar este problema.

La (no) respuesta de Linus Torvalds

Y es que Linus Torvalds, creador de Linux y máxima autoridad en su desarrollo, ha mantenido una postura ambigua respecto a Rust: su comentario "on the whole I don't hate it" ("en general, no lo odio") ha sido interpretado de maneras muy distintas a ambos lados del debate.

Torvalds se encuentra en una encrucijada: si apoya Rust, podría poner en su contra a veteranos mantenedores de código que se oponen firmemente a la idea; si lo rechaza, decepcionará a las empresas y desarrolladores que han invertido tiempo y recursos en la iniciativa.

Esta indecisión ha generado incertidumbre, permitiendo que el conflicto escale sin una resolución definitiva y contribuido a la salida de varios desarrolladores. En definitiva, ha generado un ambiente de innecesaria tensión dentro de la comunidad.

Ya sabemos de dónde venimos. ¿Y ahora? ¿A dónde vamos?

La controversia ha demostrado que la integración de nuevas tecnologías en un proyecto tan grande y antiguo como Linux no es un proceso sencillo. Sin un liderazgo claro y una resolución firme, la comunidad se arriesga a seguir perdiendo talento.

Si bien Rust ofrece beneficios en términos de seguridad, la forma en que se ha manejado su adopción ha dejado mucho que desear. La falta de un consenso claro y la resistencia de algunos sectores (llegados a este punto, nadie parece muy dispuesto a transigir) podrían traducirse en el fracaso de esta iniciativa.

Una cosa es segura: lo que ocurra en los próximos meses podría definir no solo el futuro del uso de Rust en el kernel, sino también la cultura de desarrollo de uno de los proyectos de software libre más importantes del mundo.

Imagen  | Marcos Merino mediante IA

En Genbeta | Rust parecía el lenguaje ideal para programar videojuegos. Este estudio acabó abandonándolo tras tres años centrados en él


-
La noticia El kernel de Linux lleva desarrollándose 34 años. Un debate sobre lenguajes de programación está logrando intoxicar el proyecto fue publicada originalmente en Genbeta por Marcos Merino .