"Solo con software propietario hubiese sido imposible”: así es como el Open Source ha ayudado en la gesta del Ingenuity en Marte
Espacio

"Solo con software propietario hubiese sido imposible”: así es como el Open Source ha ayudado en la gesta del Ingenuity en Marte

Te levantas un día por la mañana, haces un commit en el kernel Linux y sigues con tu vida. Tres años después te enteras de que ese núcleo con esa colaboración tuya se usa en Ingenuity, el helicóptero que ha hecho historia con ese primer vuelo autónomo en la delgada atmósfera de Marte. Boom.

Esa es la historia de Antonio Larrosa (@antlarr), que trabaja para SUSE (una conocida distribución Linux) desde Málaga. No es la única, y de hecho en Xataka hemos tenido la oportunidad de hablar también con Daniel Stenberg (@bagder), máximo responsable de los proyectos curl y pycurl que también se han usado en Ingenuity. Hasta la NASA le ha dado crédito por ello. Boom (II).

Dos desarrolladores con muchos palos dados en el mundo del Software Libre

Antonio Larrosa es matemático, pero nos cuenta que "nunca he ejercido como tal. En 1995 empezé a usar Linux y desde entonces soy defensor y desarrollador de Software Libre".

Antonio Larrosa

Desde hace ocho años Antonio trabaja en la conocida distribución SUSE, y lo hace desde Málaga, "donde participo en el desarrollo tanto de SUSE Linux Enterprise como de  las distribuciones de openSUSE, Leap y Tumbleweed".

Lo primero que le preguntamos a ambos desarrolladores es si conocían la implicación de su trabajo en la misión Mars 2020 y en el helicóptero Ingenuity.

Antonio nos comentaba cómo "la verdad es que antes del vuelo del Ingenuity no había visto ningún anuncio al respecto, pero tampoco tenía ninguna duda de que por lo menos usarían el kernel de Linux en la mayoría de sus sistemas".

Lo cierto es que la NASA lleva mucho tiempo aprovechando la potencia y versatilidad del software Open Source para diversos proyectos y misiones espaciales, y de hecho este organismo cuenta con un amplio repositorio de contribuciones que comparte con todos los usuarios y que permiten aprovechar parte de esos avances para proyectos de todo tipo.

Supimos que Ingenuity presumía de corazón Open Source hace unas semanas, pero como dice Antonio el uso de este tipo de proyectos es extensivo en la NASA, que por ejemplo también aprovechará diversos desarrollos Open Source para su próximo rover lunar, llamado VIPER, que se lanzará en 2023.

Daniel Stenberg

Daniel Stenberg es otro viejo rockero del Software Libre. Es el principal responsable del desarrollo de "curl, un proyecto Open Source que permite usar una herramienta en línea de comandos y una librería para la transferencia de ficheros a través de internet".

Para que os hagáis una idea de la magnitud de curl, "se estima que se usa en más de 10.000 millones de instalaciones a nivel global y es uno de los componentes software más usados a nivel mundial".

Como nos cuenta Daniel, "el proyecto nació en 1998 y contribuí como hobby durante muchos años, pero desde 2019 es mi trabajo a tiempo completo", y aunque su dedicación allí es plena, también contribuye a otros proyectos Open Source.

Este desarrollador tampoco tenía conocimiento de cómo su trabajo en curl estaba siendo aprovechado en la misión del Ingenuity en Marte. Aún así, explicam "estoy acostumbrado a que los usuarios usen FLOSS  (Free/Libre Open Source Software) sin avisar a quienes llevan esos proyectos. Es algo normal y no hay nada extraño en ello. Lo más sorprendente es quizás que esta es una misión espacial con código FLOSS en ella. Parece ser el primero de este tipo, y es un desarrollo alucinante".

El debate sobre software propietario vs Software Libre sigue vivo

La ubicuidad del código Open Source y del Software Libre es legendaria. Puede que la eterna frase de "este es el año de Linux en el escritorio" se haya convertido en todo un "meme Open Source", pero lo cierto es que Linux ha ganado la guerra.

Lo ha hecho de forma invisible, es cierto. El común de los mortales sabe que hay un Windows, un macOS, un Android y un iOS, pero lo que muchos no saben es que esos desarrollos propietarios tienen una fuerte relación con proyectos Open Source.

Android es en cierta forma una extensión de Linux para dispositivos móviles (el proyecto AOSP en el que se basa lo demuestra), por ejemplo, pero aún hay más, y esa presencia se deja notar en todos esos servicios y aplicaciones web que funcionan gracias en gran parte a proyectos Open Source en el ámbito de los servidores web o las bases de datos.

Esa situación hace que el debate entre software propietario y software libre siga estando presente. Antonio cree que "hacer algo de esta magnitud exclusivamente con software propietario  es, en mi opinión, totalmente imposible".

Para este desarrollador el hardware que usan en Ingenuity "es muy específico" y por lo tanto debe estar adaptado a unas necesidades muy concretas. "En este sentido,  las ventajas del software libre respecto al propietario son  indiscutibles. Al tener todo el código fuente a su disposición pueden  controlar exactamente cómo funciona todo sin depender de que un  fabricante permita (o no) un cambio."

