SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Open Source at NASA
A practitioner’s perspective …




                                                                  Terry Fong
                                                         Intelligent Robotics Group
                                                       NASA Ames Research Center
                                                                terry.fong@nasa.gov


irg.arc.nasa.gov
  Open Source at NASA – A practitioner’s perspective                             1
Why is Open Source good for NASA?
   More transparent
       •  Enables the public to better understand what software NASA needs to
          fulfill its mission & activities
       •  Enables the public to better understand how taxpayer dollars are
          being used

   More participatory
       •  Enables the public to assist in NASA software development
       •  Enables students, scientists, the general public, etc. to contribute their
          expertise and skills

   More collaborative
       •  Enables NASA to transfer technology efficiently and rapidly
       •  Enables NASA to more easily partner and work with others




 Open Source at NASA – A practitioner’s perspective                                    2
IRG Open Source Software

        Vision
                                                         GeoCam
    Workbench




                                                            Vehicle
 RoverSW
                                                            Detection




Neo Geography
                                                         RAPID
        Toolkit




    Open Source at NASA – A practitioner’s perspective              3
Vision Workbench (2006)
   Overview
       •  Modular, extensible, C++ computer vision framework
       •  Rapid development and flexible, multi-platform (Linux, OS-X, Win32)
       •  Supports science analysis, robot perception, image stitching, etc.




 Open Source at NASA – A practitioner’s perspective                             4
Vision Workbench (2006)
   Developers
       •    Government: NASA Ames Intelligent Systems Division
       •    Prime Contractor: QSS Group, Inc.
       •    University: Carnegie Mellon / Silicon Valley
       •    Non-Profit: Research Institute for Advanced Computer Science

   Key points
       •  Software library
          (continuous release / hosted on GitHub)
       •  Rapid, on-going development
       •  Supports numerous collaborations (funded & informal), interns, etc.
       •  Requires several external, open source libraries
          (OS licenses: Boost, MIT, BSD-like)
       •  Enhanced functionality with additional open source libraries
          (OS licenses: zlib/png, SGI, GPL2, etc.)



 Open Source at NASA – A practitioner’s perspective                             5
GeoCam (2007)




 Open Source at NASA – A practitioner’s perspective   6
GeoCam (2007)
   Developers
       •  Government: NASA Ames Intelligent Systems Division
       •  University: Carnegie Mellon / Silicon Valley
       •  Internship program: Education Associates

   Key points
       •  Software suite: smartphone apps, Web UI’s, server software, tools
          (continuous release / hosted on GitHub)
       •  Rapid, on-going development
       •  Supports developers, first responders, citizen groups, etc.
       •  Requires several external, open source libraries
          (OS licenses: BSD, BSD-like, MIT, NOSA)
       •  Enhanced functionality with additional open source libraries
          (OS licenses: Apache 2, BSD-like, LGPL3, MIT)




 Open Source at NASA – A practitioner’s perspective                           7
Neo-Geography Toolkit (2009)
   Overview
       •  Tools for geospatial data processing, automated map making, etc.
       •  Supports large-scale data (10-100 TB), cloud & super computing
       •  Import / export to geo-browsers & OGC standards (Web services)




 Open Source at NASA – A practitioner’s perspective                          8
NGT for “Moon / Mars in Google Earth”




 Open Source at NASA – A practitioner’s perspective   9
Neo-Geography Toolkit (2009)
   Developers
       •    Government: NASA Ames Intelligent Systems Division
       •    Prime Contractor: SGT, Inc.
       •    University: Carnegie Mellon / Silicon Valley
       •    Internship program: Education Associates

   Key points
       •  Software suite: libraries, processing pipelines & tools
          (continuous release / hosted on GitHub)
       •  Rapid, on-going development
       •  Supports numerous collaborations (funded & informal), interns, etc.
       •  Requires several external, open source libraries
          (OS licenses: Apache 2, BSD, GPL 3, ISIS 3, LGPL 2.1, MIT, NOSA)




 Open Source at NASA – A practitioner’s perspective                             10
