Open Source Development at NASA

| This post complements a presentation given at the 2011 NASA IT Summit entitled A Case for Bi-lateral Open Source Development: The Nebula Story and Key Findings from the Open Source Summit.  Although written by an attorney, this post is not legal advice or analysis and should not be taken as such. NASA has a special [...]

This post complements a presentation given at the 2011 NASA IT Summit entitled A Case for Bi-lateral Open Source Development: The Nebula Story and Key Findings from the Open Source Summit.  Although written by an attorney, this post is not legal advice or analysis and should not be taken as such.
NASA has a special association with the principles of openness and transparency characteristic of the open source software movement.  Signed into law on July 29, 1958 by President Eisenhower, the National Aeronautics and Space Act created NASA and charged it with, among other things, providing for the widest practicable and appropriate dissemination of information concerning its activities and the results thereof.  Manifestations of this duty can be observed across all of the Agency’s mission and business functions, from high resolution photography and reports on planetary discovery to financial transparency and independent oversight.
A particularly direct form of this transparency can be seen in NASA’s efforts to release open source software.  In 2003, NASA published a report assessing the formal barriers to distributing NASA software as open source and reviewing the state of open source licenses.  Subsequently, NASA developed an open source license and changed relevant policies to permit the release of NASA software under this license.  Several projects have since taken advantage of this work by releasing their code as open source.
NASA World Wind, a 3D interactive world viewer and winner of the 2009 NASA Software of the Year award, stands out as a shining example of the potential impact of open source NASA software.  Used by citizens, scientists, and organizations such as the European Space Agency, the Japan Aerospace Exploration Agency, PEMEX (Mexico Petroleum Company), General Dynamics, World Bank, Sun Microsystems, IBM, Northrop Grumman, and the Government of Australia, World Wind has made a significant impact on increasing public access to geologic data.
These efforts have validated the benefits inherent to releasing open source software.  In furtherance of NASA’s open source efforts, we are currently working toward expanding our flexibility to engage in bazaar-style, bi-lateral open development where code is developed over the Internet in full view of the public from the outset.  This approach holds the promise of increased software quality, reduced development costs, accelerated software development cycles, reduced barriers for public-private collaboration, commercialization of Agency technology, and a higher rate of technology transfer both to and from NASA.
NASA’s first foray into this area was through the Nebula Cloud Computing project.  Nebula started as a software development effort in 2008 to create a private cloud computing platform utilizing free and open source software.  As a corollary of this architectural direction, the team set about releasing its software under free and open source licenses to engage a community in expeditiously advancing the state and capabilities of open cloud computing.  Towards this end, the Nebula project worked with policy makers and stake holders across the Agency to enable a construct wherein the team would be able to engage in ongoing public development of the Nebula software under the Apache 2.0 license.  In this way, the project was able to work with other interested developers at an early stage, building the software alongside a diverse array of individuals and organizations.  After taking notice of NASA’s work in this area, Rackspace open sourced their Cloud Files platform.  This act provided the impetus for NASA and Rackspace to join their respective efforts under a common banner: OpenStack.  The ensuing public interest in OpenStack has been staggering, with nearly 1500 individuals and 110 organizations currently participating in some way to advance the project.
Given Nebula and OpenStack’s success, it became apparent that bazaar-style development held the potential for bringing significant value to NASA projects.  However, the Nebula experience illustrated that NASA’s open source policies favor the cathedral model of development where an isolated group of developers work on a project and release infrequent iterations at the conclusion of development cycles. To better understand NASA’s open source posture and to advance open development as a formal option for NASA developers, we held an Open Source Summit in March at NASA Ames Research Center.  This event brought together engineers, policy makers, and members of the open source community to discuss our existing open source policy framework and to chart a course toward bi-lateral open source development.  There were a number of key recommendations from the summit, among them:
  • Imbue an Open Source-First Culture.  Work to promote open source development and release in NASA software projects through project, budgetary, and organizational incentives.
  • Knock Down Barriers to Community. Clarify and reduce barriers to direct NASA participation in open source communities, governing boards, and related structures.  Clarify contributor license agreement requirements to facilitate code contributions to NASA projects.  Further, clearly describe restrictions and regulations which are peculiar to the government, such as the International Traffic in Arms Regulations.
  • Communicate. Highly visible communication about NASA’s open source process and projects along with community management and ongoing fora for discussion will increase awareness and help more projects explore open source options.  Activities like the summit, coding contests, hackathons, and similar events will highlight open source opportunities for internal and external parties.
  • Deprecate NASA’s License. The NASA Open Source Software Agreement was developed in 2003 as a means to enable public release of NASA source code.  This license received Open Source Initiative approval, but has been criticized for potentially hindering code reuse. In 2006, the Open Source Initiative issued a report on the problem of license proliferation identifying three consequences:
    1. the perception that there are too many licenses,
    2. difficulty arising from license incompatibility,
    3. and the expense of having to read and understand so many varied licenses.
  • Although the report excepts NASA’s license as necessary due to unique government constraints, Summit participants suggested that NASA should deprecate this license and re-license previously released software under a mainstream open source license.  Further, they suggested that NASA should approve a subset of mainstream licenses for NASA use and centralize guidance for license selection for new projects.
