Suggested Searches

NASA Open Source Development

This page was originally published on April 23, 2015. It was updated on May 17, 2021.

about NASA Open Source Development

NASA continues to expand opportunities for the public to interact and engage with its missions and initiatives. NASA is a leader in the use of challenges and prize competitions within the federal government. We believe in the power of open innovation, specifically through incentive prizes, challenges, crowd-sourcing, and citizen science, to help address those problems in partnership with innovators from around the country and the globe. We seek to get the public involved in their space program and are creating opportunities regularly for broad engagement through our prizes, challenges and crowd-sourcing activities.

To continue, encourage, and highlight NASA open source activities, NASA continues to maintain a public repository on a popular web-based social code and revision control application. Integrated into our team’s core mission, we are actively reaching out to software projects within NASA and encouraging them to make use of this and similar resources for publishing open source. We hope that highly visible and coordinated hosting of activities will stimulate development and awareness and make the platform the default repository for new open source software releases.

Code

Open Source can bring numerous benefits to NASA software efforts, including increased software quality, reduced development costs, faster development cycles, and reduced barriers to public-private collaboration through new opportunities to commercialize NASA technology. This inherently transparent, participatory, and collaborative approach is revolutionizing the way software is created, improved, and used. Although open source release has already provided numerous benefits to NASA, the full benefits of open source can only be realized if NASA is able to establish the processes, policies, and culture needed to encourage and support open source development. This will require expanding open source activities beyond releasing software only after completion and finding new ways to support two-way collaboration with an open development community throughout the entire software lifecycle. NASA Open Source initiatives give the public direct and ongoing access to NASA technology. NASA’s adoption of open source helps lower the barrier to entry into space by enabling private industry to better make use of NASA investments.

NASA will continue to make new software available through the portal for NASA open source software, code.nasa.gov. It will also work to establish the processes, policies, and corporate culture to favor open source development. NASA launched its code directory code.nasa.gov in January 2012 as continues to publish open source projects through this portal. The website will continue to unify and expand NASA’s open source activities, serving to surface existing activities, provide a forum for discussing efforts and processes, and guide internal and external groups in open development, release, and contribution.

NASA uses multiple public, open source development repositories at SourceForge and GitHub to host NASA open source software releases. Visit NASA’s Open Source Code Catalog at code.NASA.gov

Data

NASA’s commitment to open data expands the audience for the vast body of knowledge captured in nearly 100 years of U.S. aeronautics and space data. Developers, technologists, entrepreneurs, citizen scientists and many others can contribute directly to the exploration of space and Earth by helping to create new ways of looking at this data. Additionally, the release of administrative and procedural information from within NASA enables researchers and analysts to understand more about the inner workings of NASA as well as allow our own employees to better understand other functions of our agency. NASA will continue to develop its authoritative data portal for NASA data with data.nasa.gov and leverage data.gov to enable users to locate relevant high quality data and easy to use tools and applications. The agency will also continue to encourage users to utilize raw datasets to perform analysis, experiments, and learning as well as to utilize the efforts of external developer communities who create applications relevant to NASA’s mission; and promote transparency, collaboration, and citizen engagement. 

Visit the Open Data Catalog at http://data.nasa.gov.

Open Source Agreements

NASA has used open source to address project and mission needs, to accelerate software development, and to maximize public awareness and impact of our research. The NASA Open Source Agreement (NOSA) is an Open Source Initiative (OSI) approved license to allow public release of NASA-funded software. Since 2003, we have released more than 60 software projects under the NOSA. Part of NASA’s charter (Space Act of 1958) is to “provide for the widest practical and appropriate dissemination of information concerning its activities and the results thereof.” Open source directly addresses this by facilitating rapid and wide dissemination of software with minimal overhead and cost.

To date, NASA’s use of open source has focused on two types of software release:

  1. Point release, which is infrequent release of completed software (subject to NPR 2210.1A).
  2. Continuous release, which is on-going, frequent release of software under development within well-defined bounds and periodic review (subject to NPR 2210.1A).

Recently, however, we have created the NASA Contributor License Agreement (CLA). The CLA allows code from third-parties to be incorporated for future release under NOSA. Moreover, we are starting to distribute released code via popular software forums (e.g., SourceForge), which makes NASA software more readily accessible to open-source developers. Finally, we are developing the capability to host source-code on NASA and public servers for software under development.

Although NASA and the public have already derived numerous benefits from open source release, the full benefits of open source can only be achieved if we establish the processes, policies, and corporate culture for open source development. In short, this means providing a path for non-NASA developers to contribute to on-going NASA projects in real-time. With recent innovations, such as continuous release and the CLA, NASA is ready to adopt policies and the processes needed to support such development.

How This Fits into Open Government

Open source development makes NASA more transparent by enabling the public to better understand what types of software NASA needs to fulfill its mission. The public can directly see how NASA software is designed, implemented, and improved. Open source development makes NASA more participatory by allowing the public to assist in NASA software development. Students, scientists, and programmers can directly contribute their expertise, skills, and work to NASA projects and missions. Open source development makes NASA more collaborative by providing an efficient and effective means to transfer software to, and from, NASA. This results in higher quality software and increased reuse of software for other purposes.

Useful Links