RAPID (2009)
    Overview
        •  “Robot Application Programming Interface Delegate”
        •  Standardized programming interface (API) for robot software
        •  Messaging & data distribution for NASA robots & user interfaces

 RAPID                                       RAPID             RAPID




                                                        API
                 API




                                                                             Robot
Workbench                                  Middleware          Bridge




  Open Source at NASA – A practitioner’s perspective                                 11
RAPID (2009)
   Developers
       •    Government: NASA Ames (Code TI) & Johnson (Code ER)
       •    Prime Contractor: SGT, Inc.
       •    Subcontractor: TRACLabs, Inc.
       •    Non-Profit: Research Institute for Advanced Computer Science

   Key points
       •  Software suite: libraries, user interface, reference implementation
          (hosted on SourceForge)
       •  Facilitates basic research & collaboration worldwide (does not require
          SUA / other agreement that would be extremely difficult to execute)
       •  De-facto NASA robotics open standard




 Open Source at NASA – A practitioner’s perspective                                12
RoverSW (2010)
   Overview
       •  Service-oriented robotics software architecture
       •  Designed for NASA-relevant research robots
       •  Software framework + composable modules




 Open Source at NASA – A practitioner’s perspective         13
RoverSW on the K10 Planetary Rover




                                                      VIDEO
 Open Source at NASA – A practitioner’s perspective           14
RoverSW (2010)
   Developers
       •    Government: NASA Ames Intelligent Systems Division
       •    Prime Contractor: SGT, Inc.
       •    University: Carnegie Mellon / Silicon Valley
       •    Non-Profit: Research Institute for Advanced Computer Science

   Key points
       •  Software library
       •  Facilitates collaboration with others worldwide & interns
       •  Enables third-parties (e.g., small businesses) to test without SUA
       •  Requires several external, open source libraries
          (OS licenses: BSD, BSD-like, LGPL 2.1 & 3, MIT, NOSA)
       •  Enhanced functionality with additional open source libraries
          (OS licenses: BSD-like, NOSA)




 Open Source at NASA – A practitioner’s perspective                            15
NTL “Vehicle Detection” (2011)
   NASA Tournament Labs (NTL)
       •  Collaboration between NASA, Harvard Business School & TopCoder
       •  Crowd-source NASA software through programming contests
       •  Winning solutions will be released as NASA open source

   Vehicle Detection Challenge
       •  First contest: three-weeks (Jan 28-Feb 18, 2011)
       •  Automatically classify aerial images that contain a vehicle
       •  139 competitors from around the world




                     http://community.topcoder.com/ntl
 Open Source at NASA – A practitioner’s perspective                        16
IRG Open Source Software
   Common characteristics
       •  Developed by multi-org workforce, not just civil servants
             ➯  Have to consider contract clauses & other concerns (Bahy-Dole rights)
       •  On-going, rapid development
             ➯  Intermittent point releases are not appropriate
       •  Intended to support & facilitate collaboration
             ➯  Must be easy to adopt (e.g., licensing should not get in the way !)
             ➯  Must be easy to access (e.g., hosted on popular sites, not NASA site !)
       •  Wide range of users (individuals, companies, non-profits, etc.)
             ➯  Barrier to entry must be as low as possible (licensing, access, paperwork)
       •  Built upon other open source libraries
             ➯  May restrict how software is released or what license is used




 Open Source at NASA – A practitioner’s perspective                                          17
Open Source Release Process*
                                                                                * From a developer’s perspective
            Fill-out release forms                   Submit           Release meeting               Release approved
                NF1679 (invention disclosure)       release              SW briefing
DEVELOPER




                Software release request            forms                Q&A
                List of external libraries
                 (and their licenses)
                NPR 7150.2 matrix




            Month             1                  2                3                      4            5          •••
AUTHORITY
SOFTWARE




                                    Initial reviews                                 Final reviews
 RELEASE




                                        Export review
                                        External library licenses
                                        Collect copyright assignments
                                        etc.


            Open Source at NASA – A practitioner’s perspective                                                     18
