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

How GitHub works like an open source project

Ben Balter
October 30, 2014

How GitHub works like an open source project

and you can too!

Ben Balter

October 30, 2014
Tweet

More Decks by Ben Balter

Other Decks in Technology

Transcript

  1. ! How GitHub works like an open source project (and

    you can too!) Ben Balter government.github.com [email protected]
  2. ! The world’s largest code-sharing platform " Founded 2008 !

    VC Funded $100M # Hubbers 232 $ Users 7M % Projects 15M
  3. ! * Scripts to rule them all $ script/test Bootstrapping

    $ boxen giants $ cd ~/github/giants $ script/bootstrap Running $ script/server Testing
  4. # Shared Command Line •View cameras in our datacenter •

    Search error logs • Manage and trigger alerts • Perform server maintenance • View load balancer status • Spin up cloud instances • Provision servers • Adjust firewall ports • Activate DDoS Mitigation • Restart processes • Configure DNS • Deploy to production
  5. Twitter Subscriptions Ops “github down” The Government Room “open source

    government” The Danger Room “animal hijinks gif”
  6. / On each push… •~1,500 test suits •~19,00 tests •~80,000

    assertions • x 2 environments (.com, Enterprise) •Tests > 20 seconds are considered a failure •~ 90 seconds to complete
  7. 4 A typical day at GitHub • 230 employees 


    (2/3rd remote) • 185 chatrooms • ~30,000 lines of text 
 (13,000 from Hubot) • ~500 images • 500+ deploys • 1000+ pushes • 320 issues opened •185 pull requests opened 
 (of which 145 merged that day)
  8. 4 A typical week at GitHub/GitHub Authors 78 Commits 1.1k

    Files changed 900 Additions 23k Deletions 7k Issues opened 50 Pull requests opened 50 Pull requests merged 200 People merging 60 Issues closed 70
  9. ! GitHub Zen api.github.com/zen Responsive is better than fast. It’s

    not fully shipped until it’s fast. Anything added dilutes everything else. Practicality beats purity. Approachable is better than simple. Mind your words, they are important. Speak like a human. Half measures are as bad as nothing at all. Encourage flow. Non-blocking is better than blocking. Favor focus over features. Avoid administrative distraction. Design for failure. Keep it logically awesome.
  10. ! How GitHub works like an open source project (and

    you can too!) Ben Balter government.github.com [email protected]