{"id":238,"date":"2021-04-30T20:09:10","date_gmt":"2021-04-30T23:09:10","guid":{"rendered":"http:\/\/dragonlibre.net\/?p=238"},"modified":"2021-04-30T20:09:10","modified_gmt":"2021-04-30T23:09:10","slug":"el-software-libre-planto-bandera-en-marte","status":"publish","type":"post","link":"https:\/\/dragonlibre.net\/index.php\/2021\/04\/30\/el-software-libre-planto-bandera-en-marte\/","title":{"rendered":"El Software Libre plant\u00f3 bandera en Marte"},"content":{"rendered":"<p>El primer vuelo motorizado en otro planeta se realiza gracias a Linux y a software libre.<\/p>\n<p>La ideolog\u00eda dominante vincula a la innovaci\u00f3n y el desarrollo de productos de gran envergadura con la labor de grandes compa\u00f1\u00edas privadas y con el \u00e1nimo de lucro.<\/p>\n<figure id=\"attachment_259\" aria-describedby=\"caption-attachment-259\" style=\"width: 367px\" class=\"wp-caption alignright\"><a href=\"http:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/TuxInMars.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-259\" src=\"http:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/TuxInMars-300x218.jpg\" alt=\"\" width=\"367\" height=\"267\" srcset=\"https:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/TuxInMars-300x218.jpg 300w, https:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/TuxInMars-768x558.jpg 768w, https:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/TuxInMars.jpg 890w\" sizes=\"auto, (max-width: 367px) 100vw, 367px\" \/><\/a><figcaption id=\"caption-attachment-259\" class=\"wp-caption-text\">SuperTux detr\u00e1s del Ingenuity (foto de fondo: NASA\/JPL-Caltech\/ASU\/MSSS)<\/figcaption><\/figure>\n<p>Sin embargo, la historia ha mostrado en numerosas oportunidades que la colaboraci\u00f3n y el inter\u00e9s por resolver un problema concreto pueden ser motores de grandes cambios. Nuevos ejemplos de ello se desprenden del primer vuelo controlado desde la tierra sobre la superficie del planeta rojo.<\/p>\n<p>El vuelo en Marte del helic\u00f3ptero aut\u00f3nomo Ingenuity marc\u00f3 un hito en la historia aeroespacial merced a convenios del Jet Propulsor Laboratory (JPL) con compa\u00f1\u00edas como Lockheed Martin y Qualcomm. Pero tambi\u00e9n requiri\u00f3 de la colaboraci\u00f3n de miles de desarrolladores de software libre y de c\u00f3digo abierto que en muchos casos desconocen su aporte al software usado en el proyecto.<\/p>\n<h4>Un peque\u00f1o vuelo para la humanidad<\/h4>\n<p>El 19 de abril despeg\u00f3 del suelo marciano el mini helic\u00f3ptero Ingenuity. Hab\u00eda llegado a la superficie del planeta rojo el 18 de febrero a bordo del rover Perseverance.<\/p>\n<p>El helic\u00f3ptero pesa 1,8kg\u00a0 (en la baja gravedad de Marte ser\u00e1n menos de 700g) y est\u00e1 dise\u00f1ado para ser resistente al viaje en el Perseverance y al entorno marciano. Puede elevarse hasta 5 metros y recorrer hasta 300m (<a href=\"https:\/\/mars.nasa.gov\/technology\/helicopter\/#Tech-Specs\">Especificaciones t\u00e9cnicas NASA<\/a>).<\/p>\n<p>Los diferentes softwares que permiten que el artefacto haga su tarea fueron construidos con la colaboraci\u00f3n de miles de personas de todo el mundo, muchxs de ellxs completamente ajenxs a la Jet Propulsory Laboratory (JPL) que est\u00e1 a cargo de la misi\u00f3n interplanetaria.\u00a0 Esto fue posible porque se trat\u00f3 de Software Libre.<\/p>\n<p>Los integrantes de esa multitud participaron de diferentes maneras: unas 12.000 personas intervinieron escribiendo c\u00f3digo en los distintos componentes que se utilizaron en el Ingenuity, informando y\/o corrigiendo errores, elaborando documentaci\u00f3n, etc. Algunxs participaron en software directamente relacionado con helic\u00f3pteros, pero otrxs aportaron a diferentes proyectos que nada tienen que ver con el tema pero que terminaron siendo incorporados en el largo proceso de construir el helic\u00f3ptero, enviarlo, controlarlo, almacenar y analizar la informaci\u00f3n que se genera u obtiene en la traves\u00eda.<\/p>\n<h3>Software Libre al rescate<\/h3>\n<p>El Perseverance pesa m\u00e1s de 1.000 kg y cuenta con un par de &#8220;cerebros&#8221; formados por procesadores PowerPC 750 (lanzados en \u00a11998!) y dotados de VxWorks, un sistema operativo de tiempo real privativo y desarrollado por la empresa Wind River. Los sistemas operativos son los programas que permiten gestionar el procesador y los dispositivos que utiliza, as\u00ed como ejecutar el software que se desarrolle para \u00e9l.\u00a0 Los sistemas de tiempo real se caracterizan por establecer tiempos l\u00edmite de respuesta.<\/p>\n<p>La situaci\u00f3n del peque\u00f1o helic\u00f3ptero es muy diferente. Un artefacto volador en Marte debe ser especialmente liviano (ya que la atm\u00f3sfera es mucho m\u00e1s tenue que en la tierra) y si se pretende que pueda controlarse a distancia har\u00e1 falta dotarlo de un &#8220;cerebro&#8221; y de capacidades de comunicaci\u00f3n.<\/p>\n<p>Por eso el Ingenuity consta de un procesador m\u00e1s modesto: un Qualcomm Snapdragon 801, lanzado al mercado en 2014 y que fue incorporado a tel\u00e9fonos celulares como el Samsung Galaxy S5, el Xiaomi Mi Note Bamboo o el Sony Xperia Z3.<\/p>\n<p>La empresa Wind River no tiene un sistema operativo adaptado a las estrecheces de ese hardware. Por eso, el JPL opt\u00f3 por utilizar una versi\u00f3n empotrada del producto m\u00e1s emblem\u00e1tico del software libre y de c\u00f3digo abierto: el sistema operativo Linux.<\/p>\n<p>El control del vuelo se realiza a trav\u00e9s de programas desarrollados a partir de otro software libre, un conjunto de plantillas, modelos, y generadores de c\u00f3digo elaborados por el JPL bajo el nombre de F&#8217; (F prima).<\/p>\n<p>El papel del software libre es tambi\u00e9n importante en otras partes del proyecto. Seg\u00fan <a href=\"https:\/\/github.com\/readme\/nasa-ingenuity-helicopter\">consigna<\/a> el escritor y desarrollador Klint Finley, el &#8220;ecosistema Python&#8221; (conjunto de herramientas de ese lenguaje desarrolladas colaborativamente y que tienen gran presencia en el tratamiento de datos) &#8220;jug\u00f3 un papel clave en todo, desde el control terrestre hasta el modelado de vuelo y el procesamiento de datos&#8221;.<\/p>\n<h3>El Framework F&#8217;<\/h3>\n<p>Uno de los desarrollos clave para impulsar el vuelo del Ingenuity es F&#8217; (F prima). Se trata de un marco de desarrollo o <em>framework<\/em> (algo as\u00ed como una plantilla para desarrollar programas) libre y de c\u00f3digo abierto orientado a la creaci\u00f3n de software para sistemas de vuelo peque\u00f1os.<\/p>\n<figure id=\"attachment_269\" aria-describedby=\"caption-attachment-269\" style=\"width: 300px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/scratchhelicopter_materials-640x350-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-269\" src=\"http:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/scratchhelicopter_materials-640x350-1-300x164.png\" alt=\"\" width=\"300\" height=\"164\" srcset=\"https:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/scratchhelicopter_materials-640x350-1-300x164.png 300w, https:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/scratchhelicopter_materials-640x350-1.png 640w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-269\" class=\"wp-caption-text\">En el sitio de la NASA brindan instrucciones para crear un sencillo videojuego&#8230; usando el lenguaje libre Scratch<\/figcaption><\/figure>\n<p>&#8220;Desarrollar software para naves espaciales es una tarea desafiante&#8221;, dicen el ingeniero de software Robert Bochino y otros, en una <a href=\"https:\/\/core.ac.uk\/download\/pdf\/220136003.pdf\">ponencia<\/a> presentada en la 32 Conferencia Anual sobre Peque\u00f1os Sat\u00e9lites (Utah, Agosto de 2018). Pero, afirman, esa tarea es m\u00e1s desafiante si se realiza en el marco de misiones peque\u00f1as, con presupuestos limitados y objetivos ambiciosos.<\/p>\n<p>El marco de desarrollo facilita la creaci\u00f3n de aplicaciones para dispositivos diferentes, corriendo en entornos variados y con sistemas operativos distintos.<\/p>\n<p>F&#8217; tambi\u00e9n incluye componentes reutilizables gen\u00e9ricos que se distribuyen junto al Framework, as\u00ed como herramientas para probar unidades y componentes que se desarrollen a partir del marco. Se utiliz\u00f3 anteriormente en la construcci\u00f3n de programas para el ISS-RapidScat (artefacto dedicado a medir velocidad del viento desde la Estaci\u00f3n Espacial Internacional), ASTERIA (telescopio espacial para investigaci\u00f3n astrof\u00edsica instalado en un peque\u00f1o sat\u00e9lite CubeSat), entre otras.<\/p>\n<p>El caso de ASTERIA puede dar una idea de la potencialidad del Framework y de su car\u00e1cter de software libre y de c\u00f3digo abierto. En una <a href=\"https:\/\/trs.jpl.nasa.gov\/bitstream\/handle\/2014\/49506\/CL%2318-1999.pdf?sequence=1&amp;isAllowed=y\">presentaci\u00f3n<\/a> elaborada por Bochino, Campuzano y Day puede verse que el software de vuelo del artefacto const\u00f3 de 54 componentes, 17 de ellos creados a partir de piezas de F&#8217; y 22 escritos de manera de que puedan reutilizarse en otros proyectos.<\/p>\n<p>El software permitir\u00e1 desarrollos no s\u00f3lo para el JPL, sino para cualquiera que quiera usarlo, sin necesidad de un permiso del Laboratorio, ni de la pol\u00edtica exterior de los Estados Unidos.<\/p>\n<h3>Una victoria del software libre<\/h3>\n<p>En una <a href=\"https:\/\/spectrum.ieee.org\/automaton\/aerospace\/robotic-exploration\/nasa-designed-perseverance-helicopter-rover-fly-autonomously-mars\">entrevista para IEEE Spectrum<\/a>, el Ingeniero de Software senior del JPL Tim Canham expres\u00f3 sobre el rol del software libre y de c\u00f3digo abierto en la misi\u00f3n espacial: &#8220;<strong>Es una especie de victoria de c\u00f3digo abierto<\/strong>, porque estamos volando un sistema operativo de c\u00f3digo abierto y un Framework para software de vuelo de c\u00f3digo abierto&#8221;. Canham virti\u00f3 esas opiniones en respuesta a la pregunta del medio especializado acerca de los aspectos que pudieran ser de inter\u00e9s para los ingenieros, a juicio del entrevistado.<\/p>\n<p>La historia del software libre del Ingenuity evidencia varias cosas: que es posible desarrollar software complejo y de calidad bajo licencias libres; que \u00e9ste constituye una gran fuente de recursos para reutilizar en nuevos desarrollos; que posibilita el trabajo conjunto de un gran n\u00famero de personas con diferentes intereses, habilidades y desde cualquier parte del mundo; y que es particularmente adecuado para contextos con fuertes restricciones de recursos.<\/p>\n<p>Para quienes trabajan con software libre, esos atributos no son extra\u00f1os. Linux, GNOME, Kubernetes, R o tantos otros dan testimonio de esas cualidades. Sin embargo, las particularidades de este tipo de desarrollos, su filosof\u00eda y sus estrategias, siguen fuera de las curricula de las universidades argentina, salvo en el breve e impreciso \u00edtem de &#8220;Aspectos Sociales y Profesionales&#8221; (<a href=\"http:\/\/redunci.info.unlp.edu.ar\/docs\/Estandares%20RedUNCI-10-LIBRO-Completo.pdf\">v\u00e9ase<\/a> la Propuesta de Est\u00e1ndares para la Disciplina Inform\u00e1tica, REDUNCI, 2017).<\/p>\n<p>Quiz\u00e1s esta experiencia del JPL y la NASA d\u00e9 un impulso a un debate silenciado e ignorado: la necesidad de que las Universidades e institutos de investigaci\u00f3n en la Argentina formen profesionales en Software Libre y destinen recursos para investigar y desarrollar software libre.<\/p>\n<p>Vale la pena plantear al Software Libre como una pol\u00edtica de Estado que permitir\u00eda vincularse a desarrollos avanzados en distintas partes del mundo, impulsar la industria de software local, sin que sea necesario vincularse con ning\u00fan monopolio internacional (ni local).<\/p>\n<div id=\"recuadro\" style=\"widht: 300px; margin: 5px; padding: 5px; float: right;\">\n<h3>Nota: \u00bfSoftware Libre o de C\u00f3digo Abierto?<\/h3>\n<p>Las expresiones Software Libre y C\u00f3digo Abierto se refieren aproximadamente al mismo conjunto de programas. La diferencia entre ambas denominaciones est\u00e1 en el \u00e9nfasis en aspectos diferentes: en el primero se resalta la libertad del usuario y en el segundo se subraya la conveniencia de adoptar licencias libres.<\/p>\n<p>En esta Web preferimos la expresi\u00f3n <strong>Software Libre<\/strong> antes que C\u00f3digo Abierto, porque consideramos vital que los desarrollos de este tipo promuevan otros similares, antes que alimentar modelos privativos. No obstante, reconocemos que la Iniciativa de C\u00f3digo Abierto tambi\u00e9n rescata principios valiosos, como los que plasman los puntos 5, 6 y 10 de la <a href=\"https:\/\/opensource.org\/osd\"> definici\u00f3n de &#8220;c\u00f3digo abierto&#8221;<\/a>, referidos a la no discriminaci\u00f3n contra personas, grupos o actividades, o a la neutralidad tecnol\u00f3gica que requiere en las licencias.<\/p>\n<p>En algunas ocasiones emplearemos la f\u00f3rmula &#8220;Software Libre y de C\u00f3digo Abierto&#8221; (o FOSS, por sus siglas en ingl\u00e9s), cuando consideramos importante destacar que un texto se refiere a estos productos, cualquiera sea la perspectiva desde que se aborda; o cuando se intenta preservar la terminolog\u00eda adoptada por otros autores<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>El primer vuelo motorizado en otro planeta se realiza gracias a Linux y a software libre. La ideolog\u00eda dominante vincula a la innovaci\u00f3n y el desarrollo de productos de gran envergadura con la labor de grandes compa\u00f1\u00edas privadas y con el \u00e1nimo de lucro. Sin embargo, la historia ha mostrado [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":259,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Software clave, miles de desarrolladores, piezas reutilizables: triunfos del Software Libre en la tenue atm\u00f3sfera marciana","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[30,15],"tags":[50,49,48,43],"class_list":["post-238","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ciencia","category-informatica","tag-ingenuity","tag-nasa","tag-reutilizacion","tag-software-libre"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/dragonlibre.net\/wp-content\/uploads\/2021\/04\/TuxInMars.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/posts\/238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/comments?post=238"}],"version-history":[{"count":30,"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/posts\/238\/revisions"}],"predecessor-version":[{"id":270,"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/posts\/238\/revisions\/270"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/media\/259"}],"wp:attachment":[{"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/media?parent=238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/categories?post=238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dragonlibre.net\/index.php\/wp-json\/wp\/v2\/tags?post=238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}