I want to contribute to your project, how do I start? August 10, 2020 on Drew DeVault's blog

I get this question a lot! The answer is usually… don’t. If you already know what you want to do, then the question doesn’t need to be asked.1 But, if you don’t already know what you want to do, then your time might be better spent elsewhere!

The best contributors are always intrinsically motivated. Some contributors show up every now and then who appreciate the value the project gives to them and want to give something back. Their gratitude is definitely appreciated2, but these kinds of contributions tend to require more effort from the maintainers, and don’t generally lead to recurring contributions. Projects you already like are less likely to need help when compared to incomplete projects that you don’t already depend on — so this model leaves newer projects with fewer contributors and encourages established projects to grow in complexity.

Instead, you should focus on scratching your own itches. Is there a bug which is getting on your nerves? A conspicuously absent feature? Work on those!

If there’s nothing specific that you want to work on, then you may be better off finding something to do in a different project. Don’t be afraid to work on any free- and open-source codebase that you encounter — nearly all of them will accept your patches. If something is bothering you about another project, then go fix it! Someone has a cool idea and needs help realizing it? Get involved! If we spread the contributions around, the FOSS ecosystem will flourish and the benefits will come back around to our project, too.

So, if you want to contribute to open-source — as a whole — here are my tips:

If you want to work on a specific project, and you have a specific goal in mind: perfect! If you don’t have a specific goal in mind, try to come up with some. And if you’re still drawing a blank, consider another project.


  1. Or perhaps the better question is “where should I start with this goal?” ↩︎

  2. For real, we don’t hear “thanks” very often and expressions of gratitude are often our only reward for our work. We do appreciate it :) ↩︎

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~sircmpwn/public-inbox@lists.sr.ht [mailing list etiquette]

Articles from blogs I read Generated by openring

Summary of changes for May

Hey everyone! This is the list of all the changes we've done to our projects and apps during the month of May. We'll also be reporting in our on position in the world, and on our future plans. Summary Of Changes Noodle, released Uxn version. Imp…

via Hundred Rabbits June 8, 2021

Fuzzing is Beta Ready

We are excited to announce that native fuzzing is ready for beta testing in its development branch, dev.fuzz! Fuzzing is a type of automated testing which continuously manipulates inputs to a program to find issues such as panics or bug…

via The Go Programming Language Blog June 3, 2021

SourceHut is leaving Freenode

SourceHut has been a proud user of the Freenode IRC network since its inception. Today we have five sr.ht-related IRC channels for end-user support, operational monitoring, staff coordination, and more. We will be moving our channels to Libera Chat, effectiv…

via Blogs on Sourcehut May 19, 2021