Why NASA Thinks GitHub Can Help Us Settle in Space
Open source work is helping the space agency pursue its more aggressive projects
GitHub, a hosting service for source code, is the tech world’s grandest bazaar, a repository of shiny lines replete with functionality tools, that now boasts over 9 million users. Over seven years, GitHub has evolved from a killer app for software developers, to an essential tool — one that’s not just for techies. Witness the list of speakers and participants who came to this week’s GitHub Universe. The two-day conference featured engineers, designers, product managers, and more from companies and institutions of all kinds — like General Electric, Pixar, Etsy, John Deere, Ford Motor Company, One Medical Group, and the Detroit Water Project.
Still, the most interesting institution that uses GitHub is NASA. Billion-dollar federal agencies don’t normally gravitate towards sites designed to disseminate knowledge. But, then again, NASA is unusual. Exploring space needs to be a group effort.
The sector of NASA most enthusiastic about using GitHub is the Solar System Exploration Research Virtual Institute (SSERVI), housed under the Ames Research Center at Moffett Field in Sunnyvale. These are the scouts looking for humanity’s next hub. Yvonne Pendleton, the director of SSERVI, spoke with Inverse about why GitHub has become a valuable tool for SSERVI.
For those unfamiliar, can you describe the research and institutional goals of SSERVI, and how you and your colleagues are pursuing them?
SSERVI research is focused on scientific studies relevant to human destinations, such as the moon, near-Earth asteroids, [the Martian moons] Phobos and Deimos…. The Institute is funded jointly by NASA’s Human Exploration and Operations Mission Directorate (HEOMD) and Science Mission Directorate (SMD) to bring science to bear on issues related to potential targets for human exploration.
As a virtual institute, we can operate more efficiently than a bricks and mortar institute and distribute more resources to our research teams. We currently have over 300 researchers located here in the U.S., along with nine international teams participating on a no-exchange-of-funds basis. SSERVI scientists engage in inter- and intra-team collaborations, attend seminars, workshops and meetings, primarily in virtual space.
What’s the role of GitHub at SSERVI? How is it used, and it what ways does it facilitate or improve the work SSERVI does? Are there any specific examples you can share?
SSERVI has just recently been introduced to GitHub, but it is being used by one of the programs we manage, the Lunar and Planetary Mapping and Modeling Portal (LMMP) designed for mission planners, planetary scientists, students, and the public to explore planetary surfaces. The role of GitHub is expanding elsewhere at NASA as well.
Do you anticipate the role of GitHub at SSERVI will continue to expand, and if so how? What about elsewhere at NASA?
Yes, NASA’s Office of the CIO is is actively engaged with other federal agencies on common software standards/policies and promotes use of GitHub.com. The Federal Government Dashboard of GitHub usage is available to read here.
NASA currently has approximately 80 public and private repositories in the NASA organization, consisting of mostly open source projects. Currently we are using private GitHub.com repositories, which are key to NASA/Academia partnership collaboration. NASA’s Open-Source-Catalog repository drives the “code.nasa.gov” site content and promotes community software engagement.
NASA is spearheading an agency-wide prototype at developer.nasa.gov, which just kicked off at the end of fiscal year 2015. The Agency-based system aims to bolster internal software collaboration across the agency.
Ongoing and upcoming code-sharing activities at NASA include looking at federating existing code repositories, adding meta-info to projects to allow better re-use and discovery and improve software release efficiency, and customizing GitHub Enterprise to provide automated user feedback notifications and custom data collection with repository creation.