Open source software has managed to get quite the reputation in a short amount of time. In the business and computer science world, it is often lauded for its many advantages. It is said to have modernized IT infrastructure worldwide, with 77% commercial entities across the US adopting the technology. Here is a graph that shows how the world adopted open source in 2020 and 2021.
But what about space? Recently, the concept of open source has become popularized in space as well. What began as an experiment to Mars (Perseverance Rover and Ingenuity Helicopter) has now become the norm to send it beyond as well, preparing us to explore distant planets.
But why is open source software being used so much for space exploration and research? Is it really such a great idea? In this article, we will explore the possibilities that open source is bringing forth for us as a species, allowing the entire world to work together as one.
The Potential of Open Source Software for Space
There are a few reasons why open source has become the go-to software choice for a majority of space agencies and exploration programs. Whether the idea is simply to probe planets such as Mars or Jupiter’s moons or creating simulators for the public to see the sheer scale of the universe, open source is allowing everyone to pitch in and improve the prospects of space exploration.
Open source software is typically more reliable and secure than closed source software. For space, this means that the general public pitches in with their opinion, improvements, and more as anyone can view and audit the code. Potential security vulnerabilities, functionality issues, and more are spotted quickly and patched.
Second, open source software is often cheaper than closed source software, since there is no need to purchase a license. Space equipment is already very costly, and in a world where cost-effectiveness is the next big thing (as initiated by SpaceX), open source stands to help save millions of dollars in the short and long run.
Finally, open-source software gives space agencies more control over their data and how it is used since they can access and modify the code as they see fit.
All of these advantages make open source software an attractive option for space exploration and research. Reliability and security are especially important in space, where we often can’t afford to have things go wrong. And the ability to modify the code can be very useful in adapting software to the unique needs of space exploration.
What Is Open Source Software?
Open source software includes programs, applications, and raw source code that is open for everyone to inspect, modify, and enhance based on their knowledge and skills. “Source code” is the set of instructions that a computer program is written in.
Programs are usually written in a high-level language like C++ or Java, which are then translated into low-level machine code that a computer can understand. The source code is what humans use to write programs; the machine code is what computers use.
Most open source software is released under a license that allows anyone to use, study, modify, and distribute the software for any purpose. These licenses typically require that the source code be available whenever the software is distributed. Some popular examples of open source software licenses are the GNU General Public License (GPL) and the Apache License (2.0).
Why Use Open Source Software for Space?
There are several reasons why open source software is a good choice for space exploration and research.
- Reliability and security: One of the biggest advantages of open source software is that anyone can view and audit the code. This means that potential security vulnerabilities are more quickly spotted and patched. Open source software is also generally more reliable than closed source software, since there are more people looking at and testing the code.
- Cost: Another advantage of open source software is that it is often cheaper than closed source software. This is because there is no need to purchase a license.
- Flexibility: Open source software gives users more control over their data and how it is used, since they can access and modify the code as they see fit. This can be very useful in adapting software to the unique needs of space exploration.
- More Utility. From exploration and telemetry to data allocation, diagnosis, and more; open source software have the ability to be upgraded on the go for better utility from the get-go or be molded according to specific needs while in space.
Examples of Open Source Software for Space
There are many examples of open source software for space. Here are a few of the most popular:
- SpaceTrack: SpaceTrack is an online database of satellite orbits. It is maintained by the U.S. Air Force and is available to anyone with an internet connection.
- SPICE: SPICE (Solar System Positioning Interface for Celestial Education) is a software toolkit for performing positional astronomy calculations. It is used by NASA and many other organizations.
- Space Engine: One of the most extensive and popular space exploration simulators for novices and experts alike, Space Engine is a 3D open-source game that allows users not only to explore distant galaxies and planets, but also to create/trigger specific events and see what would happen! From research to recreation, the possibilities with Space Engine are quite literally endless.
- Celestia: Celestia is a 3D planetarium program that lets you explore the universe in real-time. It is available for Windows, macOS, Linux, and Android.
- KSP: Kerbal Space Program (KSP) is a game about building and flying spacecraft. It is very popular with amateur and professional astronomers alike. The goal is to help astronomers understand what it takes to leave the Earth’s surface and the elements they need to consider when trying to travel to different worlds. From the monetary value to physical forces and other dynamics, there is a lot to consider in this open-source software.
- SciPy: SciPy is not just a space-oriented open source platform, but has tools useful for almost every industry where mathematics, science, and engineering calculations are needed. It includes tools for numerical computation, data analysis, and visualization and is based on Python.
- OpenMDAO: OpenMDAO (Multidisciplinary Design Analysis and Optimization) is an open-source software framework for developing multidisciplinary design optimization problems.
These are just a few examples of how open source software offers a wide range of functions for the space industry itself, as well as for others looking to peer into the unknown.
NASA’s F Prime is another example where the world came together to test and improve the open source software for Ingenuity (nicknamed Ginny), the helicopter that is accompanying the Mars Rover now.
What Are the Challenges of Using Open Source Software for Space?
There are three primary challenges that need to be considered when using open source software for space.
- Licensing: One challenge is that different open source licenses have different terms and conditions. This can make it difficult to determine which software can be used for a particular project. In space, this means that some software cannot be used due to its license. For example, the GPL license is not compatible with many closed source licenses.
- When choosing open-source software for space, it is important to choose a license that is compatible with the project. For example, if the project is closed source, then a license like the GPL would not be suitable.
- Documentation: Another challenge is that open source software often has poor documentation. This can make it difficult to understand how to use the software. In space, this can lead to delays in research or exploration projects.
- When using open source software, it is important to find good documentation. This can be done by searching online or asking questions in forums.
- Support: Open source software often has limited support. This can be a problem if there are bugs or security vulnerabilities in the software. In space, this can lead to mission-critical systems failing.
- When using open source software, it is important to get support from the community. This can be done by joining mailing lists or IRC channels.
This shows that open source software has many benefits and can be very useful for space exploration. However, there are some challenges that need to be considered, too.
The Use of Open Source Software in Space
Open Source Software For Navigation in Space
Open source software can be very helpful for navigation in space. One example of this is the software toolkit SPICE. SPICE is used by NASA and many other organizations to calculate satellite orbits. This toolkit has been used to determine the position of a spacecraft in relation to planets and other objects in space.
The toolkit has actively been used for many space missions over the years, including when launching the James Webb Space Telescope, rovers, probes, and more.
Another example of open source software that can be used for navigation is Celestia. Celestia is a 3D planetarium program that can be used to explore the universe in real-time. This program can be used to identify the position of a spacecraft in relation to the stars and other objects in space.
Open source holds immense potential for space navigation. These software tools are just a few examples of how open-source software can be used to help with navigation in space.
Common Open-Source Earth Observation Software
There are a few common open-source Earth observation software programs. These programs are often used by scientists and researchers to study the Earth.
One example of open-source Earth observation software is the program MapProxy. This is a program that can be used to create maps from data sources. This program is often used to create maps of the Earth’s surface. Its 3D tools have been used by NASA in practice to map out the world in impeccable detail and for government agencies and commercial entities alike.
Another example of open-source Earth observation software is the program GDAL – a translator library that has been actively used by astronomers, scientists, and observers to convert between different file formats. This program is often used to convert data files from one format to another, preferably for storage and usage.
There are many other programs that can be used to study the Earth. These programs can be very helpful for astronomers, scientists, and researchers who want to learn more about our planet, when seen from space.
Common Open-Source Data Analysis Software for Space Sciences
There are several open-source data analysis software programs that have been used in space sciences over the years, but recently, they have become more popularized as we venture farther into space than ever before. From data gathered by the James Webb Space Telescope to the probes we have sent to Jupiter and the data collected by Pioneer 10 from the Kuiper Belt, these programs have often been used by scientists and researchers to study, analyze, and store data from space.
Take the recent blackhole discovery, for instance, and how the open-sourced nature of the data allowed Katie Bouman and her team to photograph it (and its shadow) for the first time.
One example of open-source data analysis software for space science is the program TOPSIS. It is a program that has been used to analyze data from satellites. This program is often used to study the Earth’s atmosphere.
CHIRP is another open source data algorithm developed by Katie Bouman to sift through the data collected by the Event Horizon Telescopes around the world to create the image mentioned above. It allowed scientists to sift through 4PB (4 petabytes, or 4 million bytes) and create the revolutionary image.
Another example of open-source data analysis software for space science is the program SODA for Linux platform, used to analyze data from planetary missions. This program is often used to study the surface of planets.
These are a number of other similar open-source data analysis software that astronomers and observers have been using to compile, store, analyze, and study data from space. These programs can be very helpful for scientists and researchers who want to learn more about our universe while working in cohorts with others.
Open-Source Robotics Software for Space Exploration
Robotics have been used since the 1950s to collect data from space, starting with the USSR program that carried dogs into space. Now, this has become the norm as the world understands just how impactful robots can be for space exploration. These programs are often used by scientists and engineers to control robotic spacecraft, such as the Mars rover and helicopter.
MOSES is one of the most prominent open-source robotics software for space exploration. It is a machine translation system that has been used to control robotic Mars rovers by NASA and orbital robots by CNSA, Russia, ESA, and even ISRO.
The program’s most prominent work is its usage in controlling the rover’s and helicopter’s movements and operations.
Another example of open-source robotics software for space exploration is the program JPL Open Source Rover by NASA. JPL Open Source Rover is a program that is being used to control robotic lunar rovers by the agency and is up for use for the public on simulators as well.
There are many other open source software that can be used to control robotic spacecraft as well, hence opening new doors for newer probes and robots launched towards further planets – including Venus!
Open-Source Aircraft Design Software
There are a few common open-source aircraft and spaceship design software programs that have shown considerable promise over the years. These programs are used by aerospace engineers to design new aircraft, spaceships, rockets, and more during the R&D phase.
One example of open-source aircraft design software being used by space agencies is the program OpenVSP. Not only is the program preferred by space agencies, but by the aerospace industry as well. The open source nature gives aspiring engineers access to complex tools to express their imagination and put their knowledge to the test. The program is officially associated with NASA’s engineers.
Another example of open-source aircraft design software is the program SU2, but the program has more extensive uses as well, such as rover design, vehicle design, and more for better aerodynamics and functionality.
The program is not as popular as OpenVSP, but is a great way for the community to share different designs. It has been used by SpaceX engineers extensively for their reusable rocket designs, coupled with their own proprietary software.
Open-Source Satellite Tracking Software
These open-source satellite tracking software programs allow amateur and professional radio enthusiasts to track satellites and observe their behavior. These programs have been used to track debris flying around the Earth as well, giving satellites key maneuvering and corrective instructions to avoid impact.
Gpredict allows for real-time satellite tracking capabilities and its open-source nature allows the program to be coupled with a range of other platforms, too. A similar program is the Orbitron Satellite Tracking System, used extensively by NORAD. The program allows tracking not only of bodies revolving the Earth, but also those that our planet is revolving around!
Open-Source Telescope Control Software
And now, for some of the more impactful open-source space programs out there, we look at a few common open-source telescope control software programs. These programs are often used by astronomers to actually control telescopes. The most common usage of the program is by the Indian Space Agency, ISRO.
INDI is a telescope control program that can be used to assign specific astronomical positions to telescopes around the globe or in space. The program allows users to input their own functionality as well, such as specific alarms, functions, and more. It is often used by space agencies and amateur/professional astronomers to observe the night sky in more detail.
A similar program is Ekos that can be used independently or with the INDI library. By allowing astronomers to control telescopes, the open source software allows for better space observations and data collection. These programs were essential for NASA to observe incoming asteroids in the past, and are expected to continue doing so in the future as well!
Open-Source Aerospace Simulation Software
Two of the most common examples of open-source aerospace simulation software programs used by agencies in collaboration with the public include FlightGear and OpenFOAM. These programs are often used by aerospace engineers to simulate aircraft.
FlightGear is an aircraft simulator, but it has a dedicated space program as well that gives users a feel of what it would be like to be seated in the cockpit of a spaceship. The open-source nature of the program allows users to become aerospace engineers and take control of a satellite from the get-go or program their own flight path, parameters, and more.
The program already has a complete space shuttle layout ready for training on simulators as well as on normal personal computers. While OpenFOAM offers a similar experience, as well with a prime focus on aerodynamics, it is yet to be adopted by space agencies like FlightGear has been.
There are many other open source programs that are used to simulate aircraft, and some closed software as well such as the DCS (Digital Combat Simulator), but its space capabilities are very limited as of now.
Open-Source Space Weather Software
These are open-source weather software that allow for tracking, decision making, and data collection on part of aspiring astronauts as well as by agencies. The idea is to help study weather anomalies and changes in real-time and see its impact on space plans, especially for launch.
A prime example of an open-source software used by space agencies, astronomers, and the like includes the SWPC. Not only does this program give valuable insights on the weather systems, wind, pressure, precipitation, and more, the forecasts also show the potential geoelectric factors to consider for launch, CME, solar wind impacts, and more that would help astronomers and scientists make sound decisions.
These types of open-source programs have proven to be invaluable for space agencies as on many occasions, tips from external sources powered by these open-source platforms have allowed in-house scientists to identify potential issues that would have otherwise been missed.
How Open Source Software Fits Into NASA’s Space Programs
NASA uses a variety of open-source software programs in its space programs. These programs are used for a number of purposes, such as controlling telescopes, simulating aircraft, studying space weather, imaging satellites, and more.
Furthermore, as mentioned above, the open-source nature has allowed the public to give valuable feedback to NASA about their potential launch queues and factor in details that would have otherwise been missed.
These open-source software solutions are important to NASA because it allows the agency to save money on software development costs. In addition, open-source software allows NASA to share its software with other organizations and individuals. This sharing of software can help to promote collaboration and innovation on a global scale.
Overall, open-source software is a valuable tool that NASA uses to carry out its space programs. The use of open-source software helps to make NASA’s space programs more efficient and effective.
Some examples of open source software used by NASA include the following:
Telescope Control Software
NASA uses a variety of open-source software programs to control its telescopes. One example of this type of software is the program SysML, an open-source machine learning program that can be used to control telescopes.
NASA uses a variety of open-source software programs to simulate diagnosis of complex scenarios, spacecraft control, deep space operations, life support, and more to train its astronauts under different situations. Examples of this type of software are Livingstone 2 and Skunkworks, both of which are AI-operated open-source tools.
Open MCT is another similar program used for mission control framework.
Space Weather Software
NASA uses a variety of open-source software programs to study space weather. One example of this type of software is the program NASA Forecast Model Web (NFMW) Map, which helps NASA read weather forecasts and visualize potential problems that the launch sequence or re-entry is likely to face.
NASA uses the Juneberry Web Service for planetary imaging regularly, coupled with EDRN data management tools to categorize and store the large number of images its telescopes record regularly. While these are used to look up, NASA also uses the Land Surface Temperature MODIS Visualization (LaSTMoV) to look at the Earth itself.
These are just a few examples of open-source software used by NASA. There are many other programs that are being actively used by NASA to carry out its space programs. These programs help to make NASA’s space programs more efficient and effective. A complete list of these open-source software solutions can be found on NASA’s “Code” collection.
To date, NASA’s use of open source focused on two types of software release:
- Point release software. These are releases of completed software occasionally (NPR 2210.1C/A) to the public for use to gather more information and simulate scenarios.
- Continuous release. These are open-source software released regularly and are continuously under development for better functionality – not only by the agency, but also by individuals and other organizations.
Recently, NASA created the Contributor License Agreement (CLA) which opened the agency’s doors to third-party open source software to be actively incorporated in future projects as well. NASA will be taking a very active stance towards these open-source solutions and will be distributing valuable information via the SourceForge platform. This would allow NASA to get access to open-source developers directly, and share their learnings with the community as well.
The agency has also decided to host the source code of these open-source platforms on the NASA servers for continuous development, including for projects that the agency thinks would benefit the world on its ventures into the skies!
Open Source Software Leading The Way to Mars
Open source software has been a vital part of NASA’s space exploration programs for many years. One of the most important examples of this is the Mars Pathfinder mission. The Mars Pathfinder mission was launched in 1996 and used an open-source rover software system. The use of this helped to make the Mars Pathfinder mission more efficient and effective.
The Mars Pathfinder mission was a success and helped to pave the way for future Mars missions. In 2003, NASA launched the Mars Exploration Rover (MER) mission. The MER mission used an open-source investigation software system called OASIS. The use of OASIS helped to make the MER mission understand the data it was collecting better.
Now, the launch of Ingenuity is also powered by an open source software known as the F Prime. It is a completely reusable jet propulsion software that allows NASA to set specific goals for the helicopter and collect data using its two primary cameras. The implementation of this open-source software has been incredibly successful, which is why NASA is planning future launches accordingly as well.
Looking to the Future
NASA will continue to use open-source software in its future space exploration missions. Open source software provides many benefits that are essential for space exploration. These benefits include efficiency, flexibility, and cost-effectiveness.
The same open source program as the one used in “Ginny” (F Prime) is set to run the upcoming Lunar Flashlight CubeSat program set on the Moon’s surface. Its goal would be to study and navigate the dark craters of the moon and study the ice formed on it.
NASA is also looking to use F Prime on Near-Earth Asteroid Scout CubeSats which will help us study asteroids that come within our reach. Not only will this help us look for resources and study the asteroids further, with the help of Life Surveyor instruments, these programs are also set to help us search for water-based life on distant planets, as well as within our solar system!
NASA is committed to using open-source software in its future space exploration missions. We believe that open-source software is the best way to achieve our goals of efficiency, flexibility, and cost-effectiveness. With open source software, we can explore the universe and expand our knowledge of the cosmos.
Further blogs within this Why Open Source Software for Space category.