El máximo responsable del desarrollo de curl tenía una opinión similar: "casi todo en el software puede ser escrito de forma propietaria o de código abierto", aclaraba Daniel Stenberg, "así que seguro que se podría haber hecho de cualquier manera. Sin embargo, con el código abierto,
va a haber menos bloqueos de los proveedores, una vida más larga del software y una mayor capacidad para cooperar en el software con más desarrolladores de todo en todo el mundo".

De hecho, añadía, el ritmo al que avanza todo en el mundo de la tecnología hace que "no sea posible que las empresas escriban todo el código
por sí mismas y lo mantengan en propiedad
". En lugar de eso, muchas de ellas confían en el código abierto y lo utilizan, algo que él califica como "una decisión empresarial sólida y sabia para asegurarse de poder competir".

Pequeñas y grandes contribuciones para un helicóptero marciano que ya ha hecho historia

Lo que demuestran nuestros dos protagonistas es que al final importan tanto las pequeñas contribuciones como las grandes. Antonio Larrosa reconocía que "en realidad mis contribuciones en estos proyectos han sido bastante  pequeñas", pero como destacaba, "me gusta pensar que en eso se basa precisamente el  Software Libre, muchas personas haciendo pequeñas contribuciones al  final pueden crear algo grande".

En su caso la colaboración ha estado en tres proyectos: "el kernel de Linux, donde hace años añadí soporte para un  hardware muy específico, numpy una librería de computación científica  donde arreglé un fallo de compilación hace unos meses, y flask, un  framework para crear servicios web donde arreglé un problema de  codificación en la función que envía un fichero de disco por la red".

Antonio, como señalaba Daniel al inicio de la entrevista, tenía asumido que todo ese trabajo se hace pero ellos nunca piensan dónde va a acabar utilizándose. "Simplemente cuando por trabajo (como el caso de numpy) o mientras  programo en mi tiempo libre (como el caso del kernel o flask) veo que si algo falla en alguna aplicación o librería intento arreglarlo. Luego envío ese cambio a los desarrolladores/as para que lo incluyan si lo creen  conveniente en las siguientes versiones". Ese es una vez más el propio espíritu de la comunidad Open Source, enfatizaba este desarrollador.

Daniel nos explicaba cómo "para esta misión específica del helicóptero Ingenuity me han indicado que se usan dos componentes particulares a los que he contribuido con código: curl y pycurl. Soy el desarrollador principal de curl y he hecho casi 2/3 partes de todos los cambios hasta la fecha".

Es curioso, pero como comentaba este desarrollador, "la versión de curl que utiliza la NASA es muy antigua, y en aquellos días yo había hecho una parte incluso mayor de todos los cambios. Básicamente escribí el código que realiza transferencias de datos usando protocolos de internet como HTTP, FTP y similares".

Daniel explica cómo "no tenía ni idea de que la NASA utilizaba curl hasta hace unos meses. Incluso entonces no sabía para qué lo usaban hasta el mismo día en que encontré esa insignia del helicóptero Ingenuity en mi perfil de GitHub", una especie de premio simbólico reconociendo su contribución indirecta al éxito de una misión histórica.

¿Qué se siente al haber ayudado a que Ingenuity haya hecho historia en Marte?

Nuestra última pregunta estaba dirigida a saber cuáles eran las sensaciones de estos desarrolladores al saber cómo sus contribuciones han permitido algo tan espectacular como lograr el éxito de la misión de la NASA con su Ingenuity.

Antonio se sentía "muy contento de haber puesto un (infinitesimal) granito de arena en algo tan importante", y reconocía además que esto era trabajo de muchos otros como el propio Daniel Stenberg y de otros desarrolladores como Dario Faggioli (que arregló un problema con el planificador de procesos del kernel) o Marcus Meissner (que ha trabajado en distintos subsistemas, principalmente en temas de seguridad), compañeros suyos en SUSE y ambos con sendas insignias por sus contribuciones a proyectos Open Source aprovechados por Ingenuity. En Github precisamente rendían también homenaje reciente a esas contribuciones.

Precisamente Antonio se despedía "animando a todos los lectores a que colaboren con cualquier proyecto de  Software Libre que les guste. Se puede hacer de muchas formas:  arreglando fallos, añadiendo nueva funcionalidad, escribiendo  documentación... incluso la mera utilización de Software Libre es una forma de colaboración, sobre todo si pueden reportar fallos. Todas las colaboraciones, por pequeñas que sean, son importantes y hacen  que el Software Libre mejore para todos (incluida la NASA) ;)".

Daniel también se sentía especialmente bien por esa contribución: "ofrezco mi código Open Source al mundo con la esperanza de que se utilice y se aprecie, así que cuando eso pasa a un nivel en el que incluso se usa en una misión espacial la sensación es espectacular. ¡Me hace muy feliz!".

Temas
Inicio