For Good First Issue is a curated list of open source projects that are also digital public goods and need the help of developers.
“Any rich nation can build a space telescope, but only a great nation gives its information away to the world to be used for the common heritage and betterment of mankind.” – Barbara Mikulski, former Maryland State Senator
Open source is the backbone of some of the greatest human achievements in technology. There’s a quiet power to open source communities and the contributors that power them. A developer never really truly knows how the code they are building will impact the broader technology ecosystem, but they know it’s likely to positively impact someone, somewhere. This ethos of sharing and contributing and never expecting a pat on the back is what makes open source and its contributors special, and is why it’s all the more exciting when a developer learns that that one contribution they made on a regular weekend has impacted something like flying a helicopter on Mars.
Just last month, we saw the long-awaited liftoff of NASA’s James Webb Space Telescope (JWST). We wanted to take a moment to celebrate NASA’s achievement and all the agencies involved, but also to take a step back and reflect on how open source has gradually become a key partner to scientists and astronomers alike.
We spoke with Arfon Smith, a Director of Product Management here at GitHub, about the relationship between open source and the space science community, his personal and professional experience (spoiler: he used to be a science evangelist here), along with some tips on how developers can start contributing to the next great space achievement.
Q: First things first, can you tell us a little bit about yourself?
Many years ago, I was a PhD student at the University of Nottingham studying in the field of astrochemistry. Astrochemistry is the investigation of the chemistry of space, and in my case was the study of the structure of the interstellar medium (the stuff from which the stars and planets form). It was at this time that I started writing software (note, this is before GitHub existed) and began to see the role it could have in science. Whether it’s an individual researcher writing analysis scripts results for a paper, or trying to make sense of the immense amount of data from a mission like the Mars Reconnaissance Orbiter, all of this work can greatly benefit from the collaboration software development brings.
A desire to bridge the academic and software communities eventually brought me to GitHub, where I served as a science evangelist/liaison. My goal was to support researchers and academic work on the platform, as well as help them better amplify their work and integrate with other relevant open source communities. This work is still something I’m passionate about and help support here at GitHub – for example, we recently launched citation support that allows for academics and researchers to get better credit for their work.
I left GitHub after a few years (but of course, I’m now back) to run the Space Telescope Science Institute’s data archives, overseeing the institute’s data management and data science operations for such missions as the Hubble Space Telescope, Kepler, TESS, and yes, the James Webb Space Telescope. For me, this was my first opportunity to influence how software impacted NASA’s flagship missions and be part of the evolution of space agencies becoming more comfortable with open source.
Q: How is open source software used in missions, like JWST?
Open source software powers a lot of the tools that astronomers use, and more often than not, Python is the programming language of choice. Like many technical fields, Python (and the associated scientific Python ecosystem) has exploded in popularity in the astronomical sciences over the past decade, and projects like Astropy have been instrumental in this change. Learn more about Astropy on The ReadME Project.
It’s also important to note that missions, like JWST, don’t happen in a few years. In the case of JWST, the mission has been in development for more than 20 years, and it’s really only in the last five or so years that open source even came into the picture for JWST. NASA has a strong history of sharing data with the world – that’s why you can browse the archives, and reuse data for essentially any purpose without restrictions (including putting an image on a shirt and selling it). What’s different about JWST, is that over the past few years, open source has become the easiest way for a global community of astronomers to collaborate on building the best possible tools for JWST science.
Whether it’s the core data pipeline that turns raw images into science-ready data, simulation tools to help astronomers understand how to best use the telescope, or the tools that astronomers will use to make new discoveries, open source is at the heart of all of this innovation.
Q: As we saw with the number of developers who contributed to the software NASA used in Ingenuity’s first-ever powered flight on another planet, space science is a truly global effort. How has open source helped enable global collaboration between researchers and agencies around the world?
While historically there was some hesitation in government agencies such as NASA about working openly, the expectations of the communities they support means that this is rapidly becoming the new normal. Of course, this change didn’t happen overnight and took a lot of convincing for these agencies to be comfortable with sharing software, or using open source tools. For NASA though, the change looks unstoppable, and the recently announced Transform to Open Science (TOPS) initiative builds upon a whole set of policy changes around open source and open data over the past decade.
More generally, groups like 18F within the GSA, and the USDS are really at the forefront of driving improvements in how agencies across the US government leverage technology, often with open source at the heart of these solutions. The GitHub Government site is a great resource for finding government agencies at the national, state, and local level who are part of this broader change globally.
It’s encouraging to see the expansion of both open source usage and best practices in space science. There’s so much that researchers, students, and scientists can benefit from having access to what these agencies are building. NASA is particularly leading the charge here in its open source policies, but you can check out other space agencies on GitHub here:
Q: What open source projects/communities are you a part of?
Outside of working in and around software for so many years, my biggest contribution to open source is founding the Journal of Open Source Software back in 2016. Run on GitHub, this project is designed to help academics and researchers publish software to get reviews from peers to ensure the software is ready for general consumption (essentially an academic pull request plus some integrations with the academic ecosystem) and is open to all areas of research.
This is a pure passion project for me, and the project has published more than 1,500 papers in the last five years. The journal currently has roughly 70 editors that work on a volunteer basis, and all reviews are done right in GitHub Issues. We’ve seen some of the papers that have come through go on to become highly-cited papers in the space science sciences, including Gala: A Python package for galactic dynamics, healpy: equal area pixelization and spherical harmonics transforms for data on the sphere in Python, dustmaps: A Python interface for maps of interstellar dust.
Q: If folks are interested in getting involved, what should they know? What projects should they explore?
There are so many great ways to get involved and start following along. Here are some places I’d recommend jumping in or even just places to start observing:
- Astropy (GitHub repo): community-coordinated open source tools for astronomy
- OpenAstronomy project: collaboration between open source astronomy and astrophysics projects to share resources, ideas, and to improve code
- HubbleSite: home to the Hubble Space Telescope
- Mikulski Archive for Space data archive @ STScI
- Live Hubble Space Telescope feed
- JWST homepage
Q: Last but not least, what are you hoping the JWST will find in its mission?
One of the exciting things about astronomy (and science in general), is that it’s often incredibly hard to predict what we might learn. One thing we know for sure is that because the observatory works in the infrared, this means astronomers will be able to probe very dusty places in space, such as where stars and planets form and watch this process happen in exquisite detail. Working in the infrared also means that astronomers will be able to look back further into the earliest phases of the birth of the Universe when the first stars and galaxies were forming (roughly 300M years after the Big Bang).
We should also expect to hear lots of exciting things about exoplanets (planets orbiting stars outside of our own solar system).