Lessons Learned: Potential Bottlenecks
   Copyright assignment
       •  Multi-org workforce: civil servants, contractors, interns, universities
       •  Can take long if non-NASA organizations unfamiliar with process

   Export control
       •  Can take long if software is difficult to categorize
       •  Can take long if software has possible ITAR characteristics

   External licenses
       •  Must carefully distinguish between "required" and "optional”
       •  Review can take long (no central database of reviewed licenses)

   508 compliance
       •  NASA workforce (especially researchers) not trained for ensuring this

   SE compliance
       •  Open source software is not (usually) designed with this in mind
          (can be at odds with agile development methods …)
 Open Source at NASA – A practitioner’s perspective                                 19
Towards Open Source Development
   What makes NASA different ?
       •    Taxpayer-funded federal institution
       •    Culture (engineering driven, minimize risk, etc.)
       •    Mixed workforce (civil servants, contractors, etc.)
       •    Unique, highly-specialized software
       •    Non-competition with commercial sector




 Open Source at NASA – A practitioner’s perspective               20
Development Use Cases
   Point release
       •  Infrequent release of completed software (traditional model)
       •  Internal development by NASA workforce

   Continuous release
       •  On-going, frequent release of software under development
       •  Done only within well-defined bounds and with periodic review
       •  Internal development by NASA workforce

   Community development
       •  On-going, joint development to common code base
       •  NASA workforce (official duties) & volunteers

   Crowd-sourcing
       •  Rapid development at hackathons
       •  Result of programming contests (e.g., NASA Tournament Labs)
       •  May / may not have NASA workforce involved (official duties)

 Open Source at NASA – A practitioner’s perspective                       21
(Some) Issues
   How can we improve the NASA OS release process?
       •  How to make it faster & more efficient?
       •  How to make it more consistent across the agency?
       •  How to make it easier for practitioners?

   How can we improve licensing?
       •  Under what circumstances is NOSA (still) useful?
       •  What is needed for NASA to be able to use a suite of licenses
          (Apache 2, GPL 3, etc.) for release?

   How can NASA engage in community development?
       •  What is needed for third-party contributions?
       •  What is needed for crowd-sourcing?
       •  What can we do in the near-term?




 Open Source at NASA – A practitioner’s perspective                       22
Questions?




                                   Intelligent Robotics Group
                                     Intelligent Systems Division
                                    NASA Ames Research Center

                                           irg.arc.nasa.gov



 Open Source at NASA – A practitioner’s perspective                 23

Weitere ähnliche Inhalte

Ähnlich wie NASA Open Source Software Perspective

An Introduction to Open Source Software and Web Application Development
An Introduction to Open Source Software and Web Application DevelopmentAn Introduction to Open Source Software and Web Application Development
An Introduction to Open Source Software and Web Application Developmenttrevorthornton
 
Planets, OPF & SCAPE - presentation of tools on digital preservation
Planets, OPF & SCAPE - presentation of tools on digital preservationPlanets, OPF & SCAPE - presentation of tools on digital preservation
Planets, OPF & SCAPE - presentation of tools on digital preservationSCAPE Project
 
Achieving Visibility and Insight across OpenStack Projects.ppt
Achieving Visibility and Insight across OpenStack Projects.pptAchieving Visibility and Insight across OpenStack Projects.ppt
Achieving Visibility and Insight across OpenStack Projects.pptOpenStack Foundation
 
zAgile for OpenStack Summit - v2-3.ppt
zAgile for OpenStack Summit - v2-3.pptzAgile for OpenStack Summit - v2-3.ppt
zAgile for OpenStack Summit - v2-3.pptOpenStack Foundation
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentationJavier Perez
 
Free remote sensing and GIS data
Free remote sensing and GIS dataFree remote sensing and GIS data
Free remote sensing and GIS dataNopphawanTamkuan
 
Onos summit roadmap dec 9
Onos summit  roadmap dec 9Onos summit  roadmap dec 9
Onos summit roadmap dec 9ONOS Project
 
