Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Closed source a few things

Closed source a few things

Making the case for why (just) a few things should remain closed source

Ben Balter

May 19, 2015
Tweet

More Decks by Ben Balter

Other Decks in Technology

Transcript

  1. !
    Closed source a few things
    Ben Balter
    @benbalter
    [email protected]
    government.github.com

    View full-size slide

  2. !
    In the beginning, there was open source…

    View full-size slide

  3. PDP-1
    (or so I’m told)

    View full-size slide

  4. Open source at
    the Tech Model
    Railroad Club

    View full-size slide

  5. !
    All the easy problems
    have already been solved

    View full-size slide

  6. ‣ How to convey material goods over large distances
    ‣ How to disseminate text-based information to a large audience
    ‣ In computer science, just about everything up to the application layer
    Things people don’t worry about

    View full-size slide

  7. !
    Developers should focus on
    solving unsolved challenges

    View full-size slide

  8. !
    Unlike literature, through object code

    software allows us to obscure 

    from others what we’ve learned

    View full-size slide

  9. !
    All alchemists had to 

    discover for themselves that
    drinking mercury would kill you

    View full-size slide

  10. !
    Why closed source?

    View full-size slide

  11. !
    Open source used to be hard

    View full-size slide

  12. !
    Open source software used to be terrible

    View full-size slide

  13. !
    Open source works behind the scenes

    View full-size slide

  14. !
    Open source isn’t marketed
    (think suits versus t-shirts)

    View full-size slide

  15. !
    Today, tech companies open source
    everything but the secret sauce

    View full-size slide

  16. Startups
    twitter.github.io
    yelp.github.io

    View full-size slide

  17. netflix.github.io
    adobe.github.io

    View full-size slide

  18. Tech Giants
    sap.github.io ibm.github.io microsoft.github.io

    View full-size slide

  19. !
    Let’s say you and I want to
    lock our front door

    View full-size slide

  20. !
    We each design a lock, install it in
    the door, and carry the key

    View full-size slide

  21. !
    We’re also both human.
    Our locks are flawed

    View full-size slide

  22. !
    You keep the design to yourself.
    After all, it’s a lock.

    View full-size slide

  23. !
    I share my design with others,
    keeping the specifics of my key

    View full-size slide

  24. !
    Neither of us are full-time
    locksmiths, and go about doing the
    thing we originally set out to do

    View full-size slide

  25. !
    As people install my lock in
    different places they find and fix
    flaws. My lock gets better.

    View full-size slide

  26. !
    A robber tries common ways 

    to break into both houses. 

    Whose stuff is more secure?

    View full-size slide

  27. !
    Why open source?

    View full-size slide

  28. !
    Security through obscurity
    versus
    eyes rendering all bugs shallow

    View full-size slide

  29. ‣ Your custom software being hacked doesn’t make headlines 

    (or if it does, the vendor isn’t in the story)
    ‣ Vulnerabilities are discovered, discussed, and patched in the open,
    with the fix being seen as a feature, not a potential lawsuit
    ‣ More rapid release cycles means more patches
    You hear a lot about open source vulnerabilities

    View full-size slide

  30. !
    The best developers in the world
    versus
    Just the ones on your payroll

    View full-size slide

  31. !
    Built for your (current) purpose
    versus
    Built for different purposes

    View full-size slide

  32. !
    Proprietary standards
    versus
    Open standards

    View full-size slide

  33. !
    Licensing
    versus
    Customization and support

    View full-size slide

  34. !
    Why open source in government?

    View full-size slide

  35. !
    Challenges not-unique to agencies

    View full-size slide

  36. !
    No private-sector competition

    View full-size slide

  37. !
    Day-to-day visibility into
    contractors’ efforts

    View full-size slide

  38. !
    Attract technical talent

    View full-size slide

  39. !
    Allow citizens to check your work

    View full-size slide

  40. !
    Tax-payer funded code

    View full-size slide

  41. !
    Don’t ask “what should be open source?”

    Ask “what needs to be closed source?

    View full-size slide

  42. ‣ The secret sauce — passwords, server configurations, launch codes,
    your competitive advantage, etc — where it can’t be abstracted out
    ‣ Anything so specific to your use case that others wouldn’t benefit
    ‣ Projects you don’t have the resources (or desire) to maintain — open
    source is free as in puppies, not free as in beer

    View full-size slide

  43. !
    All organizations go through
    three phases of open source

    View full-size slide

  44. ‣ Consume open source — Stand up a Drupal site, Linux-based servers,
    rely on open source libraries
    ‣ Publish open source — Post a zip file to an FTP server 

    (or the modern equivalent)
    ‣ Participate in the open source community — engage developers,
    actively seek contributors, merge community contributions

    View full-size slide

  45. !
    Open source as a platform
    versus
    Open source as a workflow

    View full-size slide

  46. !
    Case Studies
    From around the Government

    View full-size slide

  47. !
    Who does the government
    collaborate with?
    Within an agency
    Between agencies
    With the public

    View full-size slide

  48. !
    Within an agency
    (or with external contractors)

    View full-size slide

  49. Between agencies

    View full-size slide

  50. With the Public

    View full-size slide

  51. !
    What government collaborates on
    Open source
    Open data
    Open government

    View full-size slide

  52. Open source (code)

    View full-size slide

  53. Open government (policy)

    View full-size slide

  54. Information Sharing Environment
    Project Interoperability

    View full-size slide

  55. !
    If you only remember two things

    View full-size slide

  56. !
    1. Open source ≠ Published source

    View full-size slide

  57. !
    Open Source (software)

    software that can be freely used, modified, and shared (in both
    modified and unmodified form) by anyone

    View full-size slide

  58. !
    Open Source

    a philosophy of collaboration in which
    working materials are made available online
    for anyone to fork, modify, discuss, and contribute to.

    View full-size slide

  59. !
    2. Optimize for developers

    View full-size slide

  60. !
    You can have open source without
    executive oversight

    View full-size slide

  61. !
    You can have open source without
    policy guidance

    View full-size slide

  62. !
    You can’t have open source
    without developers

    View full-size slide

  63. !
    You can’t have open source
    without code

    View full-size slide

  64. !
    Best Practice #1:
    The technology is the easy part

    View full-size slide

  65. !
    Open source as a vehicle for
    organizational change

    View full-size slide

  66. !
    Best Practice #2:
    Start small, go through the motions

    View full-size slide

  67. !
    Organizations have muscle memory

    View full-size slide

  68. !
    Best Practice #3:
    Minimize information imbalance

    View full-size slide

  69. !
    Work outside the firewall

    View full-size slide

  70. !
    Best Practice #4:
    Minimize Friction

    View full-size slide

  71. !
    Friction (n)
    The time it takes to go from 

    “I want to contribute” to “I have contributed”

    View full-size slide

  72. !
    Best Practice #5:
    Be the hub, encourage spokes

    View full-size slide

  73. !
    You are the host of the internet’s
    most boring cocktail party

    View full-size slide

  74. !
    Closed source a few things
    Ben Balter
    @benbalter
    [email protected]
    government.github.com

    View full-size slide

  75. ‣ PDP-1 — flickr.com/photos/hiddenloop/307119987/
    ‣ Punch Card Decks — mehul panchal, via Wikimedia Commons
    Photo credits

    View full-size slide