Nach dem Sputnik-Schock gegründet, hat die NASA in den über sechzig Jahren ihres Bestehens stets offene und freie Projekte gestartet und gefördert. Ohne Open Source und Open Science wären zahlreiche davon unmöglich, wissenschaftlicher Fortschritt viel schwerer.
Der Sputnik-Schock saß tief. Im Herbst 1957 musste der (kapitalistische) Westen erkennen, dass der marxistisch-leninistische Sozialismus in der Sowjetunion keinesfalls ein hoffnungslos unterlegenes Wirtschaftsmodell war. Verantwortlich dafür war ein simples Piepsen, das jeder Amateurfunkempfänger ausgeben konnte und das einem Erdbeben gleichkam.
Sputnik, heute bekannt als der erste Satellit auf einer Erdumlaufbahn, piepste fröhlich vor sich hin. Weil er auf der Basis von Interkontinentalraketen (ICBM) gestartet war, bekam man es vor allem in den Vereinigten Staaten von Amerika mit der Angst zu tun. Vor Sputnik hatten die USA mit den U2-Aufklärungsflugzeugen, die auf gut 21 Kilometern Höhe auch die UdSSR überflogen, quasi die Lufthoheit besessen.
Doch nun konnte jeder die technische Überlegenheit der Russen hören, und die russische Propaganda feierte den Erfolg. In den USA bewirkte sie allerdings eine Kraftanstrengung sondergleichen: Man gründete die NASA und legte die Basis für das Space Race, an dessen Ende die erste Mondlandung des Apollo-Programms stand. Armstrong und Aldrin hinterließen auf dem Mond eine Plakette mit der Inschrift “We came in Peace for all mankind” (“Wir kamen in Frieden und für die ganze Menschheit”) (Abbildung 1).
Dieser Satz schaffte es sogar auf den Titel einer sehenswerten Apple-TV-Serie. Er wird auch gern zitiert, wenn es um die Open-Source-Ausrichtung der weltgrößten Raumfahrtorganisation geht, und stammt aus der “Gründungsurkunde” der NASA, dem National Aeronautics and Space Act von 1958 [1].

Abbildung 1: “For all Mankind”: eine Plakette an der Apollo-Landefähre zeigt das NASA-Motto. Quelle: NASA, CC-0
Obgleich man das Motto “For all Mankind” mittlerweile gendergerecht angepasst hat – es lautet heute “for all humankind” – steht es unverändert für den Anspruch der USA, die kompletten Forschungsergebnisse der NASA allgemein und frei verfügbar zu machen, inklusive aller Software, Daten und wissenschaftlicher Erkenntnisse. Dementsprechend findet sich weiter hinten im Space Act die Direktive, die NASA müsse “für eine möglichst weite und angemessene Verbreitung von Informationen über ihre Tätigkeiten und deren Ergebnisse sorgen.”
Konsequenterweise ist auch der historische Code der Mondlandung, neben dem die stolze Chefentwicklerin Margaret Hamilton 1969 posierte (Abbildung 2). heute komplett auf Github erhältlich [2]. Eine Diskussion über Open oder Closed Source gab es damals selbstverständlich noch nicht. Die Unsitte, Quelltexte nicht mehr mit der Software zu vertreiben, erfanden IBM und Konsorten ja erst Ende der Siebziger-, Anfang der Achtziger-Jahre des letzten Jahrhunderts.

