Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

! In the beginning, there was open source…

Slide 3

Slide 3 text

PDP-1 (or so I’m told)

Slide 4

Slide 4 text

Open source at the Tech Model Railroad Club

Slide 5

Slide 5 text

! All the easy problems have already been solved

Slide 6

Slide 6 text

‣ 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

Slide 7

Slide 7 text

! Developers should focus on solving unsolved challenges

Slide 8

Slide 8 text

! Unlike literature, through object code
 software allows us to obscure 
 from others what we’ve learned

Slide 9

Slide 9 text

! All alchemists had to 
 discover for themselves that drinking mercury would kill you

Slide 10

Slide 10 text

! Why closed source?

Slide 11

Slide 11 text

! Open source used to be hard

Slide 12

Slide 12 text

! Open source software used to be terrible

Slide 13

Slide 13 text

! Open source works behind the scenes

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Startups twitter.github.io yelp.github.io

Slide 17

Slide 17 text

netflix.github.io adobe.github.io

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

! A robber tries common ways 
 to break into both houses. 
 Whose stuff is more secure?

Slide 27

Slide 27 text

! Why open source?

Slide 28

Slide 28 text

! Security through obscurity versus eyes rendering all bugs shallow

Slide 29

Slide 29 text

‣ 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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

! Proprietary standards versus Open standards

Slide 33

Slide 33 text

! Licensing versus Customization and support

Slide 34

Slide 34 text

! Why open source in government?

Slide 35

Slide 35 text

! Challenges not-unique to agencies

Slide 36

Slide 36 text

! No private-sector competition

Slide 37

Slide 37 text

! Day-to-day visibility into contractors’ efforts

Slide 38

Slide 38 text

! Attract technical talent

Slide 39

Slide 39 text

! Allow citizens to check your work

Slide 40

Slide 40 text

! Tax-payer funded code

Slide 41

Slide 41 text

! Don’t ask “what should be open source?”
 Ask “what needs to be closed source?

Slide 42

Slide 42 text

‣ 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

Slide 43

Slide 43 text

! All organizations go through three phases of open source

Slide 44

Slide 44 text

‣ 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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

! Case Studies From around the Government

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

! Within an agency (or with external contractors)

Slide 49

Slide 49 text

Between agencies

Slide 50

Slide 50 text

With the Public

Slide 51

Slide 51 text

! What government collaborates on Open source Open data Open government

Slide 52

Slide 52 text

Open source (code)

Slide 53

Slide 53 text

No content

Slide 54

Slide 54 text

Open data

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

Open government (policy)

Slide 58

Slide 58 text

Information Sharing Environment Project Interoperability

Slide 59

Slide 59 text

! If you only remember two things

Slide 60

Slide 60 text

! 1. Open source ≠ Published source

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

! 2. Optimize for developers

Slide 64

Slide 64 text

! You can have open source without executive oversight

Slide 65

Slide 65 text

! You can have open source without policy guidance

Slide 66

Slide 66 text

! You can’t have open source without developers

Slide 67

Slide 67 text

! You can’t have open source without code

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

! Open source as a vehicle for organizational change

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

! Organizations have muscle memory

Slide 72

Slide 72 text

! Best Practice #3: Minimize information imbalance

Slide 73

Slide 73 text

! Work outside the firewall

Slide 74

Slide 74 text

! Best Practice #4: Minimize Friction

Slide 75

Slide 75 text

! Friction (n) The time it takes to go from 
 “I want to contribute” to “I have contributed”

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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