Teaching NASA to Open Source its Software the Apache Way


Published on

@chrismattmann and his Ignite@AGU talk at AGU 2011 in San Francisco.

Published in: Technology, News & Politics
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Communication  and  Publicizing  NASA’s  Open  Source  Efforts Define what open source licenses can be used Remove barriers to involvement in open source Remove barriers to open source development models Define policy for dealing with ITAR/other restrictions Define policy for contributing to external open source projects Define governance model Develop NASA cooperative support structure Start projects out in open source Close feedback loop between developers, policy makers and users Hire open source talent (hint: it’s a specialized skill) Make open source software more accessible Unify open source and the office of the chief engineer
  • Teaching NASA to Open Source its Software the Apache Way

    1. 1. Teaching to its Software the Way
    2. 2. And you are? <ul><li>Apache Member involved in </li></ul><ul><ul><li>OODT (VP, PMC), Tika (VP,PMC), Nutch (PMC), Incubator (PMC), SIS (Mentor), Lucy (Mentor) and Gora (Champion), MRUnit (Mentor), Airavata (Mentor) </li></ul></ul><ul><li>Senior Computer Scientist at NASA JPL in Pasadena, CA USA </li></ul><ul><li>Software Architecture/Engineering Prof at Univ. of Southern California </li></ul>7-Dec-11 AGU-IGNITE
    3. 3. 7-Dec-11 AGU-IGNITE NASA Open Source Summit
    4. 4. NASA Open Source Summit 7-Dec-11 AGU-IGNITE http://www.nasa.gov/open/source/
    5. 5. The Apache Software Foundation <ul><li>Largest open source software development entity in the world </li></ul><ul><ul><li>Over 2600+ committers </li></ul></ul><ul><ul><li>Over 4100 + contributors </li></ul></ul><ul><ul><li>94 Top Level Projects </li></ul></ul><ul><ul><ul><li>57 Incubating </li></ul></ul></ul><ul><ul><ul><li>32 Lab Projects </li></ul></ul></ul><ul><ul><ul><li>16 retired projects in the “Attic” </li></ul></ul></ul><ul><ul><li>Over 1.2M revisions </li></ul></ul>7-Dec-11 AGU-IGNITE <ul><ul><li>Over 10M successful requests served a day across the world </li></ul></ul><ul><ul><li>HTTPD web server used on 100+ million web sites (52+% of the market) </li></ul></ul>
    6. 6. Apache Maturity Model <ul><li>Start out with Incubation </li></ul><ul><li>Grow community </li></ul><ul><li>Make releases </li></ul><ul><li>Gain interest </li></ul><ul><li>Diversify </li></ul><ul><li>When the project is ready, graduate into </li></ul><ul><ul><li>Top-Level Project (TLP) </li></ul></ul><ul><ul><li>Sub-project of TLP </li></ul></ul><ul><li>Increasingly, Sub-projects are discouraged compared to TLPs </li></ul>AGU-IGNITE 7-Dec-11
    7. 7. <ul><li>Apache is a meritocracy </li></ul><ul><ul><li>You earn your keep and your credentials </li></ul></ul><ul><li>Start out as Contributor </li></ul><ul><ul><li>Patches, mailing list comments, etc. </li></ul></ul><ul><ul><li>No commit access </li></ul></ul><ul><li>Move onto Committer </li></ul><ul><ul><li>Commit access, evolve the code </li></ul></ul><ul><li>PMC Members </li></ul><ul><ul><li>Have binding VOTEs on releases/personnel </li></ul></ul><ul><li>Officer (VP, Project) </li></ul><ul><ul><li>PMC Chair </li></ul></ul><ul><li>ASF Member </li></ul><ul><ul><li>Have binding VOTE in the state of the foundation </li></ul></ul><ul><ul><li>Elect Board of Directors </li></ul></ul><ul><li>Director </li></ul><ul><ul><li>Oversight of projects, foundation activities </li></ul></ul>Apache Organization AGU-IGNITE 7-Dec-11
    8. 8. NASA Software <ul><li>Having amazing, complex, challenging software problems </li></ul><ul><ul><li>A+ </li></ul></ul><ul><li>Having brilliant, talented software engineers </li></ul><ul><ul><li>A+/F (keeping them) </li></ul></ul><ul><li>Building software in a meritocratic, transparent, sustainable way </li></ul><ul><ul><li>F </li></ul></ul><ul><li>Sharing Software between NASA centers </li></ul><ul><ul><li>F </li></ul></ul>7-Dec-11 AGU-IGNITE
    9. 9. 7-Dec-11 AGU-IGNITE
    10. 10. Nerds want to be cool too 7-Dec-11 AGU-IGNITE
    11. 11. Being him would be rad too 7-Dec-11 AGU-IGNITE
    12. 12. We’re trying to avoid this 7-Dec-11 AGU-IGNITE
    13. 13. 7-Dec-11 AGU-IGNITE Strength in numbers Community building Get social No one organization controls the software Gain merit, earn the commit bit, guide the software to its fruition
    14. 14. 7-Dec-11 AGU-IGNITE Share software across centers Most open license that there is (redistribution, attribution, commercialization)
    15. 15. 7-Dec-11 AGU-IGNITE Apache central in notion of sustainability
    16. 16. Consensus not unilateral agreement 7-Dec-11 AGU-IGNITE
    17. 17. Active triage=>quality 7-Dec-11 AGU-IGNITE
    18. 18. My final plea <ul><li>Dear NASA: </li></ul><ul><ul><li>Please do not create your own Apache Software Foundation. Trust me, just because Forge.mil did it and just because the NIH is likely to do it, and just because people at NASA think you should do it, please don’t. Read about Apache. Try it out. Grow a community there. Realize you can have control (through meritocracy) and governance and sustainability and retain your talent by not reinventing the wheel and instead by leveraging what’s there at Apache. --Chris Mattmann </li></ul></ul>7-Dec-11 AGU-IGNITE
    19. 19. P.S. <ul><li>Github is super cool but don’t be fooled by the cute Jedi cat. </li></ul>7-Dec-11 AGU-IGNITE
    20. 20. Disclaimer <ul><li>Opinions are my own. </li></ul><ul><li>Yes Matt Barkley should be in New York at the Heisman ceremony (sorry Andrew Luck). </li></ul><ul><li>Questions? </li></ul><ul><ul><li>@chrismattmann on Twitter </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul>7-Dec-11 AGU-IGNITE