Slide 1

Slide 1 text

The Squishy Side of Open Source Presented by Keeley Hammond & Scott Hanselman

Slide 2

Slide 2 text

Introduce yourself: ● Name ● Experience with open source ● What do you want to take away?

Slide 3

Slide 3 text

Overview of OSS

Slide 4

Slide 4 text

What does an open source maintainer do?

Slide 5

Slide 5 text

Software is hard enough; working with people is harder. Why This Workshop Exists:

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Good The

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

● 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?

Slide 12

Slide 12 text

BAD The

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

● 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

Slide 19

Slide 19 text

UGLY The :(

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

Dealing with “Ugliness”: ● It’s not your fault. ● Consider language barriers or misunderstandings ● Find supportive allies ● Codes of Conduct. ● Stop contributing to that community.

Slide 25

Slide 25 text

Good The (v.2.0.0)

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

➔ 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:

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

Special Thanks To: @wwcodeportland @mozilla

Slide 33

Slide 33 text

Questions & Contact Scott Hanselman @shanselman Keeley Hammond @keeleyhammond