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

The Squishy Side of Open Source

The Squishy Side of Open Source

Presented by Scott Hanselman & Keeley Hammond for Women Who Code Portland.

Contributing to open source for the first time can be scary and a little overwhelming. In addition to the technical skills required, the social dynamics of contributing to a library and participating in a code review can seem strange.

In this workshop, we talk about the work and details that go into maintaining an open source community, tell real stories from his experiences and go over what to expect when contributing to open source and how to navigate it.

Key Takeaways:

- Understanding the work that open source maintainers do, and how to show respect for them.
- Understanding Codes of Conduct and Style Guides for OSS repos and how to abide by them.
- Tips for communicating clearly, and dealing with uncomfortable or hostile communication.

21d4b6e104409fbde2fcfd8005b5ef5b?s=128

Keeley Hammond

September 05, 2017
Tweet

Transcript

  1. The Squishy Side of Open Source Presented by Keeley Hammond

    & Scott Hanselman
  2. Introduce yourself: • Name • Experience with open source •

    What do you want to take away?
  3. Overview of OSS

  4. What does an open source maintainer do?

  5. Software is hard enough; working with people is harder. Why

    This Workshop Exists:
  6. None
  7. Good The

  8. Source: https://twitter.com/GeoffreyHuntley/status/904482853768933377

  9. Source: https://github.com/PrismJS/prism/pull/609

  10. Source: https://github.com/keymanapp/keyboards/pull/52

  11. • Keep requests clear and direct • Ask questions, but

    be patient • Understand the time commitments of maintainers. • Take criticism well • Say thank you • Consider language barriers What Makes Them Good?
  12. BAD The

  13. (Source) ...How could this have been handled better?

  14. Source: https://github.com/vcflib/vcflib/issues/206

  15. Source: https://github.com/MahApps/MahApps.Metro.IconPacks/issues/49

  16. Source: https://github.com/Fody/PropertyChanged/issues/270

  17. Source: https://github.com/RolandPheasant/TailBlazer/pull/105

  18. • Clearly state the issue. • Keep your PRs simple

    and clear. • Consider if your use case is going to be a common one, or unique to you. • Read contributing docs / existing issues before submitting a PR. • Include replication instructions if possible. • Don’t drop the F-bomb 27 times in your issue description. Learn from the Bad
  19. UGLY The :(

  20. Source: https://github.com/bonecode/BCEditor/issues/46

  21. Source: https://github.com/NuGet/NuGetGallery/pull/4437

  22. Source: https://github.com/opal/opal/issues/941

  23. Source: https://twitter.com/sarahmei/status/899880200577499136

  24. Dealing with “Ugliness”: • It’s not your fault. • Consider

    language barriers or misunderstandings • Find supportive allies • Codes of Conduct. • Stop contributing to that community.
  25. Good The (v.2.0.0)

  26. Source: https://twitter.com/GeoffreyHuntley/status/904482853768933377

  27. Source: https://twitter.com/GeoffreyHuntley/status/904482853768933377 <- <-

  28. Source: https://github.com/nodejs/node/pull/14062 <- Nice, Gave clarity

  29. Source: https://github.com/Tyrrrz/YoutubeExplode/issues/34 <- from the OP <- the OP

  30. ➔ You are wanted in open source. ➔ Read. Absorb.

    Understand. ➔ Keep PRs and communication clear and focused. ➔ Be welcoming. Small acts of kindness go far. ➔ Ask questions. ➔ Look for Codes of Conduct ➔ Don’t assume malice… but when malice happens, report it. Remember:
  31. Credits/Thank You Photos • Cover: Ex Machina, Universal Pictures •

    Slide 2: Vladislav Klapin on Unsplash • Multiple: The Good, The Bad and The Ugly, Sergio Leone • Slide 14: Peter Feghali on Unsplash • Slide 21: rawpixel.com on Unsplash • Slide 21: Tran Mau Tri Tam on Unsplash • Credits: Cat Mapper (Max Ogden) on Unsplash • Thanks: Hanny Naibaho on Unsplash People Geoffrey Huntley (@GeoffreyHuntley) Marc Durdin (@MarcDurdin) Roland Pheasant (@RolandPheasant) Chris Tomkins-Tinch (@tomkinsc) Alexey Golub (@Tyrrrz) Lea Verou (@LeaVerou) Richa Khandelwal (@richak) Daniel R. Bradley (@danielrbradley) Jeff Bryner (@0x7eff) Mozilla Microsoft Women Who Code Portland
  32. Special Thanks To: @wwcodeportland @mozilla

  33. Questions & Contact Scott Hanselman @shanselman Keeley Hammond @keeleyhammond