How to Open Source cover

Learn the secrets of successful contributors

Contributing to open source can be scary, but it doesn't have to be. This is the missing handbook that will guide you from making your first contribution to building a sustainable practice.

With DRM free content, licensed under creative commons (CC BY-NC-SA 4.0), this book will go anywhere your open source journey takes you.

  Buy your copy and start contributing

We are on a mission to make open source contributions maintainable, sustainable, and accessible.

This is your invitation to join us.

Developers tell me...

perspective phone
  • "I don't have time."
  • "I've tried, and it didn't work."
  • "Working in public is scary."
  • "I'm not experienced enough."
  • "It's too overwhelming to start."
  • "I need a beginning issue."
  • "I couldn't get the maintainer's attention."

If you resonate with any of the above, don’t worry. A lot of developers struggle with these things.

In fact, you are part of the majority. These are the issues keeping MOST people from hitting their contribution goals despite their best intentions.

The good news is, they can all be mitigated. How to Open Source covers all of that in the book.

Don't think you can do this at all because you simply don't have the time? Download this free chapter and see how others fit contribution time into their schedule.

From this book, you will...

  • 1
    Develop mental frameworks

    Practical tips and a four-step framework to break down the barriers preventing you from contributing to open source.

  • 2
    Build actionable skills

    Detailed guides to make progress on common open source tasks: Issues, documentation, pull requests, and more.

  • 3
    Create a sustainable practice

    Set yourself up for long term contribution success and maximize your impact.

Book illustration

Sounds great. What topics are covered exactly?

  • Go beyond simple "how to" tasks to understand WHY contributors are successful.
  • Find your next contribution opportunity with "COIL" - a four-step repeatable framework.
  • Use concepts such as "floss one tooth" and "bat 300" to get over mental barriers and inertia to get started and keep going.
  • Shift from a mindset of "beginner issue" to "beginning action".
  • Move issues and bug reports along by increasing the quality of reproduction instructons.
  • Write A+ documentation, even for code you didn't write.
  • Maximize your chance in getting your pull request merged..
  • Apply non-violent communication principles and navigate conversations that get tense.
  • See real life examples on how other people fit open source time into their jobs.
  • Sustain your contributions beyond one commit to achieve lasting impact.

What people are saying...

"Richard is a rare voice in the open source community: skilled and experienced, but also empathetic, caring and welcoming. If you're venturing into the open-source bazaar, let Richard be your guide."
Nate Berkopec

Author of The Complete Guide to Rails Performance and co-maintainer of Puma

"Richard does an excellent job of balancing the why of contributing to open source, with the how. This book will help you overcome common challenges folks face when navigating open source projects. If you find yourself on the other side of the table in the future, it will serve as a guide for how to make your project more welcoming to others. This book may be intended for those who already know how to code but is a useful read for anyone with a keen interest in open source."
Anna Tumadóttir

Chief Operating Officer at Creative Commons

"How To Open Source provides practical, real world examples of getting started in Open Source. This book is a must read for anyone that wants to get started in the open source world."
Aaron Patterson

Ruby core contributor

  • About the Author

    Richard Schneeman, O'Reilly Author & creator of CodeTriage

    "I wrote the book I wish someone had given me 10 years ago when I got started contributing."

    Richard has spent the last quarter of his life researching how to bridge the gap between projects that want contributors and people that want to contribute. He has conducted interviews, paired with developers, and made hundreds of personal contributions. He is most known for helping sixty-thousand developers contribute to open source through his platform, CodeTriage.

    He is a maintainer of libraries with over 1.9+ billion downloads. He currently helps maintain the Puma webserver, a high performance threaded webserver in Ruby. He contributes to high profile projects including the Ruby language and created several successful open source projects such as derailed benchmarks with over 2.8 thousand stars on GitHub. In addition to Ruby, Richard enjoys writing Rust and "any programming language that will get the job done."

    Richard lives in Austin, Texas, with his partner, two kids, and two dogs.

Richard Schneeman

Frequently Asked Questions

I am a beginner. Can I really contribute?

Beginners are actually great for open source because you can see things other “experts” can’t. A beginner can respond to issues, write documentation, and interact with PRs. I teach all these skills with detailed real-world examples in my book. If you’ve tried before and failed, learn how to "floss one tooth" and transition from looking for issues tagged with “good for beginners” to finding your own beginner actions.

Does that mean anyone can contribute? Who is this book for?

Developers comfortable enough with programming to write a feature without following a tutorial will get the most out of this book. If you're employed as a developer, you're more than qualified. If you don't consider yourself a developer or are still at the intro stages, there's plenty of content for you, but you might have to supplement this book with additional outside material.

I love your writing and subscribe to your blog already. Is this content recycling what you've already written, or is it totally new?

The "How to Open Source" book is all new content. While writing this book, it was important that I don't just list off a series of tips and tricks. Through my time teaching at the University of Texas, I know the importance of stories for retention. I loaded my chapters with examples that are easy to follow and will help you recall what you need when you need it.

Do I have to know a specific programming language to read this book?

I wrote this book assuming no prior language experience. The tasks and examples apply to any programming language. I pick from the Ruby language and ecosystem when I need to show real-world examples. I also provide a few examples from Rust, Python, and Java. All code examples come with a thorough explanation.

I missed the window to join your private Slack group. Are you opening up invites again in the future?

The private Slack group was a special offer for early supporters who bought the book during the first week of launch. It is also an opportunity for me to gather feedback from the community on the kind of offerings they would like to see in the future. There is a lot in the works. If you'd like to be notified of future offerings or promotions, you can subscribe on Gumroad or follow @HowToOpenSource on Twitter.

I’d love to contribute, but just don’t know where I’d find the time. What do you suggest?

You’re not alone. The day always seems to end before you can get around to that open source idea in your head. Unfortunately, I don’t have a way to give you more hours in the day. But I can show you how successful contributors found the time and how you can do it too. Here’s a free chapter from the book to give you some ideas.

Will this book teach me how to get a thousand stars on my GitHub repo?

Before jumping into the driver's seat as a maintainer, I recommend you practice being a contributor. This book's core focus is on developing those contribution skills and building a sustainable practice. If you're primarily interested in content on maintenance, you'll still need to build skills in responding to issues, writing documentation, and interacting on PRs.

I tried to contribute to a repo but couldn't even get a response from the maintainer. Will this book help?

Maintainers are in high demand. Getting their attention can be tricky but not impossible. I walk through my experiences with this all-too-common scenario and share specific, respectful strategies to move the conversation closer to getting your PR merged. You'll also learn about the hidden dynamics of maintaining an open source repo. When you understand what maintainers want, you can maximize your chances of getting your PR merged.

Why are you charging for a book on open source instead of giving it away for free?

The book has a creative commons license and no DRM. I wish I could give everything away for free: the book, the illustrations, my videos, everything. I chose to make CodeTriage free and open source for all because I believe the community is a better place when everyone has access. I learned from my time publishing my free Rails course that giving away content can have an enormous impact, but content is harder to sustain than code. I've labored over this book for years and am proud of the result. I charge because I think it's worth the value.

Do you have a question?

Email your questions to [email protected] or message @HowToOpenSource on Twitter.

You are the future of open source.

Don't wait for a beginner issue. Take a beginner action instead.