In the coming months, the Open Government team along with others throughout the Agency will work toward implementing these and other suggestions to expand the open source options available to NASA developers.  The benefits of bi-lateral open source development are undeniable, and NASA is uniquely positioned to inspire the public to directly participate in building the systems that will enable us to expand human knowledge of the Earth and propel us deeper into the recesses of space.

We welcome your comments if you are 13 or older, and hope that our conversations here will be polite. You are responsible for the content of your comments.

We do not discriminate against any views, but may delete any of the following:

In short: be nice and add to the discussion. If you continually violate this policy, we may limit your ability to comment in the future. If you have any questions or comments about this policy, please contact us.

  • http://twitter.com/jonverve Jon Verville

    Great post Gerty! Awesome chonicle of open source. I’m hoping you guys have great success with expanding those open source options. Bi-lateral would be *awesome*, but I think the IP thing is tricky….

  • http://www.HotelsForSaelnyc.com Hotels For Sale

    The Nebula experience illustrated that NASA’s open source policies favor the cathedral model
    of development where an isolated group of developers work on a project
    and release infrequent iterations at the conclusion of development
    cycles

  • Anonymous

    Great stuff here. Really looking forward to seeing true open source development models in use for NASA software.  I see NASA’s recently added a github account, would love to see that fleshed out.

  • Anonymous

    I am all for OpenData and Open.NASA.  But how does NASA being a government entity relate to how it “licenses” it’s data and software? What I mean is that, shouldn’t the things being “open sourced” be public domain, rather than licensed content? I agree that creating a license which is not widely recognized is not useful, that is the whole point behind Creative Commons. But are there cases where NASA is “over licensing” content that it shouldn’t because it is the content should be released into the public domain? Reference CC Salon in Jan 2011, Time segment 1:05:00 where Joi Ito talks about the issue. http://blip.tv/creative-commons/creative-commons-salon-mountain-view-what-does-it-mean-to-be-open-in-a-data-driven-world-4725230

    What prevents, or what reasons are there for not putting NASA’s data and software, which it releases, in the public domain? Is that not more open?

  • http://hugh.thejourneyler.org/2011/comment-on-open-source-development-at-nasa/ Comment on Open Source development at NASA « The Journeyler

    [...] Comment on Open Source development at NASA Published on December 12, 2011 in Opensource. 0 Comments Tags: Government, license, licensing, NASA, Open Source. A comment on: http://open.nasa.gov/blog/2011/09/08/open-source-development-at-nasa/ [...]

  • http://open.nasa.gov/blog/2011/12/23/nasa-on-github/ NASA on GitHub – open.NASA

    [...] As we have mentioned before, NASA has been working on open source for some time. To continue, encourage, and highlight open source NASA projects, the Open Government team today is pleased to announce NASA’s presence on GitHub, the web-based social code host and revision control application. Our first public repository houses NASA’s popular World Wind Java project, an open source 3D interactive world viewer. In addition, we are actively reaching out to other open source software projects within NASA and encouraging them to make use of this and similar resources. We hope that highly visible and coordinated hosting of projects will stimulate development and awareness. [...]

  • http://hanhtrangduhoc.edu.vn/ Du hoc Anh

    That is really cool of open source for NASA! Hope it will make NASA growing up more in the future.

  • http://hanhtrangduhoc.edu.vn/ Du hoc Anh

    That is really cool of open source for NASA! Hope it will make NASA growing up more in the future.

  • Hưng Nguyễn

    i love nasa

  • john david

    Great NASA…