Abbildung 2: Margaret Hamilton, Leiterin der Software Engineering Division, steht sichtlich stolz neben dem Papierstapel des ausgedruckten Codes der Apollo-Mission – sie war der erste Programmierer bei der NASA überhaupt, nicht nur die Erste. Quelle: NASA, CC-0
Jahrzehnte bevor Stallmann GNU und die GPL, Torvalds Linux und Raymond den Begriff “Open Source” erfanden, arbeitete die NASA transparent und öffentlich, vielen militärischen Geheimnissen zum Trotz. Alle Bilder, Veröffentlichungen und Forschungsergebnisse seien quasi Public Domain, CC-0, erzählte Steve Crawford, der “Senior Program Executive for Scientific Data and Computing” bei der NASA auf der FOSDEM 2023. Und “überall, bei allem was wir tun, ist Software involviert”. Man habe “lange schon Erfahrung damit, Software frei verfügbar zu machen”, eben so wie es der Space Act [3] vorgebe.
NASA-Aufbau
Die Agency mit ihren 18 000 Mitarbeitern und einem Jahresbudget von über 25 Milliarden US-Dollar ist der Nachfolger des National Advisory Committee for Aeronautics (NACA). Witzigerweise steckt hinter der Gründung des NACA 1914 ein ähnliches Motiv wie bei der NASA: Man hatte festgestellt, dass Europa den USA in Sachen Flugzeugen weit überlegen war.
Inzwischen gliedert sich die NASA organisatorisch in sechs Direktorate (Mission Directorates): Aeronautics, Exploration Systems, Mission Support, Science, Space Operations und Space Technology. Ihre Arbeit erstreckt sich von Mond- und Mars-Missionen wie Artemis über die ISS und menschliches Leben im Weltall, der Wissenschaft im Weltraum an sich (aber auch auf der Erde) bis hin zur Technologieentwicklung für die anderen Direktorate. Nicht nur im Science Directorate gelten dabei drei Vorgaben als Maxime allen Handelns der NASA: das Leben auf der Erde schützen und verbessern, woanders nach Leben suchen und die Geheimnisse des Universums erforschen, for all humankind eben.
Der Auftrag reicht recht weit – Abteilungen wie die Intelligent Systems Division am Ames Research Center im Silicon Valley forschen und entwickeln an autonomen Systemen, in der Robotik, mit kollaborativen und Assistenzsystemen sowie an robusten Softwaresystemen [4].
Space Fleet
Die Flotte an “Raumschiffen” unter der Kontrolle der NASA geht in die Hunderte. Dazu gehören Satelliten im Erdorbit, die Internationale Raumstation, die Sonden der Mond- und Marsmissionen, aber auch Weltraumteleskope sowie Sonden, “Space Probes”, die zu Planeten, Kometen und Asteroiden fliegen, oder Voyager I und II (Abbildung 3). Letztere kommunizieren selbst nach Jahrzehnten noch mit der Erde. Eine der beiden hat übrigens 2024 einen kniffligen Patch erfahren müssen [5], nachdem die NASA Jahre vorher noch händeringend nach Fortran-Programmierern gesucht hatte. Es kommt selten vor, dass ein Softwareprojekt seine Entwickler überlebt [6], doch die Voyager-Mission läuft immerhin seit den 1960er-Jahren.

Abbildung 3: Im Jahr 1977 gestartet, sind die beiden Sonden Voyager I und II mittlerweile sowohl die schnellsten als auch die am weitesten von der Erde entfernten menschengemachten Flugkörper. Quelle: NASA, CC-0
Python auf dem Mars
Die Voyager-Sonden starteten lange vor den ersten Open-Source-Definitionen. Allerdings hätte die NASA zwei weitere mediale Erfolge ohne Open-Source-Software (OSS) schlicht nicht feiern können. Der Mars-Rover Perseverance brachte mit Ingenuity (Abbildung 4) die erste Drohne auf einen anderen Himmelskörper. Der kleine Helikopter [7] schaffte nicht bloß den ersten Flug eines Flugzeugs jenseits der Erde, sondern übertraf mit seinen 72 Flügen sämtliche Erwartungen.
Zu verdanken hat er das den über 12 000 Open-Source-Contributoren weltweit, die an F’ (gesprochen “F-Prime”) [8] mitwirkten, einem Framework “für die schnelle Entwicklung und Bereitstellung von eingebetteten Systemen und Raumfahrtanwendungen” – ein Python-Projekt. Ursprünglich am kalifornischen Jet Propulsion Laboratory (JPL) entwickelt, ist F’ mittlerweile in einer Vielzahl Missionen im Einsatz. Außerdem bringt das Framework Test-Tools für Unittests und System-Level mit sowie eine Standardbibliothek mit flugtauglichen Komponenten.

