We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Open Source Software at NASA

00:00

Formale Metadaten

Titel
Open Source Software at NASA
Serientitel
Anzahl der Teile
542
Autor
Lizenz
CC-Namensnennung 2.0 Belgien:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Software has been a common thread across all of NASA's major achievements from the Moon landing to the deepest images of our Universe. Today, NASA relies on, releases, and contributes to Open Source Software to advance its scientific missions. From powering our databases monitoring our planet and Sun to running in our missions on other planets, Open Source Software is critical to addressing NASA's biggest challenges on climate change, exploring the solar system, and discovering life beyond Earth. The Ingenuity helicopter, exploring the surface of Mars, is guided by Open Source Software. The amazing images of the earliest galaxies from the James Webb Space Telescope were made possible by open source software developed openly and contributed back to the community. Now, NASA is taking the next steps to further broaden the impact of open source by applying it to the scientific process with its Open Source Science Initiative. NASA is directly supporting open source scientific software through grants and contributions. To further advance scientific reproducibility and reuse, the scientific software underlying future scientific results will be made openly available and unrestricted mission software will be developed openly to allow for community contributions.
RückkopplungMereologieSelbst organisierendes SystemSoftwareErwartungswertVollständiger VerbandOpen SourceDiagramm
SoftwareOffene MengeOpen SourceBildgebendes VerfahrenInformationIntegralBitGrundraumMereologieFlächeninhaltBildverstehenSpezielle unitäre GruppeInteraktives FernsehenGeheimnisprinzipFlächentheorieSchlüsselverwaltungComputeranimation
CodeSoftwareGesetz <Physik>BitMereologieGemeinsamer SpeicherDifferenteMinkowski-MetrikGamecontrollerComputeranimation
Funktion <Mathematik>Open SourceMinkowski-MetrikHardwareDienst <Informatik>EinflussgrößeGerichtete MengeAutomatische HandlungsplanungInformationGesetz <Physik>GarbentheorieMereologieResultanteComputersicherheit
Open SourceGrundraumMereologieNichtlinearer OperatorMinkowski-MetrikComputeranimation
GrundraumComputerspielGrundraumSchlüsselverwaltungComputeranimation
TopologieGEDCOMGrundraumSpannweite <Stochastik>Orbit <Mathematik>DifferenteOrdnung <Mathematik>Projektive EbeneLuenberger-BeobachterSpezielle unitäre GruppeOpen SourceComputeranimation
VideokonferenzQuellcodeOffene MengePrimidealW3C-StandardComputerspielSoftwareMereologieProjektive EbeneFlächeninhaltWasserdampftafelVektorpotenzialFramework <Informatik>FlächentheorieOpen SourceObjekt <Kategorie>Computeranimation
Open SourceOffene MengeDokumentenserverCodeEreignishorizontSoftwareMereologieProjektive EbeneSpannweite <Stochastik>Open SourceDifferenteDokumentenserver
Projektive EbeneMereologieSpannweite <Stochastik>DifferenteKollaboration <Informatik>Rechter WinkelComputeranimation
Bildgebendes VerfahrenMereologiePunktwolkeSoftwareProjektive EbeneResultanteProzess <Informatik>PunktspektrumLuenberger-BeobachterOffene MengeSoundverarbeitungDatenmissbrauchOpen SourceComputeranimation
QuellcodeAlgorithmusBildgebendes VerfahrenSoftwareProgrammierumgebungMereologieProjektive EbeneProgrammfehlerComputeranimation
Open SourceBildgebendes VerfahrenSoftware EngineeringProgrammbibliothekProjektive EbeneSkalarproduktE-MailSoftwarewartungt-TestMailing-ListeSelbstrepräsentationComputeranimation
Bildgebendes VerfahrenCodeDatenverwaltungSoftwareAllgemeine RelativitätstheorieProdukt <Mathematik>DivisionLeistung <Physik>MereologiePhysikalisches SystemE-MailRuhmasseVektorpotenzialKlasse <Mathematik>Spezielle unitäre GruppeVarietät <Mathematik>SoundverarbeitungOpen SourceWeb SiteObjekt <Kategorie>Minkowski-Metrik
SatellitensystemCodeOpen SourceSolar-terrestrische PhysikBitProjektive EbeneSpannweite <Stochastik>Open SourceAnalysisProgrammierungDifferenteElement <Gruppentheorie>Computeranimation
Spannweite <Stochastik>QuellcodeSoftwareOpen SourceKeller <Informatik>SoftwareCodierungZahlenbereichPublic-domain-SoftwareDatenverwaltungProgrammierungSupercomputerProjektive EbeneAnpassung <Mathematik>Elektronische PublikationPunktwolkeCloud ComputingSoftwareentwicklerComputeranimation
Orientierung <Mathematik>SatellitensystemDatenstrukturFlächentheorieOpen SourceSpezialrechnerMotion CapturingCodeGeschwindigkeitHardwareMathematikSoftwareOrientierung <Mathematik>Physikalisches SystemWiederherstellung <Informatik>ResultanteSpannweite <Stochastik>Regulärer GraphProzess <Informatik>PunktEreignishorizontDifferenteWrapper <Programmierung>Interface <Schaltung>OrtsoperatorComputeranimation
Gerichtete MengeBildverstehent-TestCodeWärmestrahlungMustererkennungProjektive EbeneOpen SourceMultiplikationsoperatorSoftwareentwicklerComputeranimation
QuellcodeProjektive EbeneCASE <Informatik>ProgrammfehlerVorzeichen <Mathematik>Open SourceProgramm/Quellcode
Open SourceSoftwareBaumechanikOpen SourceComputeranimation
BenutzerfreundlichkeitOpen SourceE-MailOperations ResearchDatenverwaltungSoftwarePhysikalisches SystemZahlenbereichE-MailExogene VariableNichtlinearer OperatorProzess <Informatik>ComputersicherheitAdditionFramework <Informatik>SoundverarbeitungOpen SourceDifferenteMultiplikationsoperatorMinkowski-MetrikTwitter <Softwareplattform>Softwareentwickler
Offene MengeSoftwareProdukt <Mathematik>Ganze FunktionMereologieComputersicherheitOffene MengeInklusion <Mathematik>Open Source
Inklusion <Mathematik>Prozess <Informatik>SoftwareProdukt <Mathematik>Prozess <Informatik>Open Source
Open SourceSoftwareInformationWeb SiteInformationSoftwareFrequenzProdukt <Mathematik>IntegralMereologieFlächeninhaltPublic-domain-SoftwareBlockade <Mathematik>Offene MengeOpen SourceMultiplikationsoperatorComputeranimation
Konvexe HülleSoftwareProzess <Informatik>Open SourceProgrammierumgebungProdukt <Mathematik>Projektive EbeneSystemaufruf
Singuläres IntegralKanalkapazitätOffene MengeOpen SourceGruppenoperationGruppenoperationKoordinatenProjektive EbeneResultanteOffene MengeKanalkapazitätOpen SourceDigitales ZertifikatComputeranimation
Offene MengeProgrammierumgebungOffene MengePhysikalisches SystemSchnittmengePunktwolkeComputeranimation
EnergiedichtePrognoseverfahrenWirkungsgradGebäude <Mathematik>ProgrammierumgebungGruppenoperationProjektive EbeneSchnittmengeOpen SourceCloud ComputingComputeranimation
GasströmungFlächentheorieEnergiedichtePunktwolkeWasserdampftafelRuhmasseMaßstabBeobachtungsstudieSoundverarbeitungSichtenkonzeptPartikelsystemComputeranimation
Open SourceCodeSoftwarePhysikalisches SystemProjektive EbeneZahlenbereichOnline-KatalogSpannweite <Stochastik>Solar-terrestrische PhysikMailing-ListeOpen SourceWeb SiteDifferenteDomain <Netzwerk>PackprogrammComputeranimation
SoftwareGebäude <Mathematik>Trajektorie <Kinematik>Spannweite <Stochastik>Open SourceComputeranimation
CodeSoftwareGruppenoperationProjektive EbeneSpannweite <Stochastik>Open SourceDifferenteComputeranimation
SpieltheorieGrundraumCodeComputerspielTypentheorieGebäude <Mathematik>ProgrammierumgebungBitHilfesystemAdressraumOpen SourceMinkowski-MetrikComputeranimation
SoftwareGrundraumMereologieMomentenproblemSpannweite <Stochastik>Gemeinsamer SpeicherHilfesystemInklusion <Mathematik>Open SourceMessage-PassingComputeranimation
Flussdiagramm
Transkript: Englisch(automatisch erzeugt)
Thank you very much for having me here at FOSTEM. This is my my first FOSTEM and as part of the feedback from the organizers for my talk was it sounds like something that could be an upbeat great way to end the meeting with with lots of pretty pictures and I've done my best to fill this with lots of pretty pictures. And so hopefully
I'll meet the expectations. I'm Steve Crawford. I'm the Science Data Officer as part of the Chief Science Data Office of the Science Mission Directorate of NASA. And I'm really excited here today today to talk to you about NASA and open source software.
And so just to give a little preview of what I'll be talking about, I'll start off with software and the importance of it to NASA, recent open source software success stories, challenges with open software, open source science, and then opportunities. And I
think probably most everyone is familiar with NASA, but I want to share with you that NASA's vision is to reach new heights and reveal the unknown for the benefit of all humankind. And this image is I think a great encapsulation of this.
Going to the moon was obviously reaching new heights. In this image of Buzz Aldrin, an Apollo 11 mission landing on the moon, but it captures him actually in the act of a science experiment. They're actually capturing information about the solar winds on the surface of the moon and actually trying to better understand how our Sun works and interacts with the different bodies and
trying to actually explore heliophysics, which is one of the main areas we do research on. And so that is actually a key bit of NASA, not only to explore the universe and to explore our solar system and our atmosphere, but also to actually understand it. And so trying to actually understand for the benefit of everyone is a key part of NASA.
And at the heart of that, an integral part of that, and what makes NASA possible, is software. Every mission, every bit of research that NASA does, there's software involved in it. And a great example is the Apollo software. And here's
two of the people who are leaders and involved in it. Mary Jackson, who started work at the computers, the very early computers, as part of NASA to actually work and then became one of the lead engineers. And Margaret Hamilton, who helped lead the team that was designing the control and command
software for the Apollo 11 mission at MIT. And this software was actually released and made openly available. You can see an example of the scan of one of the early software. It's available online. It's also been converted to GitHub. If you actually want to actually take a look at the software and the code from the
Apollo mission, it's there and available. Software has been a key part for all of our different missions, but NASA also has a long history of making the software openly available. And that sharing is part of NASA's DNA, as part of the law that created NASA, the Space Act.
In Section 203, one of the aspects was to provide for the widest, practical, and appropriate dissemination of information concerning its activities and results thereof. Part of our congressionally mandated law is to actually share what we do, to actually and disseminate appropriately.
We do always have to be concerned about security and keeping things safe, but we also want to actually share as much possible as we do. And today we're doing that through our different directorates. We have our Exploration Systems Directorate with Artemis launching and
aiming to go back to the Moon and then Mars beyond it. We have our Space Operations Mission Directorate, which is actually focused on the International Space Station and about operations and living in space. We have our Science Mission Directorate, which I'm part of, which actually explores our universe and our Earth. And we also have our Space Technology and Aeronautics Research Mission Directorates, which actually are designing the technology that
enable the exploration and discoveries made by the other directorates. I'm going to focus most of the rest of my talk on the Science Mission Directorate, but a lot of what I say for SMD also applies to these other activities. And so what does the Science Mission Directorate do? Well, it has three key science themes.
These are to protect and improve life on Earth and space, search for life elsewhere, and that can be either within the solar system or planets circling around other stars, or discover the secrets of the universe. And so these are three, I think it's fair to say, pretty big questions that affect all of humanity. And
that's what we're actually working at in the Science Mission Directorate to try and answer these questions. And how do we do that? Well, we do it through our fleet of missions. And so these are the different missions that the Science Mission Directorate have in orbit
around the Earth, have an orbit around other planets or the Sun, or have exploring the universe. And we have a wide range of Earth observing satellites. We have a number of experiments going on on the International Space Station. We have a wide range of different explorers that visited Mars. We also have
observations of the Sun. And we have our space telescopes and our space observatories observing the deepest reaches of the universe. And I just want to take a pause though as I take a look at, and a very important aspect of this chart, is that a lot of these missions, actually all of these missions, are done with our partners. NASA, even though NASA,
everyone knows the NASA name and the NASA brand, so much of what NASA does is with others. It's with a community. We do it with our partners at the European Space Agency, at the Canadian Space Agency, at JAXA. We do it with the contractors and other agencies which are around the world that we partner with and work with.
We also do it with the wider community. Some of these missions are NASA-led. Some are led by our partners. And but really it's, you know, I think there's actually one aspect which is actually very similar to open source where the missions and and projects with NASA do take a very wide community in order to actually achieve these projects.
And so I want to actually look at some of the success stories with these projects. And the first one I want to take a look at is ingenuity. I'm going to play ingenuity as part of the Mars Perseverance mission. Mars Perseverance is
on the surface of Mars. It landed there in 2021 to explore Jezero Crater, an ancient delta on Mars. This was an area that was once rich with water and was sent there to actually explore whether or not the potential for life in that area. As part of that mission,
there's a demonstrator on it, which is the ingenuity drone copter. And you can see the the first flight of it here. And this is the first flight of an object, a human-made object anywhere else in the solar system. And so we're actually flying a copter on another planet. Since the first flight, it's been
repeated and has flown over 40 separate flights during the last two years. It's still flying. It's still exploring. This was something that was expected to make about five flights. And I'll just play that again. But it's driven by open-source software. F-prime is the open-source flight control software for this. And this framework was used for
for this project. It was released by JPL in 2017. And so the, you know, this drone copter is flown by open-source software. One of the great things that happened to celebrate this accomplishment is that NASA and JPL, or NASA and JPL partnered with GitHub to actually recognize all those who have contributed to this mission.
And they didn't actually just to those who actually contributed to the F-prime repository. They also contributed and recognized all the others through a badge of the Mars 2020 helicopter
contributor badge, which recognized all the dependencies and all the other packages and software that was involved in and part of this project. And so this actually was over 12,000 people who contributed to these dependencies and these different packages which made this project possible. These contributors are from all around the world
and have been contributing to open source and a wide range of different open source projects which made flight on Mars possible. Another project, and this one is
personally important to me because it's one that I've contributed directly to, is the James Webb Space Telescope. This was launched just over a year ago and it is a partnership between NASA, European Space Agency, ESA, and the Canadian Space Agency. And I really want to actually once again actually like emphasize the fact that these projects, these massive projects which took almost 30 years
to build was an international collaboration with a wide range of different agencies across different NASA centers. 14 different countries including Belgium right here, part of the Miri spectrograph,
was built here in Belgium along with actually one of the leads for the Miri spectrograph of the the long-resolution spectrograph Sarah Kendra was actually is born and raised in Belgium. And so there these projects take a wide range and a large community to actually support and actually produce these projects.
And so the wonderful and beautiful thing is that after its launch and after its commissioning James Webb Space Telescope did start to produce beautiful beautiful images. And so Jadwes T is here's one of the first images of the Carina Nebula. This is a small part of the overall
image or a small part of the overall nebula showing the dust clouds which are actually home to new stars which are forming there. And not only is it producing imaging but it's also producing spectra and this is an example and one of the first spectra of carbon dioxide in it in the atmosphere of another of a planet orbiting another star.
So it's in the atmosphere of a plant which is orbiting another star and it's detected by the the spectrograph and by looking at as that planet passes in front of the star you can actually do observations of it you subtract off the effects of the star and you can actually see what the spectrum of that atmosphere of that planet is. This is the first detection of CO2
and this came out roughly about a month after we started producing public data from the telescope as we started releasing data. And here's a great quote from Natasha Batalia who is one of the leads on it. That NASA's open science guidance principles are centered in our early release science work supporting an inclusive
transparent and collaborative scientific process. They could actually produce their science so quickly in one month this this discovery one month after they started releasing data because of open science and open source software. They're able to test their software and their processes before the the launch of the telescope because all the calibration software was made publicly available.
The data for this project for our early release projects were made publicly available as soon as they were observed. And they also are a great example of open science as well. They've made all their data all of their software and all of their results openly accessible as well.
So if you want to actually go and reproduce this spectra for yourselves, you can actually go and download their software which is uploaded to Zenodo and take a look at it. And so as I said, this is all made possible by having the the software made openly available. And this is part of all of the JWST calibration software, the software which is actually
used to actually produce and science calibration and science ready images is all openly developed, all openly developed on GitHub. It enables scientists to test their projects before it became available, but it also allows them to feed back to the project to actually when they find bugs or when they find a better
algorithm for calibrating the data, they can contribute it back to the program so that it actually can then be shared with a wider audience. And one thing that actually makes this available is it builds on the wider scientific Python environment and then contributes back to that community as well. And the way that this did it was it contributes and JWST and that team contributes back to the Astropy project.
And this is a common Python library for astronomy. It builds on NumPy. And it started in 2011, basically from an astronomy and Python mailing list. People have been actually emailing on the list saying I've just released a new generalized package for astronomy. And after about the third email someone said, why don't we all work together? And
basically everyone did actually agree to that. We ended up getting together and working together to produce a generalized astronomy package. And not only was it graduate students and software engineers and astronomers from around the world,
but also included those software engineers and astronomers working on some of our biggest projects like the Hubble telescope and the Chandra X-ray Observatory. Since it's actually released, it's been used in over 10,000 publications, making it really widely available and widely used. But we do have, you know,
on the images from their recent paper of showing actually where it's being used and where it's available. And you can see it's all over the world. But along with that, the dots on the the graphic represent where the maintainers from the project are. Where the the people who have been contributing to the project. And they're spread out through both North America and Europe with some South American and and Global South
representation as well. And so I'm just going to pause again here and I'm going to put up another JWST early release image, which is the galaxy cluster SMAC0723. And this image
also has a lot of importance to me because when I was doing my PhD in astronomy, I studied objects which were very similar to this. Galaxy clusters are some of the largest, they are the largest gravitationally bound objects in the universe. They're the most massive objects having billions and billions of solar masses of
billion billions times more massive than our own Sun and are the largest collections of objects. And what you're seeing in this image is not only the galaxies which are part of this cluster, but you're also seeing the effects of general relativity. They're bending the light from the galaxies which are behind them. Only a few hundred million or billion years older than the the Big Bang and they're bending that light
due to the mass that the the mass of that galaxy is warping the space and time around it to focus those light on those background galaxies on us. And we're seeing that to those galaxies which are streaked and bent around it. These are the background galaxies around it.
And as I said during my PhD, I studied objects like this galaxy clusters. And when I was writing my PhD, I wrote code in C and in Perl and I would put it into a tarball and put it up on my my own personal website. And after I had gotten my PhD and moved down, I actually moved down to South Africa to work on a telescope there called the Southern African Large Telescope.
And I had to build a data management system for it. Except we had no resources. I was the only resource. And so I turned to the open-source software. I turned to free software to actually use a wide variety of resources to build a very, very cost-effective
data management system for it. And during, you know, and it actually helped make it one of the most productive 10-meter class telescopes. But during that time, it was when I was working down there when I received that email about Astropie. And it was, you know, this is my actual, even though I'd been releasing software, this is really my start into open-source software. Where it actually is
getting involved of a community of like-minded people who wanted to actually solve a similar problem. And it was really actually when I saw the potential of actually working together and sharing our software and how we did things, that I actually really saw the power of open-source software. you know, that's actually then, and if you told me about 10 years ago or so that I'd be here talking to you now
having actually worked in South Africa for a while and then moved on to work and manage the team that was developing the JFC calibration software. And now working at NASA, sharing open science across all of our different divisions and our and helping to further open the science.
I wouldn't have actually believed you if you told me that 10 years ago. That this is where getting involved in open-source would have actually eventually led me to. But I'm here now, and it's been actually really really fascinating to hear all the immense and fantastic open-source work which has been going on at this conference.
I just want to actually show, you know, going back to what NASA does. This is less than 1% of the the open-source used by NASA. This is just a basically NASA and the wide range of NASA projects is touching on just about every bit of open-source you can imagine. Likewise,
NASA and the people working at NASA release a huge amount of open-source. This is less than 1% of the open-source that's being released by NASA. And it's a wide range of different projects touching on both planetary science, astronomy, heliophysics, earth science, along with technology development and other aspects.
NASA loves to actually spin off the things that we're doing. NASTRAN was a program for engineering and fine element analysis developed in the 60s and released as public domain in the 70s. It now underlines, it still underlines a number of engineering codes which are out there and engineering software which is out there. But NASA loves to actually spin out our projects.
Another two examples of our spin-offs is OpenStack, which is underlying on-premise cloud computing. We still use this in our ADAPT supercomputer center and for our on-premise cloud computing, it's still often used. But with Rackspace, we've
handed this over to the community and to the wider community to further develop. OODT is a another program that was developed for data management and for handling files. Likewise, handed over to the Apache Foundation for that to be further developed to the community.
We're still, NASA is still a participant in it. NASA still uses some of this software. But we are now just a member of a much larger community which are using these different projects. But sometimes it's still important for us to actually take the lead and develop our software ourselves. And the JPL SPICE toolkit is an example of this. This is for spacecraft ephemeris,
planet, satellite, comet, or asteroid ephemerises, instrument information, orientation information, and events information. This is a software that you use if you want to know where a comet or an asteroid that you want to land on will be in 10 years. This is how we actually determine the positions and velocities of spacecraft, of planets, of other objects,
which are all moving throughout our solar system. This is, this software needs to be incredibly precise. If you get something wrong now and a very small amount and you try and land on your comet in 10 years, you will be nowhere close to it and you will have no hope of recovering. And so there actually is a very, very rigorous process to actually contribute and to actually make changes to this code.
It's made very slowly, very carefully, because once again, if you even get the floating points a little bit off or depending on even how the hardware works or specific hardware, you may get different results. And there is actually, and it was primarily originally developed in C and they did release some other
interfaces for it, and it is released as open source. Let's not openly develop currently. This is something funded by the planetary data system. And so there is actually regular support for it, and it's a great team that is currently further developing it.
But there's also wrappers that have been developed for it. Andrew Annex developed Spice Pie, which is a Python wrapper for this toolkit, and it's been used in a wide range of different missions. It's actually now used by 80% of all Spice users. It's been used in Cassini of the Mars
orbiter. It's very widely used in our range of different missions. But Andrew developed this when he was an undergraduate. He was working on the Cassini mission and probably like a lot of people, he just wanted to use Spice and Python. And at the time there wasn't a way to do it. And so he solved the problem. He developed and released it as open source software, and
everyone else started using it as well. And Andrew continued development for two years in his spare time while he was actually post his undergraduate and not even employed working on any of the missions. Fortunately enough, he did go back for his PhD, and he's now currently a postdoc at Caltech, so he's doing fine.
But even though it's actually so widely used, it wasn't actually clearly about how it was being funded or the limited recognition. For example, not very cited in the community, even though it's actually becoming so critical to many projects that were actually actively using it. And so that gets us to some of the challenges of NASA and open source.
And so, as I mentioned, one thing there was a good challenge of how do we actually go from something which is just being developed as someone trying to solve their own problem, but then ends up being widely used in the community? How do we actually develop that model?
NASA also contributes. People working at NASA also contribute to open source. Here's Leo Singer just last week contributing to an open source project because he needed to fix it and fix a bug in it to make it work for his use case. But oftentimes it's not actually very clear about how that actually works for the NASA employee or the person working at NASA.
And this is also not always very clear about also when we need to do things like sign contributor license agreements or other aspects, how that works. And so sometimes often people working on NASA will do it so they get it done, but it's not really clear about how they should be doing it.
There's also licensing at NASA. About 20 years ago, NASA created the NASA Open Source Agreement. And they're trying to solve a very specific problem. Civil servants, by US law, civil servants can't produce work that is copyrightable. Most open source licenses actually work based on copyright. And so if you're not allowed to produce something by
that's copyrightable, that you can copyright, you can't use a existing open source license to actually protect it. They came up with the, and there really wasn't much guidance in the US government at that time about open, about releasing as open source software.
And so they came up with actually a relatively innovative solution at the time, which is this NOSA license to actually enable civil servants to release their software as open source following this framework. Unfortunately, it wasn't widely recognized in the community. It is not recognized by the Free Software Foundation and it does complicate the reuse of NASA software.
We also have bureaucracy at NASA. NASA is a very large government agency. And sometimes even though NASA does have a process of releasing software and it's released over 500, officially released over 500 open source packages, the processes can be long.
We also not always best in engaging with the open source community. And here's a tweet from Daniel Steinberg about getting emails from NASA asking us, or asking him about the status of curl and whether or not it can be actually used in different ways.
And that's an additional burden for people who may be actually working on this in their volunteer time or not being paid. If we actually have to figure out if the software is secure or what the risks associated with that software are, that should be our responsibility. But actually how that works with the open source framework and open source communities can be actually different aspects.
But curl is actually something which is critical, especially to our data management systems. It's being used very widely across NASA. And how that actually comes into play and in different places ends up being something that we have to actually figure out how to actually resolve and actually make sure that the software that we're using is being used appropriately.
And I think, you know, there was a great talk earlier today on the security of software by Brian Bellendoff and that's going to be an ongoing question about how to answer that. And I always put up this XKCD comic on sustainability of open source software because it's better than if I could write
10 white papers and it won't have the same effect as this to actually indicate sometimes the problems and issues around sustainability. And that all of our open source systems, or maybe not all of them, but a lot of them do actually
develop or depend on a small number of developers who are actually maintaining it and keeping the code active and working. And there is actually, and there was a great talk yesterday on the sustainability of open source. And NASA does need reliable, secure software, especially for our space operations.
And so what are we doing for the next steps? And within the Science Mission Directorate, we've actually started up a new, a couple of new things to actually help with this and help address some of these challenges. We've recently set up the Chief Science Data Office, which I'm part of.
And as part of that, we've set up the Open Source Science Initiative. This is, one part of it is to help actually support open source software at NASA. The other part of it is also helping to extend open science across our, the entire mission directorate. And so what is open science? Open science is a principle and practice of making research products and processes available to
all while respecting diverse cultures, maintaining security and privacy, and fostering collaborations, reproducibility, and equity. And we really are focused on increasing accessibility, reproducibility, and inclusion when we're actually working on open science across NASA.
But within SMD, we want to take that a step further. And this is why we started the Open Source Science in Practice. We definitely want to take, not only just make our products openly available, but we want to take the processes of science and open those up in much of the way of open source software development. We want to open the entirety of the scientific process from start to finish.
We want to broaden community involvement in the scientific process, increase accessibility of our data, software, and publications, and facilitate inclusion, transparency, and reproducibility of science. And so with the NASA's Open Source Science Initiative, we have, it is
supporting scientists to integrate open science principles into the entirety of their research workflow. The NASA's OSSI is $20 million per year, and we're hoping to actually increase that further, effort to increase open science across NASA. We have four areas that we're mainly focusing on, which is infrastructure, policy, funding, and community.
I'm going to touch on some of the work that we're doing in these three, at least the three different areas. And so one thing is new policy. And so last month, we've released the SMD's new policy on scientific information. We want to make things as open as possible, as restricted as necessary, and always secure.
And this new policy says that our publications, the research which is done and funded by NASA, are made openly available with no period of embargo. That our research data and software are shared at the time of publication. That they are made openly so that you can reproduce the science which is actually being done from our work.
And that you're able to actually also then reuse that science to actually build on it. That our mission data are released as soon as possible and freely available. And that free is actually both in, free as in beer. There's no charge to actually using our data.
We make it free to download, free to access that data. And there's no charge, or there's no, and free as in speech, as there's no restriction in what you can do with that data. And so that you can actually go and do whatever you want with the data we release. And that that data will be released under a Creative Commons Zero license.
So it's in, clearly in the public domain for everyone. That our unrestricted mission software is developed openly. We've learned these lessons from JWST that having that software available for everyone to actually be able to both have access to it and also reuse it improves how science is done. That we recognize software as a scientific product.
Our software is just as critical to our research. And that we'll be using these common open source licenses like Creative Commons Zero for our data. And permissive commonly used software licenses for our software like Apache, BSD, or MIT licenses. And we encourage using and contributing to open source software as part of our missions and our research.
We're actually going to be also releasing further policies and updating further processes to make it easier for NASA employees and NASA people being, working with NASA to contribute, release, and use open source software.
So there's more coming to make it easier. The other thing is we're directly funding open source software, especially in the scientific environment. Over the last two years we've selected over 16 proposals supporting 22 different projects which we're providing direct support to. This call was specifically for sustainability.
We weren't asking for anything new. We weren't asking for new features or new products. What we were asking was please make sure this software works as best as you can. And that's sustainable. That we can actually continue to use this. And we've supported this with over three million dollars so far.
We're also, and this is the next thing that we're kicking off this year, is NASA's transform to open science. There's some stickers that already I think have disappeared very quickly. But the NASA TOPS effort is a 40 million five year mission to accelerate adoption of open science. We're aiming to train 20,000 researchers to earn a NASA open science badge and certification which includes how to open source your software.
We want to double the participation of historically excluded groups across NASA science. And we want to enable five major scientific discoveries through open science principles. And we're going to do this through engagement, capacity sharing, incentives, and coordination across the community.
We're also following our own advice here. Everything that we're doing with this project is going to be open sourced on GitHub so that community members can contribute it. And we're kicking this all off with a year of open science of 2023. And this is the start of the project.
As I said, it's all going to be up on GitHub. Definitely please check it out and please engage with the community. But we're also not the only U.S. government agency contributing to the year of open science. Last month the White House did actually announce that 2023 would be a year of open science.
And there's going to be more stuff being announced by other U.S. agencies as well. And we hope actually as many of you who are open and interested in science also take step four to actually make your science and your results more open as well. And so we wanted to also talk about the opportunities for NASA and for using open science.
And one of the most important things that we do and one of the most important aspects of or most immediate aspects of the Science Mission Directorate is our contributions to the Earth. Of studying the huge impacts of climate change, about how that will affect our future, issues around environmental justice, and other issues.
And the way we are supporting it is that we do make all of our NASA data open. We have over 70 petabytes of data which is available in the cloud and even more that's available in different systems that are open for you to use in any way that you like to help address these questions.
We have open APIs to these data sets which is all developed on NASA GitHub and provided as open access to the wider community. We are and making these available to users around the world to those who actually need the data and most impacted by it.
And there's actually I know there's a big session here on the environmental impacts and there's a great talk this morning on and I wanted to share one of the examples from NASA. Which is the power project. It provides solar and meteorological data sets for NASA research for supporting renewable energy and building energy efficient and agricultural needs.
We have made all the data freely available. We've also partnered with AWS to make the data freely available on there so that you can have access to this almost one and this data set to actually develop the apps, to build the open source tools on top of this, to actually use it in different ways that you can.
To actually answer some of the toughest questions that we have around climate change and our environment. But we're also putting actually another five petabytes of data openly available on AWS and we're also looking to provide it on other cloud providers as well. So that the data is there where you need it and where you can use it. And so we're actually looking to actually put our data in places where it's most useful and
to partner with as many different groups that we can to actually put that data in useful places. And this is only actually the start. It's coming up next is our earth system observatories which we're doing in partnerships with the European Space Agency and JAXA. They're actually going to give even a closer view of the climate effects on earth.
And actually a better study of how these different effects both on changing our surface, changing our world, changing our climate and our different particles. These are going to produce over 600 petabytes of data. And we're going to make this all freely available and accessible to the world to be able
to actually access it and look at it and build things on it to answer these questions. And so we also have a lot, as I mentioned, NASA has released already a lot of open source software. We have a number of different ways to discover what may actually be out there. Code.NASA.gov is our site for our open source software at NASA. It has over 500 projects which have been officially released.
We also have just released the science discovery engine. This is actually a system to actually explore both all of our different data sets, software and technical documents across all of the science mission directorate.
It has a listing I think currently of about 44,000 different pieces of software that have been released by different NASA researchers and missions. We have the NASA software catalog. We also have the NASA GitHub which has over 500 repositories on it. But we also have all the different partners which are on GitHub. JPL has their software on GitHub.
Space Telescope has the JBC and the Hubble software on GitHub. There's also a lot of other people who have posted their own NASA research software around there. We also have the astrophysics data service. And you can also search the software heritage archive which is archiving a lot of software across a wide range of different domains.
And so we're really actually looking ahead at the really big challenges and trying to answer the big questions. Here's the DART mission which earlier this year impacted on an asteroid on Daphmoraphus which is
circling around another asteroid to actually detect to see if we could actually change its trajectory. If we can actually change the trajectory early enough of an asteroid, we can hopefully make sure that it deflects and avoids the Earth by using, for example, the SPICE toolkit to actually study where it's actually going to be moving and predicting it. And hopefully, ideally, protect the planet and avoid the same fate as the dinosaurs.
But obviously this is all building and this wide range is building off a wide range of open source software. And so we do need more people. We need more hands and more eyes and more brains with the diverse experiences to participate so we can ask the best questions and find the best solutions.
And so someone had asked me on Macedon what would be the best way or how you can contribute to NASA open source and I wanted to actually share some of the different aspects. And so you can contribute directly to NASA open source code. It's available on GitHub. You can contribute to the open source software that's maintained by our partners at JPL or at Space
Telescope or at the NASA Impact Project or the NASA Development Project or a wide range of different sources or at ESA or at other groups that are actually contributing and answering scientific questions like CERN.
So you can contribute directly to the open source code. But you can also keep contributing, building and sustaining your code. So much open source that NASA is using. And so even just by participating in your own open source projects, you're contributing to the NASA mission.
And you can also come work with us. This can either be, you know, we're always hiring and also our partners and our contractors are always hiring and a lot of these are great places to work on open source. And so we also have great internship programs, especially at NASA and at JPL. And also always excited to have people come work with us or come work with our partners in Europe like the European Space Agency.
We're always looking for great technical talent to help make contributions and help build our missions. And to help address these major questions that impact humanity and to have
us help reach new heights and reveal the unknown for the benefit of humanity. And whether or not we're asking questions of protect and improve life on Earth and space and trying to address questions around climate change, address questions around planetary protection, around, questions around environmental justice, these are important questions that affect all of us.
Whether or not we're searching for life elsewhere, either searching for life in our own solar system on Mars or Europa or Venus or searching for life around planets orbiting around other stars. And we're trying to discover the secrets of the universe, trying to understand general relativity, trying to understand how our universe, our earliest galaxies have formed, trying to understand how black holes work.
These are all the types of questions that we're trying to answer here at NASA. And so I just want to stop there and I'm almost at the end of my talk, but just actually want to end it with a little bit of audience participation.
And so I do, if you did actually see during my talk software that you contributed to, can you raise your hand? So I mean during my talk I could only show about 1% of the software out there. So if you actually know you actually contributed to some NASA software out there or that's used by ESA or someone else, can you raise your hand?
And you can see how many people are contributing to it. As I said, there is even that wider range of software which is out there and doing open source also means actually like being part of the community which is actually developing guidance, developing licenses,
growing the community, mentoring the community. And so if you're taking part in actually growing the open source community and governing the open source community, can you raise your hand? And so if you've been working on licenses and mentoring and inclusion.
And for everyone else, for those who actually want to contribute, who want to actually help us explore the universe and help reveal the unknown. And so for all of you who are building, oh, I had one last one which was for those who helped volunteer and organize this conference so I could take my moment to share NASA's message with everyone.
Can you raise your hands for all those who volunteered because you're also helping with NASA's mission.
And so for everyone who raised your hand, I just really do want to say thank you for all of your contributions. Thank you for helping us out and for those who will contribute in the future to open source and other projects, thank you for your future contributions.
Thank you very much everyone.