際際滷

際際滷Share a Scribd company logo
Open Source at NASA
A practitioners perspective 




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


irg.arc.nasa.gov
  Open Source at NASA  A practitioners 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 practitioners perspective                                    2
IRG Open Source Software

        Vision
                                                         GeoCam
    Workbench




                                                            Vehicle
 RoverSW
                                                            Detection




Neo Geography
                                                         RAPID
        Toolkit




    Open Source at NASA  A practitioners 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 practitioners 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 practitioners perspective                             5
GeoCam (2007)




 Open Source at NASA  A practitioners 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 UIs, 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 practitioners 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 practitioners perspective                          8
NGT for Moon / Mars in Google Earth




 Open Source at NASA  A practitioners 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 practitioners 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 practitioners 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 practitioners 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 practitioners perspective         13
RoverSW on the K10 Planetary Rover




                                                      VIDEO
 Open Source at NASA  A practitioners 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 practitioners 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 practitioners 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 practitioners perspective                                          17
Open Source Release Process*
                                                                                * From a developers 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 practitioners 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 practitioners 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 practitioners 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 practitioners 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 practitioners perspective                       22
Questions?




                                   Intelligent Robotics Group
                                     Intelligent Systems Division
                                    NASA Ames Research Center

                                           irg.arc.nasa.gov



 Open Source at NASA  A practitioners perspective                 23

More Related Content

Similar to 2011 NASA Open Source Summit - Terry Fong (20)

PPT
Foss presentation
Aman Routh
PDF
Open (P2P) Design @油Pixelversity, Helsinki (16/09/2011)
Massimo Menichinelli
PDF
Tools to help and engage emerging open source communities towards development...
Jose Astrain
PDF
OPEN SOURCE SOFTWARE BY Ar. Abhishek Rohit.pdf
goldenbirdarchitects
PDF
Open Source Business Models
g2ix
PPTX
NSGIC 2011 Presentation on geo open source
Michael Terner
PPT
Open Source Software for Entertainment
letiziajaccheri
PPTX
Hughes RDAP11 Data Publication Repositories
ASIS&T
PDF
Open Source In Enterprises Apache2009 Beijing Jack Cai
OpenSourceCamp
PDF
Open Source Software and Libraries
Ellyssa Kroski
PDF
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009
Arnulf Christl
PDF
Opees Presentation May 2011
Ga谷l Blondelle
PPT
Understanding the Meaningful Use of Open Source Software
Chris Mattmann
PPT
Open Source Technology
priyadharshini murugan
PDF
Open P2P Design @ DMY Berlin 2011 - MakerLab
Massimo Menichinelli
PDF
Business by open source manners turku april 2013
jaateixeira
PDF
605 open source applications
ewhitt17
PDF
Intro to open_source
Shiwang Kalkhanda
PDF
CPSeis & GeoCraft
billmenger
PPTX
INSC580MacasaOpenSourceSoftwareLibrariesFall2016
Michael J. Macasa
Foss presentation
Aman Routh
Open (P2P) Design @油Pixelversity, Helsinki (16/09/2011)
Massimo Menichinelli
Tools to help and engage emerging open source communities towards development...
Jose Astrain
OPEN SOURCE SOFTWARE BY Ar. Abhishek Rohit.pdf
goldenbirdarchitects
Open Source Business Models
g2ix
NSGIC 2011 Presentation on geo open source
Michael Terner
Open Source Software for Entertainment
letiziajaccheri
Hughes RDAP11 Data Publication Repositories
ASIS&T
Open Source In Enterprises Apache2009 Beijing Jack Cai
OpenSourceCamp
Open Source Software and Libraries
Ellyssa Kroski
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009
Arnulf Christl
Opees Presentation May 2011
Ga谷l Blondelle
Understanding the Meaningful Use of Open Source Software
Chris Mattmann
Open Source Technology
priyadharshini murugan
Open P2P Design @ DMY Berlin 2011 - MakerLab
Massimo Menichinelli
Business by open source manners turku april 2013
jaateixeira
605 open source applications
ewhitt17
Intro to open_source
Shiwang Kalkhanda
CPSeis & GeoCraft
billmenger
INSC580MacasaOpenSourceSoftwareLibrariesFall2016
Michael J. Macasa

More from NASA Open Government Initiative (9)

PPTX
Nasa at i_co_p_aug2011 2
NASA Open Government Initiative
PDF
2011 NASA Open Source Summit - Pascal Finette
NASA Open Government Initiative
PPT
2011 NASA Open Source Summit - Chris DiBona
NASA Open Government Initiative
PDF
2011 NASA Open Source Summit - Brian Stevens
NASA Open Government Initiative
PPT
2011 NASA Open Source Summit - Patrick Hogan
NASA Open Government Initiative
PPT
2011 NASA Open Source Summit - David Wheeler
NASA Open Government Initiative
PPT
2011 NASA Open Source Summit - Forge.mil
NASA Open Government Initiative
PDF
2011 NASA Open Source Summit - Chris Wanstrath
NASA Open Government Initiative
PDF
2011 NASA Open Source Summit - Bob Sutor
NASA Open Government Initiative
Nasa at i_co_p_aug2011 2
NASA Open Government Initiative
2011 NASA Open Source Summit - Pascal Finette
NASA Open Government Initiative
2011 NASA Open Source Summit - Chris DiBona
NASA Open Government Initiative
2011 NASA Open Source Summit - Brian Stevens
NASA Open Government Initiative
2011 NASA Open Source Summit - Patrick Hogan
NASA Open Government Initiative
2011 NASA Open Source Summit - David Wheeler
NASA Open Government Initiative
2011 NASA Open Source Summit - Forge.mil
NASA Open Government Initiative
2011 NASA Open Source Summit - Chris Wanstrath
NASA Open Government Initiative
2011 NASA Open Source Summit - Bob Sutor
NASA Open Government Initiative
Ad

2011 NASA Open Source Summit - Terry Fong

  • 1. Open Source at NASA A practitioners perspective Terry Fong Intelligent Robotics Group NASA Ames Research Center terry.fong@nasa.gov irg.arc.nasa.gov Open Source at NASA A practitioners 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 practitioners perspective 2
  • 3. IRG Open Source Software Vision GeoCam Workbench Vehicle RoverSW Detection Neo Geography RAPID Toolkit Open Source at NASA A practitioners 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 practitioners 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 practitioners perspective 5
  • 6. GeoCam (2007) Open Source at NASA A practitioners 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 UIs, 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 practitioners 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 practitioners perspective 8
  • 9. NGT for Moon / Mars in Google Earth Open Source at NASA A practitioners 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 practitioners 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 practitioners 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 practitioners 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 practitioners perspective 13
  • 14. RoverSW on the K10 Planetary Rover VIDEO Open Source at NASA A practitioners 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 practitioners 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 practitioners 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 practitioners perspective 17
  • 18. Open Source Release Process* * From a developers 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 practitioners 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 practitioners 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 practitioners 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 practitioners 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 practitioners perspective 22
  • 23. Questions? Intelligent Robotics Group Intelligent Systems Division NASA Ames Research Center irg.arc.nasa.gov Open Source at NASA A practitioners perspective 23