[OpenStack Day in Korea 2015] Keynote 1 - OpenStack Mission Update
[OpenStack Day in Korea 2015] Keynote 1 - OpenStack Mission Update[OpenStack Day in Korea 2015] Keynote 1 - OpenStack Mission Update
[OpenStack Day in Korea 2015] Keynote 1 - OpenStack Mission UpdateOpenStack Korea Community
 
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 Openstack - An introduction/Installation - Presented at Dr Dobb's conference... Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...Rahul Krishna Upadhyaya
 
OpenNaaS Overview Complete
OpenNaaS Overview CompleteOpenNaaS Overview Complete
OpenNaaS Overview CompleteJoan Garcia
 
Research software susainability
Research software susainabilityResearch software susainability
Research software susainabilityDaniel S. Katz
 
Openstack – An introduction
Openstack – An introductionOpenstack – An introduction
Openstack – An introductionMuddassir Nazir
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)NETUserGroupBern
 
Know thy logos
Know thy logosKnow thy logos
Know thy logosVishal V
 
Using Open Source for Enterprise
Using Open Source for EnterpriseUsing Open Source for Enterprise
Using Open Source for EnterpriseEric Fesler
 
Towards Reusable Research Software
Towards Reusable Research SoftwareTowards Reusable Research Software
Towards Reusable Research Softwaredgarijo
 
"Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications""Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications"Pinar Alper
 
Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...
Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...
Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...Paolo Corti
 

Ähnlich wie NASA Open Source Software Perspective (20)

2011 NASA Open Source Summit - Patrick Hogan
2011 NASA Open Source Summit - Patrick Hogan2011 NASA Open Source Summit - Patrick Hogan
2011 NASA Open Source Summit - Patrick Hogan
 
An Introduction to Open Source Software and Web Application Development
An Introduction to Open Source Software and Web Application DevelopmentAn Introduction to Open Source Software and Web Application Development
An Introduction to Open Source Software and Web Application Development
 
Planets, OPF & SCAPE - presentation of tools on digital preservation
Planets, OPF & SCAPE - presentation of tools on digital preservationPlanets, OPF & SCAPE - presentation of tools on digital preservation
Planets, OPF & SCAPE - presentation of tools on digital preservation
 
Achieving Visibility and Insight across OpenStack Projects.ppt
Achieving Visibility and Insight across OpenStack Projects.pptAchieving Visibility and Insight across OpenStack Projects.ppt
Achieving Visibility and Insight across OpenStack Projects.ppt
 
zAgile for OpenStack Summit - v2-3.ppt
zAgile for OpenStack Summit - v2-3.pptzAgile for OpenStack Summit - v2-3.ppt
zAgile for OpenStack Summit - v2-3.ppt
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentation
 
Free remote sensing and GIS data
Free remote sensing and GIS dataFree remote sensing and GIS data
Free remote sensing and GIS data
 
Onos summit roadmap dec 9
Onos summit  roadmap dec 9Onos summit  roadmap dec 9
Onos summit roadmap dec 9
 
[OpenStack Day in Korea 2015] Keynote 1 - OpenStack Mission Update
[OpenStack Day in Korea 2015] Keynote 1 - OpenStack Mission Update[OpenStack Day in Korea 2015] Keynote 1 - OpenStack Mission Update
[OpenStack Day in Korea 2015] Keynote 1 - OpenStack Mission Update
 
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 Openstack - An introduction/Installation - Presented at Dr Dobb's conference... Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
Openstack - An introduction/Installation - Presented at Dr Dobb's conference...
 
OpenNaaS Overview Complete
OpenNaaS Overview CompleteOpenNaaS Overview Complete
OpenNaaS Overview Complete
 
Research software susainability
Research software susainabilityResearch software susainability
Research software susainability
 
Openstack – An introduction
Openstack – An introductionOpenstack – An introduction
Openstack – An introduction
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)
 
Know thy logos
Know thy logosKnow thy logos
Know thy logos
 