Abbildung 4: Der Mini-Helikopter Ingenuity kam mit dem Mars-Rover Perseverance auf den Roten Planeten. Beide wären ohne Open Source unmöglich. Quelle: NASA, CC-0
JWST
Das zweite Vorzeigeprojekt, das für großes Aufsehen sorgte und gleichzeitig ohne OSS undenkbar wäre, ist das James Webb Space Telescope (JWST) [9]. Im Jahr 2021 gestartet, hat das in Partnerschaft mit der ESA und Kanada vorangetriebene Teleskop (Abbildung 5) viele Meilensteine gesetzt. Nach 30 Jahren Bauzeit sendet es nie dagewesene Bilder aus dem Universum und lieferte den ersten Nachweis von Kohlendioxid in der Atmosphäre eines fremden Planeten.
Die komplette zum Kalibrieren des JWST verwendete Software ist Open Source. Alle Daten des Teleskops werden sofort nach der Beobachtung vollständig veröffentlicht. Ohne OSS und Open Science wäre das unmöglich, sagt die NASA, die außerdem die JWST Calibration Pipeline [10] interessierten Amateuren auf Github zur Verfügung stellt.

Abbildung 5: Das James Webb Space Telescope gilt als das erste wegweisende Teleskop des neuen Jahrtausends und setzt ebenfalls auf Open Source Technologien.
Astropy
Auch an Astropy hat die NASA großen Anteil. Das Astronomie-Framework hat es sich zum Ziel gesetzt, zum Standard für astrologische Anwendungen zu avancieren und dafür ein Ökosystem zu ermöglichen. Es ist mittlerweile in der ausgereiften Version 7 erschienen [11].
Im Jahr 2011 aus einer Astronomie- und Python-Mailingliste hervorgegangen, baut es auf NumPy auf und konnte schon früh auf renommierte Teleskope als Kontributoren verweisen: Darunter finden sich vor allem Techniker des Hubble- und Chandra-Teleskops. Heute stehen Tausende Mitwirkende und Zehntausende wissenschaftliche Referenzen hinter dem Begriff Astropy – eine Erfolgsgeschichte. Auch für Steve Crawford war das “mein eigentlicher Start mit Open Source Software. Da habe ich gelernt, was es bedeutet, mit einer Community von Gleichgesinnten arbeiten zu dürfen.”
Crawford zeigt in seiner Keynote eine lange Liste an freien Softwareprojekten (Abbildung 6), die die NASA nutzt und zu denen sie beiträgt. Gleichzeitig beziffert er sie jedoch mit “maximal ein(em) Prozent der Tools”. Es seien schlicht zu viele, um sie alle in einem Vortrag aufzuführen. Ein kleiner Ausschnitt findet sich in der Tabelle “OSS-Projekte bei und mit der NASA”.
|
Name |
Funktion |
URL |
|---|---|---|
|
das2 |
Visualisierung von Weltraumdaten |
|
|
Autoplot |
Analyse von Feldern und Partikeldaten im Weltraum |
|
|
Astrogeology ISIS3 |
Softwarepaket für die digitale Bildverarbeitung |
|
|
Astrogeology plio |
Python-Bibliothek zur Eingabe und Ausgabe von Daten über die Planetenoberfläche |
|
|
PlanetaryPy |
Python-Werkzeuge für die Planetenforschung |
|
|
NASA Ames Stereo Pipeline (ASP) |
automatisierte Geodäsie- und Stereogrammetrie-Tools |
|
|
MHEST – Mixing Height Estimation Toolbox |
Werkzeugkasten zur Schätzung von Wetter- und Luftqualitätsdaten |
|
|
NASA-DEVELOP |
Erdbeobachtung |
|
|
VOCAL |
Visualisierung von Satellitendaten |
|
|
Space Telescope Science Institute |
Software des Wissenschaftsinstituts für Weltraumteleskope |
|
|
OpenStack |
Cloud-Management mit OpenStack |
|
|
OODT |
verteiltes Datenmanagement mit OODT (mittlerweile an die Apache Foundation übergeben) |
Nastran und Ikos
Ältere Software hat es ebenfalls in die Open-Source-Welt geschafft: Nastran, ein Finite-Elemente-Analyseprogramm, das ursprünglich in den späten 1960er-Jahren für die NASA entwickelt und in den 1970er-Jahren veröffentlicht wurde.
Der Nastran-Quellcode [12] ist in eine Reihe unterschiedlicher Softwarepakete integriert, die verschiedene Unternehmen vertreiben. Mit der Quelltextanalyse des Inference Kernel for Open Static Analyzers, kurz Ikos [13], sichert die NASA nicht nur die Software von Raumschiffen, sondern hilft auch dabei, andere Flugzeuge sicherer zu machen.
Er analysiert C/C++-Code, basierend auf der Theorie der abstrakten Interpretation [14] und liefert Kontrollflussgraphen, Fixpunkt-Iteratoren, numerische abstrakte Domänen und vieles mehr. Dabei ist das Werkzeug unabhängig von einer bestimmten Programmiersprache, bietet jedoch einen statischen C- und C++-Analysator, der auf LLVM basiert und skalierbare Analysen zur Erkennung und zum Nachweis der Abwesenheit von Laufzeitfehlern in C- und C++-Programmen implementiert. Als Erfolgsnachweis gilt die Geschichte des BioSentinel-Satelliten aus dem Artemis-Programm: zur Erinnerung: erst zum Mond, 2033 dann zum Mars. Er untersucht die Langzeitauswirkungen von kosmischer Strahlung auf Hefe-DNA [15].
Spicy Python
Ebenfalls vom Jet Propulsion Laboratory kommt das Spice Toolkit [16], das zusammen mit dem Python-Wrapper SpiceyPY und vielen anderen OSS-APIs (Java, C, Fortran, Matlab und so weiter) alles mitbringt, was man so braucht, um im Weltall zu navigieren. Das Akronym SPICE steht für Spacecraft, Planet (Satellite, Comet, or Asteroid), Instrument Information, die C-Matrix für die “Orientation Information” und E für Events Information.
Übersetzt bedeutet das: Spice kann Positionen und Geschwindigkeiten von Planeten, Satelliten, Kometen, Asteroiden und Raumfahrzeugen bestimmen und Größe, Form und Ausrichtung von Planeten, Satelliten, Kometen und Asteroiden, aber genauso die Ausrichtung eines Raumfahrzeugs und seiner beweglichen Strukturen sowie die Lage des Sichtfelds von Instrumenten auf der Oberfläche oder in der Atmosphäre eines Planeten einbeziehen. SPICE gibt es seit 1996, es wird als Teil des Planetary Data Systems finanziert.
Open Source Science
Neben den betagten Projekten und den Open-Source-Standards hat die NASA seit 2023 zahlreiche neue freie Softwarewerkzeuge ins Leben gerufen und gefördert. Mit der NASA Open-Source Science Initiative [17] will man “den nächsten Schritt” unternehmen und die erfolgreichen Open-Source-Konzepte “auch auf den wissenschaftlichen Prozess anwenden”.
Dafür hat sich das Science Mission Directorate eine Science Information Policy [18] gegeben, die es jedermann “einfacher machen soll beizutragen, teilzuhaben, zu veröffentlichen und Open Source Software zu verwenden. Die NASA unterstützt wissenschaftliche Open Source Projekte mit Fördermitteln und Beiträgen, will deshalb Transparenz, Nachvollziehbarkeit, Wiederverwendbarkeit und Nachhaltigkeit garantieren. Alle wissenschaftlichen Ergebnisse müssen deshalb zwingend ohne jede Einschränkung veröffentlicht werden, entwickelte Software muss Community Contributions zulassen.” Damit nicht genug: Die NASA verschreibt sich dabei einer langfristigen Strategie, sie hat eher Jahrzehnte im Auge als Jahre.
Das schlägt sich selbstverständlich in den Fördermitteln nieder: In den Jahren 2021 und 2022 unterstützte die Agency 16 Projekte mit 3 Millionen US-Dollar. Wenige Jahre später steht bereits das Zehnfache zur Verfügung, und die NASA TOPS-Initiative (Transform to Open Science) (Abbildung 7) will allein 40 Millionen über fünf Jahre für Open Science ausgeben.

