Scott Hanselman

The Squishy Side of Open Source

February 21, '18 Comments [9] Posted in Open Source
Sponsored By

The Squishy Side of Open SourceA 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.

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.

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.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb
Thursday, 22 February 2018 08:17:06 UTC
Great post Scott. I've been trying to understand how to make open source projects more welcoming to first-time contributors (and recently blogged about my experiences: One of the most useful things I've found is to ask new contributors to complete a short feedback form.
Thursday, 22 February 2018 09:22:05 UTC
I am very much inspired by (the unfortunately deceased) Pieter Hintjens and 0MQ, where the philosophy is to basically accept all pull requests.

While it might not end up that way in practice, my experience is that it gives a nice welcoming feeling to contributors, and especially first-time contributors then get a good experience with their first PR.
Thursday, 22 February 2018 11:40:07 UTC
Hostile communication it´s the worst for me. Sometimes the ego from some people it´s so high, that make them deaf.
Luiz Fernando Tuschinski
Thursday, 22 February 2018 16:15:49 UTC
May I humbly recommend as well.
Thursday, 22 February 2018 17:22:53 UTC
@Scott I think you should write a similar post about good practices for the maintainers side of the equation. Doing a good job in that aspect is something many teams on Microsoft do very poorly.

Take the C# language team for example- the community has been asking since the language was open-sourced in 2013 for more transparency from the team and the response from Microsoft has been close to nothing.
- 100% of decisions happen behind closed doors, with minimal community input. (This is really bad because there are actually some very smart people who don't work for Microsoft but have good ideas.)

- Language design notes are posted months after the meetings actually happened, or often not at all. Mads either cannot or will not delegate note-taking responsibility to someone more junior who could be more responsive.

- Because the community receives the notes so late, and because language updates now happen every few months with point releases, we have a situation where decisions have already been made and shipped before the community even knows about them.

- At most 2 people on the language team actually even interact with the community. The rest of the LDT completely ignores Github and conducts all language design in other, non-public channels. (So, as a result, sometimes ideas that were suggested on Github or discussions that were had are re-tread in a LDM, as if they were novel, because almost no one on the team actually looks at Github.)

The net result is that "open-source" C# language remains mostly a source-dump, and not a true open source project. There are other teams at MS that do a similarly poor job. I think the ASP.NET team is the exception here.
Saturday, 24 February 2018 06:20:43 UTC
For me, open-source is scary because it means no Visual Studio or Delphi compatibility. Just grabbing the code and compiling it is impossible. To this day, I haven't figured out how to grab a copy of the source code for Visual Studio Code and compile it. There are instructions that I did read but didn't make things any better. In the past, I tried ffmpeg. After a year of digging the web, I realized that compiling it is such an arcana that the maintainer of the Windows binaries offers commercial compiling services. There were projects on CodePlex that I was interested in participating... except, they were abandoned years before I came across them.

So, the skills of an MCAD certificate holder is completely useless in the open-source community?

P.S. Boy, that image is kinda creepy. Good thing my browser has developers' tools.
Fleet Command
Saturday, 24 February 2018 08:42:34 UTC
nice post
Thursday, 01 March 2018 23:14:34 UTC
ROpenSci do lots of things really well Onbaoarding reviewers and developers , lots of support and a great culture
Saturday, 03 March 2018 18:12:09 UTC
Nice post and even more nice was watching your documentary on how to becoming a social developer. I'm also an occasional contributor on GitHub and learned that one needs to be well aware of the pull request/re-basing for updating the active open source projects.
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.