Using Open Source for Enterprise
Using Open Source for EnterpriseUsing Open Source for Enterprise
Using Open Source for Enterprise
 
Towards Reusable Research Software
Towards Reusable Research SoftwareTowards Reusable Research Software
Towards Reusable Research Software
 
"Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications""Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications"
 
Open sourcery
Open sourceryOpen sourcery
Open sourcery
 
Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...
Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...
Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...
 

Mehr von NASA Open Government Initiative (9)

Nasa at i_co_p_aug2011 2
Nasa at i_co_p_aug2011 2Nasa at i_co_p_aug2011 2
Nasa at i_co_p_aug2011 2
 
2011 NASA Open Source Summit - Pascal Finette
2011 NASA Open Source Summit - Pascal Finette2011 NASA Open Source Summit - Pascal Finette
2011 NASA Open Source Summit - Pascal Finette
 
2011 NASA Open Source Summit - Chris DiBona
2011 NASA Open Source Summit - Chris DiBona2011 NASA Open Source Summit - Chris DiBona
2011 NASA Open Source Summit - Chris DiBona
 
2011 NASA Open Source Summit - Brian Stevens
2011 NASA Open Source Summit - Brian Stevens2011 NASA Open Source Summit - Brian Stevens
2011 NASA Open Source Summit - Brian Stevens
 
2011 NASA Open Source Summit - David Wheeler
2011 NASA Open Source Summit - David Wheeler2011 NASA Open Source Summit - David Wheeler
2011 NASA Open Source Summit - David Wheeler
 
2011 NASA Open Source Summit - Chris Mattmann
2011 NASA Open Source Summit - Chris Mattmann2011 NASA Open Source Summit - Chris Mattmann
2011 NASA Open Source Summit - Chris Mattmann
 
2011 NASA Open Source Summit - Forge.mil
2011 NASA Open Source Summit - Forge.mil2011 NASA Open Source Summit - Forge.mil
2011 NASA Open Source Summit - Forge.mil
 
2011 NASA Open Source Summit - Chris Wanstrath
2011 NASA Open Source Summit - Chris Wanstrath2011 NASA Open Source Summit - Chris Wanstrath
2011 NASA Open Source Summit - Chris Wanstrath
 
2011 NASA Open Source Summit - Bob Sutor
2011 NASA Open Source Summit - Bob Sutor2011 NASA Open Source Summit - Bob Sutor
2011 NASA Open Source Summit - Bob Sutor
 

