Harnessing the Good Intentions of Others for your OSS Project

“The single biggest pool of untapped natural resource in this world is human good intentions that never translate into action.” – Cindy Gallop.

Unfortunately many people’s good intentions to help to improve your OSS project don’t result in any action because there are many hurdles to them making a meaningful contribution. The list below shows what we have seen to be the steps that potential contributors often go through. Most well-intentioned potential contributors just don’t seem make it to the end of this list.

Wish – I wish this OSS did x, y or z.
Explore – Let’s see what how this code actually works.
Hack – If I change this, this feature should work.
Share – This Patch adds my new feature.
Acceptance – My patch was accepted!
Insight – Because of my patch, they started doing feature a, b or c.
This talk will be a collection of real-world stories of how we have lowered the bar for contributors to our OSS projects. As a result, we’ve collaborated from programmers from the US, Europe, Africa, India and Australia. Our talk will include stories about our successes in side-stepping the typically longer process. It will also cover an examination of the specific hurdles and an explanation of the techniques and practices we have used to harness the good intentions of others.

Specifically, we will share real world stories from our own OSS projects (ApprovalTests and TeachingKidsProgramming) where specific problems or needs were addressed and improved or fixed due to contributions of other programmers. We will talk about techniques to make working with contributors world-wide possible. These will include specifics about remote pair programming, use of other OSS tools, and setting up environments, creating videos and other artifacts. Also we will share information about the human side of harnessing volunteer goodwill, including lessons we learned about response time, work time, cultural differences and more.

If you have your own OSS project you will learn the following:

How to monitor social media for interest in your project
How and when to reach out and connect to interested technical people
How to do remote pair programming (5 different methods)
How to coordinate a remote, distributed all volunteer team
How to have happy volunteers
How to improve your project, i.e. learn from your volunteers
If you contribute to OSS projects, you will learn the following:

How to get patches approved
How to work with the OSS leads to get your feature ideas coded and checked in
How to turn your own wishful thinking (for an OSS project to add features) into reality
The open source community has grown strong and productive by harnessing the goodwill around the globe. We would like to turn even more of that goodwill into code.