35
$\begingroup$

I was wondering if it was possible to download the software that runs any of the computers on existing or decommissioned space probes, landers, etc.

For example, could one download the software that runs any of the components on Curiosity? If someone wanted to build their own similar robot, could they use the existing code developed by JPL?

Is it open source?

What about other space probes?

$\endgroup$
33
$\begingroup$

The NASA software for the Apollo Guidance Computers is released. Further, a low-level hardware emulator running the software is available; the source for the AGC is in several released manuals. Likewise, the Apollo Landing Computer has been emulated.

Current software generally isn't released due to the risks to the hardware; NASA eventually has to release all of it to the National Archives, per Federal Law, but the Archives is not obligated to release the code if the Archivist feels it would endanger current missions. (This author used to work for the Archives, as an archival aid - what does and doesn't get released is a complex balance of public right to know, individual right to privacy, and prevention of undue risk to ongoing programs.)


Build Your Own NASA Apollo Landing Computer (http://www.galaxiki.org/web/main/_blog/all/build-your-own-nasa-apollo-landing-computer-no-kidding.shtml)

Virtual AGC page (http://www.ibiblio.org/apollo/)

$\endgroup$
  • $\begingroup$ What are the hardware risks? That someone else builds a dish and transmits commands to a spacecraft which it then obeys? $\endgroup$ – Camille Goudeseune Jul 18 at 18:15
  • 1
    $\begingroup$ That's one of them, but that's extremely large risk. Sending commands can result in end of mission via any number of ways. The simplest (and most threatening to recent missions) is to trigger the end-of-life deorbit. The next simplest is to transmit new instructions that prevent further reception of instructions (which means forcing it to keep the antennae pointed away from earth; were it not for the rotation and orbital mechanics issues, it would be the simplest). Then there's coöpting for for personal, corporate, or nationalist purposes. Potentially also terrorist ones... $\endgroup$ – aramis Jul 21 at 22:57
8
$\begingroup$

NASA just released their 2017-2018 software catalog which lists many different types of software used by NASA. Access requirements and restrictions are as follows:

  • General Public Release—For codes with a broad release and no nondisclosure or export control restrictions
  • Open Source Release—For collaborative efforts in which programmers improve upon codes originally developed by NASA and share the changes
  • U.S. Release Only—For codes available to U.S. persons only, with no further transfer of the software allowed without the prior written approval of NASA
  • U.S. and Foreign Release—For codes that are available to U.S. persons and (under special circumstances) persons outside of the U.S.
  • U.S. Government Purpose Release—For codes that are to be used on behalf of the U.S. government
    • Project Release—For use under a contract, grant, or agreement
    • Interagency Release—For use by U.S. government agencies
    • NASA Release—For use only by NASA personnel and contractors

The fifteen topics are listed below:

In addition, NASA has a github page.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.