Fostering a culture of collaboration

19d03ecc1ff5da1a5e63a3ddaa2d84c2?s=47 Ben Balter
December 15, 2017

Fostering a culture of collaboration

19d03ecc1ff5da1a5e63a3ddaa2d84c2?s=128

Ben Balter

December 15, 2017
Tweet

Transcript

  1. Fostering a culture of collaboration Ben Balter @benbalter ben.balter.com ben.balter@github.com

  2. Roadmap • Open source (in the enterprise) • Best practices

    (internal, external) • Community building (internal, external)
  3. Open source in the enterprise

  4. The open source maturity model • Consuming - Using open

    source software • Releasing - Creating a new open source project • Contributing - Contributing to upstream projects • Embracing - Strategically participating in open source
  5. Conway's law “organizations which design systems ... are constrained to

    produce designs which are copies of the communication structures of these organizations ”
  6. How you work is as important as What you work

    on
  7. How closed source projects can work like open source projects

  8. Open source ≠ Published source

  9. Open source is a philosophy Not a type of software

  10. Process is shared to the widest extent practical One team

    — your organization — the entire world
  11. Open Source (software)
 software that can be freely used, modified,

    and shared 
 (in both modified and unmodified form) by anyone
  12. Open Source
 a philosophy of collaboration in which working materials

    are made available for 
 others to fork, modify, discuss, and contribute to.
  13. Adopting open source Code & process

  14. Friction (n) - the time it takes to go from

    "I want to contribute" to "I have"
  15. Open source best practices

  16. Inside the firewall

  17. 1. The technology is the easy part

  18. 2. Start small, go through the motions

  19. 3. Minimize information imbalance procedurally — day-to-day — long term

  20. 4. Embrace the constraints of open source Electronic — Available

    — Asynchronous — Informal
  21. 5. Open source problems, not solutions

  22. Outside the firewall

  23. 1. Expand your definition of stakeholders (Potential) users — (Potential)

    contributors — Subject matter experts
  24. 2. Be the hub, encourage spokes

  25. 3. Minimize contributor friction

  26. 4. Decentralize governance Community management — Code review — Leadership

  27. 5. Encourage contributions In advance — day-to-day — going forward

  28. Open source community building

  29. 1. Make open source an explicit expectation Open source Fridays

    — Hack Weeks — upstream improvements
  30. 2. Solve a shared problem

  31. 3. Link to the repository from your project’s distribution channel

    Topics — Good first issues — Help wanted
  32. 4. Add community documentation Common license — CONTRIBUTING — Community

    Profile
  33. 5. Publish technical documentation Marketing docs — End-user docs —

    Technical docs
  34. 6. Document how to contribute (And that you want contributions)

  35. 7. Clarify support vs. development SUPPORT file — troubleshooting/FAQ —

    dedicated channels
  36. 8. Welcome new contributors Hand holding — Saved replies —

    Linking to other issues
  37. 9. Set up automated tests (CI) To provide instant feedback

    without human intervention
  38. 10. Enforce code standards (and community standards too)

  39. Bonus: Automate (or outsource) community management Probot — Adoption —

    Archived repositories
  40. Resources • Open source guide: opensource.guide • FOSS Maturity model:

    github.com/github/maturity-model • Best practices - Internal: bit.ly/5bpos-internal • Best practices - External: bit.ly/5bpos-external • Best practices - Community: bit.ly/foss-community • Contributing template: github.com/nayafia/contributing-template
  41. These slides: http://bit.ly/foss-innovation-culture

  42. Fostering a culture of collaboration Ben Balter @benbalter ben.balter.com ben.balter@github.com