NASA Open Source Software Perspective

  • 1. Open Source at NASA A practitioner’s perspective … Terry Fong Intelligent Robotics Group NASA Ames Research Center terry.fong@nasa.gov irg.arc.nasa.gov Open Source at NASA – A practitioner’s perspective 1
  • 2. Why is Open Source good for NASA? More transparent •  Enables the public to better understand what software NASA needs to fulfill its mission & activities •  Enables the public to better understand how taxpayer dollars are being used More participatory •  Enables the public to assist in NASA software development •  Enables students, scientists, the general public, etc. to contribute their expertise and skills More collaborative •  Enables NASA to transfer technology efficiently and rapidly •  Enables NASA to more easily partner and work with others Open Source at NASA – A practitioner’s perspective 2
  • 3. IRG Open Source Software Vision GeoCam Workbench Vehicle RoverSW Detection Neo Geography RAPID Toolkit Open Source at NASA – A practitioner’s perspective 3
  • 4. Vision Workbench (2006) Overview •  Modular, extensible, C++ computer vision framework •  Rapid development and flexible, multi-platform (Linux, OS-X, Win32) •  Supports science analysis, robot perception, image stitching, etc. Open Source at NASA – A practitioner’s perspective 4
  • 5. Vision Workbench (2006) Developers •  Government: NASA Ames Intelligent Systems Division •  Prime Contractor: QSS Group, Inc. •  University: Carnegie Mellon / Silicon Valley •  Non-Profit: Research Institute for Advanced Computer Science Key points •  Software library (continuous release / hosted on GitHub) •  Rapid, on-going development •  Supports numerous collaborations (funded & informal), interns, etc. •  Requires several external, open source libraries (OS licenses: Boost, MIT, BSD-like) •  Enhanced functionality with additional open source libraries (OS licenses: zlib/png, SGI, GPL2, etc.) Open Source at NASA – A practitioner’s perspective 5
  • 6. GeoCam (2007) Open Source at NASA – A practitioner’s perspective 6
  • 7. GeoCam (2007) Developers •  Government: NASA Ames Intelligent Systems Division •  University: Carnegie Mellon / Silicon Valley •  Internship program: Education Associates Key points •  Software suite: smartphone apps, Web UI’s, server software, tools (continuous release / hosted on GitHub) •  Rapid, on-going development •  Supports developers, first responders, citizen groups, etc. •  Requires several external, open source libraries (OS licenses: BSD, BSD-like, MIT, NOSA) •  Enhanced functionality with additional open source libraries (OS licenses: Apache 2, BSD-like, LGPL3, MIT) Open Source at NASA – A practitioner’s perspective 7
  • 8. Neo-Geography Toolkit (2009) Overview •  Tools for geospatial data processing, automated map making, etc. •  Supports large-scale data (10-100 TB), cloud & super computing •  Import / export to geo-browsers & OGC standards (Web services) Open Source at NASA – A practitioner’s perspective 8
  • 9. NGT for “Moon / Mars in Google Earth” Open Source at NASA – A practitioner’s perspective 9
  • 10. Neo-Geography Toolkit (2009) Developers •  Government: NASA Ames Intelligent Systems Division •  Prime Contractor: SGT, Inc. •  University: Carnegie Mellon / Silicon Valley •  Internship program: Education Associates Key points •  Software suite: libraries, processing pipelines & tools (continuous release / hosted on GitHub) •  Rapid, on-going development •  Supports numerous collaborations (funded & informal), interns, etc. •  Requires several external, open source libraries (OS licenses: Apache 2, BSD, GPL 3, ISIS 3, LGPL 2.1, MIT, NOSA) Open Source at NASA – A practitioner’s perspective 10
  • 11. RAPID (2009) Overview •  “Robot Application Programming Interface Delegate” •  Standardized programming interface (API) for robot software •  Messaging & data distribution for NASA robots & user interfaces RAPID RAPID RAPID API API Robot Workbench Middleware Bridge Open Source at NASA – A practitioner’s perspective 11
  • 12. RAPID (2009) Developers •  Government: NASA Ames (Code TI) & Johnson (Code ER) •  Prime Contractor: SGT, Inc. •  Subcontractor: TRACLabs, Inc. •  Non-Profit: Research Institute for Advanced Computer Science Key points •  Software suite: libraries, user interface, reference implementation (hosted on SourceForge) •  Facilitates basic research & collaboration worldwide (does not require SUA / other agreement that would be extremely difficult to execute) •  De-facto NASA robotics open standard Open Source at NASA – A practitioner’s perspective 12
  • 13. RoverSW (2010) Overview •  Service-oriented robotics software architecture •  Designed for NASA-relevant research robots •  Software framework + composable modules Open Source at NASA – A practitioner’s perspective 13
  • 14. RoverSW on the K10 Planetary Rover VIDEO Open Source at NASA – A practitioner’s perspective 14
  • 15. RoverSW (2010) Developers •  Government: NASA Ames Intelligent Systems Division •  Prime Contractor: SGT, Inc. •  University: Carnegie Mellon / Silicon Valley •  Non-Profit: Research Institute for Advanced Computer Science Key points •  Software library •  Facilitates collaboration with others worldwide & interns •  Enables third-parties (e.g., small businesses) to test without SUA •  Requires several external, open source libraries (OS licenses: BSD, BSD-like, LGPL 2.1 & 3, MIT, NOSA) •  Enhanced functionality with additional open source libraries (OS licenses: BSD-like, NOSA) Open Source at NASA – A practitioner’s perspective 15
  • 16. NTL “Vehicle Detection” (2011) NASA Tournament Labs (NTL) •  Collaboration between NASA, Harvard Business School & TopCoder •  Crowd-source NASA software through programming contests •  Winning solutions will be released as NASA open source Vehicle Detection Challenge •  First contest: three-weeks (Jan 28-Feb 18, 2011) •  Automatically classify aerial images that contain a vehicle •  139 competitors from around the world http://community.topcoder.com/ntl Open Source at NASA – A practitioner’s perspective 16
  • 17. IRG Open Source Software Common characteristics •  Developed by multi-org workforce, not just civil servants ➯  Have to consider contract clauses & other concerns (Bahy-Dole rights) •  On-going, rapid development ➯  Intermittent point releases are not appropriate •  Intended to support & facilitate collaboration ➯  Must be easy to adopt (e.g., licensing should not get in the way !) ➯  Must be easy to access (e.g., hosted on popular sites, not NASA site !) •  Wide range of users (individuals, companies, non-profits, etc.) ➯  Barrier to entry must be as low as possible (licensing, access, paperwork) •  Built upon other open source libraries ➯  May restrict how software is released or what license is used Open Source at NASA – A practitioner’s perspective 17
  • 18. Open Source Release Process* * From a developer’s perspective Fill-out release forms Submit Release meeting Release approved   NF1679 (invention disclosure) release   SW briefing DEVELOPER   Software release request forms   Q&A   List of external libraries (and their licenses)   NPR 7150.2 matrix Month 1 2 3 4 5 ••• AUTHORITY SOFTWARE Initial reviews Final reviews RELEASE   Export review   External library licenses   Collect copyright assignments   etc. Open Source at NASA – A practitioner’s perspective 18
  • 19. Lessons Learned: Potential Bottlenecks Copyright assignment •  Multi-org workforce: civil servants, contractors, interns, universities •  Can take long if non-NASA organizations unfamiliar with process Export control •  Can take long if software is difficult to categorize •  Can take long if software has possible ITAR characteristics External licenses •  Must carefully distinguish between "required" and "optional” •  Review can take long (no central database of reviewed licenses) 508 compliance •  NASA workforce (especially researchers) not trained for ensuring this SE compliance •  Open source software is not (usually) designed with this in mind (can be at odds with agile development methods …) Open Source at NASA – A practitioner’s perspective 19
  • 20. Towards Open Source Development What makes NASA different ? •  Taxpayer-funded federal institution •  Culture (engineering driven, minimize risk, etc.) •  Mixed workforce (civil servants, contractors, etc.) •  Unique, highly-specialized software •  Non-competition with commercial sector Open Source at NASA – A practitioner’s perspective 20
  • 21. Development Use Cases Point release •  Infrequent release of completed software (traditional model) •  Internal development by NASA workforce Continuous release •  On-going, frequent release of software under development •  Done only within well-defined bounds and with periodic review •  Internal development by NASA workforce Community development •  On-going, joint development to common code base •  NASA workforce (official duties) & volunteers Crowd-sourcing •  Rapid development at hackathons •  Result of programming contests (e.g., NASA Tournament Labs) •  May / may not have NASA workforce involved (official duties) Open Source at NASA – A practitioner’s perspective 21
  • 22. (Some) Issues How can we improve the NASA OS release process? •  How to make it faster & more efficient? •  How to make it more consistent across the agency? •  How to make it easier for practitioners? How can we improve licensing? •  Under what circumstances is NOSA (still) useful? •  What is needed for NASA to be able to use a suite of licenses (Apache 2, GPL 3, etc.) for release? How can NASA engage in community development? •  What is needed for third-party contributions? •  What is needed for crowd-sourcing? •  What can we do in the near-term? Open Source at NASA – A practitioner’s perspective 22
  • 23. Questions? Intelligent Robotics Group Intelligent Systems Division NASA Ames Research Center irg.arc.nasa.gov Open Source at NASA – A practitioner’s perspective 23