Inviting Communities
Closing the gap between open source communities and contributors
@gr2m | BostonJS March’16
Slide 2
Slide 2 text
Hi, I’m Gregor
@gr2m
@gr2m | BostonJS March’16
Slide 3
Slide 3 text
Hi, I’m Gregor
Both-End developer. Unsatisfied
with status quo of how we build apps
@gr2m | BostonJS March’16
Slide 4
Slide 4 text
Hi, I’m Gregor
Both-End developer. Unsatisfied
with status quo of how we build apps
So I started Hoodie with some friends1
1 hood.ie/community
@gr2m | BostonJS March’16
Slide 5
Slide 5 text
Hoodie
Say hi to Low-Profile Dog2
2 http://hood.ie/animals#low-profile-dog
@gr2m | BostonJS March’16
people — contributing
projects — contributors
@gr2m | BostonJS March’16
Slide 8
Slide 8 text
But
@gr2m | BostonJS March’16
Slide 9
Slide 9 text
! Where do I start?
! Is it safe?
! Can I do this?
⌛ Is it worth it?
@gr2m | BostonJS March’16
Slide 10
Slide 10 text
“Maybe the dream of every OSS
maintainer is write something
that gets zero issues and zero
pull requests. Maybe that dream
is dumb.”4
4 https://twitter.com/nolanlawson/status/704145814181027841
@gr2m | BostonJS March’16
Slide 11
Slide 11 text
@gr2m | BostonJS March’16
Slide 12
Slide 12 text
Let’s change this.
@gr2m | BostonJS March’16
Slide 13
Slide 13 text
Let’s change fix this.
@gr2m | BostonJS March’16
Slide 14
Slide 14 text
@gr2m | BostonJS March’16
Slide 15
Slide 15 text
We can do
better than this.
@gr2m | BostonJS March’16
Slide 16
Slide 16 text
What works.
@gr2m | BostonJS March’16
Slide 17
Slide 17 text
Optimise for (new) contributors,
not your today’s self.
@gr2m | BostonJS March’16
Slide 18
Slide 18 text
Code of Conduct
Safety is non-negotiable.
contributor-covenant.org
@gr2m | BostonJS March’16
Slide 19
Slide 19 text
Simple setup
# Keep it simple
git clone [email protected]:hoodiehq/hoodie.git
cd hoodie
npm install
npm test
@gr2m | BostonJS March’16
Slide 20
Slide 20 text
small modules > big monoliths.
Split up code into smaller modules. Don’t require
contributors to learn the whole thing before they
can start contributing.
@gr2m | BostonJS March’16
Slide 21
Slide 21 text
Test all the things,
with 100% coverage.
Accept contributions fast & with confidence
Contributors ❤ it.
Your fellow maintainers ❤ it.
Your future self ❤ it.
@gr2m | BostonJS March’16
Slide 22
Slide 22 text
@gr2m | BostonJS March’16
Slide 23
Slide 23 text
release instantly.
Use semantic-release5 to automate releases
`fix: …` 1.0.0 -> 1.0.1
`feat: …` 1.0.0 -> 1.1.0
`BREAKING CHANGE: …` 1.0.0 -> 2.0.0
Use Greenkeeper6 to automate dependency updates
6 http://greenkeeper.io/
5 https://github.com/semantic-release/semantic-release
@gr2m | BostonJS March’16
Slide 24
Slide 24 text
Roll the red carpet
for contributors
@gr2m | BostonJS March’16
Slide 25
Slide 25 text
@gr2m | BostonJS March’16
Slide 26
Slide 26 text
Imagine our community
tools were as good as for
code. What a wonderful
tech world this could be.
@gr2m | BostonJS March’16
Slide 27
Slide 27 text
Do good and
talk about it
@gr2m | BostonJS March’16
Slide 28
Slide 28 text
@gr2m | BostonJS March’16
Slide 29
Slide 29 text
@gr2m | BostonJS March’16
Slide 30
Slide 30 text
@gr2m | BostonJS March’16
Slide 31
Slide 31 text
@gr2m | BostonJS March’16
Slide 32
Slide 32 text
@gr2m | BostonJS March’16
Slide 33
Slide 33 text
@gr2m | BostonJS March’16
Slide 34
Slide 34 text
Thank you.
@gr2m | BostonJS March’16
Slide 35
Slide 35 text
see also
· yourfirstpr.github.io
· firsttimersonly.com
· up-for-grabs.net
· 24pullrequests.com
· hood.ie/blog/starter-issues.html
· Initiatives: Google summer of Code, Railsgirls
Summer of Code
@gr2m | BostonJS March’16