Abbildung 7: 2023 rief die NASA das Jahr der Open Science aus – hier das Logo zusammen mit der Space Apps Challenge, dem größten jährlichen Hackathon. Quelle: NASA, Space Apps Challenge
Mit TOPS [19] will man nicht nur 20 000 Wissenschaftler, sondern auch Integration sowie Barrierefreiheit unterstützen und obendrein fünf bahnbrechende wissenschaftliche Entdeckungen erreichen. Der ganze Workflow von Infrastruktur, Policy, Fördermittel und Community soll von den Erfahrungen der Open-Source- und Open-Science-Welt profitieren.
Das Science Mission Directorate geht mit gutem Beispiel voran und hat sich selbst noch strengere Regeln auferlegt: Es veröffentlicht alle Publikationen ohne Embargo, teilt wissenschaftliche Daten und Software sofort und publiziert die Missionsdaten frühestmöglich, vollständig und frei. Software für Missionen, die keinen Einschränkungen unterliegen, entwickelt man offen. Außerdem sieht das Sciense Mission Directorate Software als ein wissenschaftliches Produkt. Daten veröffentlicht es als CC-0, Software mit freien, verbreiteten OSS-Lizenzen. Und schließlich will es noch Beiträge zu OSS fördern.
Mehr Fortschritt
“Wir brauchen mehr ‘Wir’- und weniger ‘Ich’-Wissenschaft”, zitiert Crawford einen Ausspruch des Yale-Mediziners Harlan Krumholz in einem NASA-Workshop. “Nur das offene Teilen von Daten, Software und Ergebnissen bringt uns da weiter. Wir brauchen mehr Menschen, mehr Hände, mehr Augen und mehr Gehirne, mit all den diversen Erfahrungen und Hintergründen, damit wir die besten Fragen stellen können und die besten Antworten finden.” Das sei etwas, wo Open Source häufig Vorbildcharakter besäße, so Crawford zum Linux-Magazin,.
Konsequenterweise gibt es von der NASA bereits 70 PBytes an freien Daten. Der Zugriff auf die mehr als 3 Milliarden Dateien funktioniert über offene APIs. Wissenschaftliche Projekte wie das Power Project [20] und das Earth System Observatory [21] werden über 600 PByte an Daten generieren – frei zugänglich für alle und mit der Science Discovery Engine [22] durchsuchbar. Software entwickelt und publiziert die NASA auf Github [23], auf http://code.nasa.gov, unter http://software.nasa.gov, viel landet am Ende außerdem im Archiv des Software-Heritage-Projekts [24].
Der Weg der NASA geht weiter in Richtung Open Source und Science: Im vergangenen Jahr lobte sie über 15 Millionen US-Dollar [25] aus, um 15 OSS-Projekte zu fördern [26]. Ziel sei es, für den wissenschaftlichen Fortschritt (der NASA-Community) wichtige Tools zu unterstützen und abzusichern. Zu den “Gewinnern” gehören unter anderem die Geo-Library GDAL, QGIS sowie Numpy und F’.
Elisa: Space Grade Linux
Ebenfalls im letzten Jahr veröffentlichte die NASA Software für wissenschaftliche KI-Anwendungen (hervorgegangen aus Workshops etwa mit IBM, beispielsweise für die Wettervorhersage), effiziente und wirksame Large Language Models speziell für Open-Science-Projekte und das jüngste im Bunde: ELISA. Wer jetzt an den ersten Chat-Bot aus den 1960er-Jahren und an Joseph Weizenbaum denkt, liegt falsch.
Hinter ELISA steckt das Space Grade Linux des Goddard Space Centers. Das Akronym steht für Enabling Linux In Safety Applications.
Die Bandbreite der potenziellen Anwendungsfälle lässt sich lediglich erahnen, auf der Webseite prangen ein Automobil und ein Flugzeug [27]. ELISA soll es Unternehmen erleichtern, Linux-basierte sicherheitskritische Anwendungen zu entwickeln und zu zertifizieren – Systeme, deren Ausfall den Verlust von Menschenleben, erhebliche Sachschäden oder Umweltschäden zur Folge haben könnte, heißt es da. Quasi die Schirmherrschaft darüber soll die Space Grade Linux Special Interest Group [28] innehaben.
Fazit: groß, größer, NASA
Wer sich mit Open Source bei der NASA beschäftigt, merkt schnell: Die NASA kann alles – außer kleine Brötchen backen. Genau dort liegen häufig auch die Probleme der Mega-Agency. Allzu oft agiert sie wie ein langsamer, unbeweglicher Leviathan. Groß und intransparent, ein Milliardengrab, und unermesslich bürokratisch sei sie, lauten die Vorwürfe. Die seit 2003 im NASA Open Source Agreement [29] vorgeschriebenen Prozeduren erwiesen sich dementsprechend als kompliziert und deswegen kaum genutzt, obwohl US-Beamte prinzipiell keine Software entwickeln dürfen, die unter Copyright stehen könnte.
Zusätzlich seien die NASA-Lizenzen und -Prozeduren in der OSS-Community weder anerkannt noch verwurzelt, und von den über 500 offiziell veröffentlichten OSS-Paketen nur wenige in die Community integriert. Gleichzeitig hängt die NASA in kritischen Bereichen stark von Projekten wie Curl ab, nicht anders als die meisten Konzerne und Branchen. Gut möglich, dass das verstärkte Sponsoring der letzten Jahre und die stärkeren Commitments hier für mehr Sicherheit und Verlässlichkeit sorgen. (csi)
Der Autor
Markus Feilner ist Berater für Open-Source-Strategien aus Regensburg. Seit 1994 arbeitet er mit Linux, war Stellv. Chefredakteur des Linux-Magazins und hat sich mit seiner Firma Feilner IT unter anderem auf Digital Sobriety spezialisiert. Als Ambassador Open Source bei grommunio hilft er Menschen dabei, sich von proprietären Abhängigkeiten im Exchange-Umfeld zu befreien.
Infos
- Space Act: https://en.wikipedia.org/wiki/National_Aeronautics_and_Space_Act
- Apollo 11 Code: https://github.com/chrislgarry/Apollo-11
- Steve Crawford bei der FOSDEM 2023: https://youtu.be/vrCHEifGUEM, PDF: https://archive.fosdem.org/2023/schedule/event/nasa/attachments/slides/5829/export/events/attachments/nasa/slides/5829/FOSEM_NASA_OSS.pdf
- Intelligent Systems Division: https://www.nasa.gov/intelligent-systems-division/
- Voyager I bekommt ein Update: https://www.ndtv.com/science/vintage-voyager-1-gets-reboot-data-restored-after-1977-computer-glitch-fixed-5536491
- NASA sucht Fortran-Programmierer: https://www.popularmechanics.com/space/a17991/voyager-1-voyager-2-retiring-engineer/
- Open Source in Ingenuity: https://www.youtube.com/watch?v=D-Y6H0GMtbM
- F’ :https://nasa.github.io/fprime/
- JWST: https://science.nasa.gov/mission/webb/
- JWST Calibration Pipeline: https://github.com/spacetelescope/jwst
- AstroPy: https://www.astropy.org/
- NASTRAN: https://software.nasa.gov/software/LAR-16804-GS
- IKOS: https://github.com/NASA-SW-VnV/ikos, Tutorial: https://ntrs.nasa.gov/api/citations/20220007431/downloads/SWS_TC3_IKOS_Tutorial.pdf
- Abstrakte Interpretation: https://de.wikipedia.org/wiki/Abstrakte_Interpretation
- Ikos im Einsatz: https://www.nasa.gov/aeronautics/ikos-debugger-zaps-error-rate-for-aviation-software-developers/
- SPICE Toolkithttps://naif.jpl.nasa.gov/naif/toolkit.html
- Open Source Science Initative: https://science.nasa.gov/open-science/
- NASA Science Information Policy: https://science.nasa.gov/researchers/science-information-policy/
- TOPS: https://science.nasa.gov/open-science/tops/
- Power: https://power.larc.nasa.gov/
- Earth Systems Observatory: https://science.nasa.gov/earth-science/missions/earth-system-observatory/
- Science Discovery Engine: https://science.data.nasa.gov/science-discovery-engine “Use the Science Discovery Engine
- NASA auf Github: https://github.com/nasa
- Software Heritage: https://www.softwareheritage.org/
- 15 Millionen für OSS: https://www.nasa.gov/news-release/nasa-funds-open-source-software-underpinning-scientific-innovation/
- Nspires Awards: https://nspires.nasaprs.com/external/viewrepositorydocument/cmdocumentid=1036049/solicitationId=%7B910CC61E-4616-9958-C26F-F8D9BC5AB8D9%7D/viewSolicitationDocument=1/OSTFL24%20Abstract%2011-15-24.pdf
- ELISA: https://elisa.tech/
- SGL SIG: https://elisa.tech/space-grade-linux-sig/
- NOSA: https://opensource.gsfc.nasa.gov/documents/NASA_Open_Source_Agreement_1.3.pdf






