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

Open Source Principles for Internal Engineering...

Open Source Principles for Internal Engineering Teams

"Transparency", "participation", and "collaboration" are considered the core principles of open source. When we talk about applying open source to other realms of society–like government and data–we’re talking bringing transparency to the processes that govern those realms, enabling people to participate in whatever way they can, and giving them the tools and space to collaborate.

This talk examines how our internal engineering teams can learn open source principles from the communication structure of open source communities.

Brandon Keepers

October 19, 2015
Tweet

More Decks by Brandon Keepers

Other Decks in Technology

Transcript

  1. " @bkeepers • #ATO2015 BUT, THE SOURCE CODE IS AN

    ARTIFACT OF A PRODUCTION PROCESS
  2. " @bkeepers • #ATO2015 Any organization that designs a system

    will inevitably produce a design whose structure is a copy of the organization's communication structure. Melvin Conway melconway.com/research/committees.html CONWAY’S LAW
  3. " @bkeepers • #ATO2015 COM M U NI T I

    E S A RE DI ST R I B U TE D AC R O SS: & % % GEOGRAPHY TIMEZONE CULTURE
  4. " @bkeepers • #ATO2015 THE MEDIUM IS * LOCK-FREE )

    ASYNCHRONOUS ' ELECTRONIC ( ARCHIVED THE MESSAGE IS O P EN S O URC E COM M U N I CATI O N
  5. " @bkeepers • #ATO2015 THE MEDIUM IS ELECTRONIC * +

    ' ISSUE TRACKER VERSION CONTROL MAILING LIST ) CHAT
  6. " @bkeepers • #ATO2015 THE MESSAGE IS ARCHIVED * +

    ' ISSUE HISTORY VERSION HISTORY LIST ARCHIVE ) CHAT LOG
  7. " @bkeepers • #ATO2015 THE MEDIUM IS * LOCK-FREE )

    ASYNCHRONOUS ' ELECTRONIC ( ARCHIVED THE MESSAGE IS O P EN S O URC E COM M U N I CATI O N
  8. " @bkeepers • #ATO2015 Jesse: We should do X Sam:

    We tried that a long time ago, it didn’t work. Jesse: oh,ok [end of discussion] S CEN A RI O 1 :
  9. " @bkeepers • #ATO2015 Jesse: We should do X Sam:

    We tried that a long time ago, see https://github.com/github/repo/pulls/28483 […reading…] Jesse: interesting. It looks like… S CEN A RI O 2 :
  10. " @bkeepers • #ATO2015 Information is exposed to others working

    toward shared goals. Work toward a goal is rarely blocked. Anyone can participate, regardless of geography, timezone, culture, or role.
  11. " @bkeepers • #ATO2015 friction |ˈfrikSHən| noun the amount of

    time that elapses between “I want to contribute”, and “I have contributed”.
  12. " @bkeepers • #ATO2015 A massive stack of information does

    not magically enable people to participate.
  13. " @bkeepers • #ATO2015 DI ST I LL K N

    O WL E D GE . # README.md CONTRIBUTING.md
  14. " @bkeepers • #ATO2015 S CR IP T S TO

    R U L E T HE M A L L $ script/bootstrap $ script/server $ script/test BOOTSTR A P R UN TE ST
  15. " @bkeepers • #ATO2015 Here are some suggestions on how

    to write good. Unlike CI in other repos, they're just suggestions. Feel free to ignore them as you wish. Humans generally know better than robots. ------------------------------------------------------------ In posts/2015-09-00-post-name.md ============= Seating is limited, so please be sure to register early. ^^^^^^^^^^ "is limited" may be passive voice on line 7 at column 179 RE VIE WI NG B LO G P O ST S
  16. " @bkeepers • #ATO2015 The post should contain more "yous"s

    than "we"s. See https://bit.ly/you-vs-we. ------------------------------------------------------------ All images should be hosted on GitHub. Drag these images into an issue comment and use that URL: http://i.imgur.com/xYzaBc123.png RE VIE WI NG B LO G P O ST S
  17. " @bkeepers • #ATO2015 Huh. It looks like your post

    is scheduled to go out the same day as another post. If you haven't already, please check in with @github/blog to see if there isn't a better date to ship. RE VIE WI NG B LO G P O ST S
  18. " @bkeepers • #ATO2015 PEDANTIC ROBOTS we are more receptive

    to feedback PEDANTIC PEOPLE from … an d rob ot s are mo re re li a ble… than
  19. " @bkeepers • #ATO2015 BRANC HES 1 1 1 MY

    FEATURE YOUR FEATURE MASTER
  20. " @bkeepers • #ATO2015 P UL L REQ U E

    ST S 2 3 1 2 3 1 3 1 REVIEW WORK REVIEW
  21. " @bkeepers • #ATO2015 P UL L REQ U E

    ST S 2 3 1 2 3 1 3 1 STABLE STABLE
  22. " @bkeepers • #ATO2015 function isFeatureEnabled(user) { return user.isInGroup("early-access"); }

    // ... if(isFeatureEnabled(user)) { // unstable code } else { // stable code } F EAT URE F LAG S
  23. " @bkeepers • #ATO2015 function isFeatureEnabled(user) { — return user.isInGroup(“early-access");

    + return true; } // ... if(isFeatureEnabled(user)) { // unstable code } else { // stable code L AUN CH DAY!
  24. " @bkeepers • #ATO2015 science "some-feature" do |e| e.use {

    old_code } e.try { new_code } end # returns the control value GITH UB / S CI EN CE
  25. " @bkeepers • #ATO2015 E VE RY THI N G

    H AS A U R L 2 3 1 2 3 1 3 1 URL URL URL URL URL URL URL URL URL URL
  26. " @bkeepers • #ATO2015 “By placing tools directly in the

    middle of the conversation, everyone is pairing, all of the time.” Jesse Newland speakerdeck.com/jnewland/chatops-at-github
  27. " @bkeepers • #ATO2015 Prefer tools that inherently capture information

    and expose process. Document knowledge in prose or, preferably, code.
  28. " @bkeepers • #ATO2015 “We should model our teams and

    our communication structures after the architecture we want.” Jesse Toth Service Oriented Harmony https://speakerdeck.com/jesseplusplus/service-oriented-harmony JESSE’S LAW
  29. " @bkeepers • #ATO2015 4 5 1 OTHE R LE

    S S O N S O F O P EN S O U R C E TECHNICAL SOCIAL ECONOMIC 6 POLITICAL
  30. " @bkeepers • #ATO2015 RE COM ME N DE D

    REA DI N G The Success of Open Source by Steven Weber Producing Open Source Software by Karl Fogel – producingoss.com
  31. " @bkeepers • #ATO2015 Ryan Tomayko bit.ly/oss-team ADOPTING OPEN SOURCE

    PROCESS CONSTRAINTS Ben Balter @benbalter ben.balter.com
  32. " @bkeepers • #ATO2015 “The steam engine was the metal

    behind the first industrial revolution; but the revolution was a set of ideas about organizing factories, limited liability corporations, trade unions, and daily newspapers.” Steven Weber The Success of Open Source