A few months back my friend Keeley Hammond and I did a workshop for Women Who Code Portland called The Squishy Side of Open Source. We’d done a number of workshops before on how to use Git and the Command Line, and I’ve done a documentary film with Rob Conery called Get Involved In Tech: The Social Developer (watch it free!) but Keeley and I wanted to really dive into the interpersonal “soft” or squishy parts. We think that we all need to work to bring kindness back into open source.
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.
That means how people talk to each other, what to do when pull requests go south, when issues heat up due to misunderstandings,
Keeley has published the deck up on SpeakerDeck. In this workshop, we talked 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.
- 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.
Good communication is a key part of contributing to open source.
- Give context.
- Do your homework beforehand. It’s OK not to know things, but before asking for help, check a project’s README, documentation, issues (open or closed) and search the internet for an answer.
- Keep requests short and direct. Many projects have more incoming requests than people available to help. Be concise.
- Keep all communication public.
- It’s okay to ask questions (but be patient!). Show them the same patience that you’d want them to show to you.
Keep it classy. Context gets lost across languages, cultures, geographies, and time zones. Assume good intentions in these conversations.
Where to start?
What are some good resources you’ve found for understanding the squishy side of open source?
Sponsor: Get the latest JetBrains Rider for debugging third-party .NET code, Smart Step Into, more debugger improvements, C# Interactive, new project wizard, and formatting code in columns.