Open Source Software
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.
Open Source was a Flagship Initiative in version 1.0 of the NASA Open Government Plan, and NASA has already made strides in advancing its development at the Agency. In the past year NASA pushed forward open source development by:
- Establishing agreements that allow NASA open source to be hosted on SourceForge and GitHub, two of the most popular public hosting sites.
- Releasing software under multiple open source licenses including the NASA Open Source Agreement (NOSA) and the Apache 2 license.
- Starting the process to develop a Contributor License Agreements (CLA), which will enable third party contributions to be made to NASA open source projects.
- Experimenting with crowdsourced open source development.
code.nasa.gov
NASA launched an early alpha of its code directory code.nasa.gov in January 2012 as the latest member of the open NASA web family. 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.
In our initial release, code.nasa.gov is focused on providing a home for the current state of open source at the Agency, including guidance on how to engage the open source process, points of contact, and a directory of existing activities. In this way, NASA hopes to lower the barriers to building open technology in partnership with the public.
Phase two will concentrate on providing a robust forum for ongoing discussion of open source concepts, policies, and activities at the Agency. The third phase will focus on software tools to improve and speed open source development, including distributed version control, issue tracking, continuous integration, documentation, communication, and planning/management. During this phase, NASA will create and host a tool, service, and process chain to further lower the burden to going open. The ultimate goals include creating an awareness of open source development efforts at the Agency, creating a highly visible community hub that will infuse open concepts into the formulation stages of new hardware and software efforts, and help existing activities transition to open modes of development and operation – a “default open” agency.
Initiative goal:
To increase the number of organizations present on code.nasa.gov and deploying discussion forums. (1 year)
Collaborative Code Repository
To continue, encourage, and highlight open source NASA activities, NASA has created an initial public repository on a web-based social code host and revision control application. Our first public repository houses NASA’s popular World Wind Java activity, an open source 3D interactive world viewer. In addition, we are actively reaching out to other open source software activities within NASA and encouraging them to make use of this and similar resources. 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.
In parallel, the Agency has setup a pilot activity to test an Agency-wide private enterprise collaborative repository. The tool interfaces with its hosted repositories to provide developers and activity managers with tools for Team Management and Collaboration, Activity Wikis, Integrated Issue Tracking, Milestone Definitions, Advanced Searching, Code Review, and Branch Analysis. The tool also extends Social Interaction for the Developers through Activity Streams, Developer Profiles and Following, Code Exploration, Network Graphs, and a Fork Queue to merge changes on the web. This tool will promote developer collaboration, code reuse, knowledge capture, and transparency. Importantly, due to the nature of this source control system, users will be able to seamlessly move private efforts to public repositories if and when they clear the software release process, including all development history (if desired).
Initiative goal:
Implement a public and private collaborative code repository. (2 years)
Open Source Summit
NASA hosted its first Open Source Summit in March 2011 at Ames Research Center, setting the stage for the future of Open Source at NASA. The highly successful event brought together over 700 registered participants, 545 of them who participated online. The summit was an attempt at something new and revolutionary – reaching out to the public and actively involving them in an evolving conversation related to NASA’s mission.
Initiative goal:
Hold a second Open Source Summit in summer 2012. (1 year)
blog comments powered by Disqus