“Only with proprietary software it would have been impossible”: this is how Open Source has helped in the feat of Ingenuity on Mars

You wake up one morning, do a commit on the Linux kernel and you get on with your life. Three years later you find out that this nucleus with that collaboration of yours is used in Ingenuity, the helicopter that made history with that first autonomous flight in the thin atmosphere of Mars. Boom.

That’s the story of Antonio Larrosa (@antlarr), who works for SUSE (a well-known Linux distribution) from Malaga. It is not the only one, and in fact in Engadget we have had the opportunity to also speak with Daniel Stenberg (@bagder), the head of the curl and pycurl projects that have also been used in Ingenuity. Even NASA has given him credit for it. Boom (II).

Two developers with many suits in the world of Free Software

Antonio Larrosa is a mathematician, but he tells us that “I have never practiced as such. In 1995 I started using Linux and since then I have been a defender and developer of Free Software“.

Antonio Larrosa

Since eight years ago Antonio works in the well-known SUSE distribution, and he does it from Malaga, “where I participate in the development of both SUSE Linux Enterprise and the openSUSE, Leap and Tumbleweed distributions”.

The first thing we ask both developers is if they knew the implication of their work on the Mars 2020 mission and on the Ingenuity helicopter.

Antonio commented to us how “the truth is that before the Ingenuity flight he had not seen any advertisement about it, but he also had no doubt that at least they would use the Linux kernel on most of their systems“.

The truth is that NASA has long been taking advantage of the power and versatility of Open Source software for various projects and space missions, and in fact this body has a large repository of contributions that it shares with all users and that allow to take advantage of part of these advances for projects of all kinds.

Open Source sweeps and lives a golden age, but there is also some posturing

We learned that Ingenuity boasted Open Source at heart a few weeks ago, but as Antonio says the use of this type of project is extensive at NASA, which for example will also take advantage of various Open Source developments for its next lunar rover, called VIPER, which will be launched in 2023.

Daniel Stenberg

Daniel Stenberg is another old Free Software rocker. He is primarily responsible for the development of “curl, an Open Source project that allows the use of a command line tool and a library to transfer files over the internet “.

To give you an idea of ​​the magnitude of curl, “it is estimated that it is used in more than 10 billion installations globally and it is one of the most used software components worldwide “.

As Daniel tells us, “the project was born in 1998 and I contributed as a hobby for many years, but since 2019 it’s my full time job“And although his dedication there is full, he also contributes to other Open Source projects.

This developer was also unaware of how his curl work was being leveraged on the Ingenuity mission to Mars. Still, I explained “I am used to users using FLOSS (Free / Libre Open Source Software) without notifying those who carry those projects. It is normal and there is nothing strange about it. The most surprising thing is perhaps that this is a space mission with FLOSS code on it.. It seems to be the first of its kind, and it’s a mind-blowing development. “

The debate on proprietary software vs Free Software is still alive

The ubiquity of Open Source code and Free Software is legendary. The eternal phrase of “this is the year of Linux on the desktop” may have become an “Open Source meme”, but the truth is that Linux has won the war.

He has done it invisibly, it is true. The common man knows that there is a Windows, a macOS, an Android and an iOS, but what many do not know is that These proprietary developments have a strong relationship with Open Source projects.

The 11 best documentaries, series and movies that you can now stream if you are interested in space exploration

Android is in a way a Linux extension for mobile devices (the AOSP project on which it is based proves this), for example, but there is still more, and that presence is noticeable in all those services and web applications that work thanks in large part to Open Source projects in the field of web servers or databases.

This situation means that the debate between proprietary software and free software continues to be present. Antonio believes that “doing something of this magnitude exclusively with proprietary software is, in my opinion, totally impossible“.

For this developer, the hardware they use in Ingenuity “is very specific” and therefore must be adapted to very specific needs. “In this sense, the advantages of free software with respect to the owner are indisputable. By having all the source code at their disposal they can control exactly how everything works without depending on a manufacturer allowing (or not) a change. “

The head of curl development had a similar opinion: “almost everything in the software can be written in a proprietary or open source way,” Daniel Stenberg clarified, “so it sure could have been done either way. However, with open source,
there will be fewer vendor crashes, longer software life and a greater ability to cooperate on software with more developers around the world. “

In fact, he added, the pace at which everything advances in the world of technology means that “it is not possible for companies to write all the code
by themselves and keep it as their property
“Instead, many of them rely on and use open source, something he calls” a sound and wise business decision to make sure they can compete. “

Small and large contributions for a Martian helicopter that has already made history

What our two protagonists show is that in the end, small contributions matter as much as big ones. Antonio Larrosa acknowledged that “actually my contributions in these projects have been quite small”, but as he emphasized, “I like to think that this is precisely what Free Software is based on, many people making small contributions in the end can create something big“.

In his case, the collaboration has been in three projects: “the Linux kernel, where years ago I added support for very specific hardware, numpy a scientific computing library where I fixed a compilation error a few months ago, and flask, a framework to create web services where I fixed an encoding problem in the function that sends a disk file over the network “.

This is how the Perseverance rover will land on Mars today with a critical purpose: to pave the way for the first manned mission to the red planet.

Antonio, as Daniel pointed out at the beginning of the interview, had assumed that all this work is done but they never think where it will end up being used. “Simply when for work (as the case of numpy) or while programming in my free time (as the case of the kernel or flask) I see that if something fails in an application or library I try to fix it. Then I send that change to the developers to include it if they deem it appropriate in the following versions. “That is once again the very spirit of the Open Source community, emphasized this developer.

Daniel explained to us how “for this specific mission of the Ingenuity helicopter they have indicated to me that two particular components that I have contributed code to: curl and pycurl. I am the lead developer of curl and have made almost 2/3 of all changes to date. “

It’s funny, but as this developer commented, “the version of curl that NASA uses is very old, and in those days I had made an even larger part of all the changes. I basically wrote the code that performs data transfers using internet protocols like HTTP, FTP and the like. “

Daniel explains how “I had no idea NASA used curl until a few months ago. Even then. I didn’t know what they used it for until the very day I found that Ingenuity helicopter badge on my GitHub profile, “a kind of token award recognizing his indirect contribution to the success of a historic mission.

How does it feel to have helped Ingenuity make history on Mars?

Our last question was directed to knowing what were the feelings of these developers knowing how their contributions have enabled something as spectacular as achieving the success of NASA’s mission with their Ingenuity.

Antonio felt “very happy to have put a (infinitesimal) grain of sand in something so important”, and also recognized that this was the work of many others like Daniel Stenberg himself and from other developers like Dario Faggioli (who fixed a problem with the kernel process scheduler) or Marcus Meissner (who has worked on different subsystems, mainly on security issues), his colleagues at SUSE and both with badges for their contributions to Open Source projects leveraged by Ingenuity . On Github, they also recently paid tribute to those contributions.

Who will rule Mars when we manage to establish a colony there?

Precisely Antonio said goodbye “encouraging all readers to collaborate with any Free Software project that they like. It can be done in many ways: fixing bugs, adding new functionality, writing documentation … even the mere use of Free Software is a form of collaboration, especially if they can report bugs. All collaborations, no matter how small, are important and make Free Software better for everyone (including NASA);) “.

Daniel also felt especially good about that contribution: “I offer my Open Source code to the world in the hope that it will be used and appreciated, so when that happens at a level where it is even used in a space mission the feeling is spectacular. It makes me very happy! “

Leave a Comment