Maybe I'm missing something, but it seems hard to find meaningful open-source projects that have something a new developer could tackle. Often looking up labels like "good-first-issue" on GitHub give an abundance of random tasks seemingly only made for things like Hacktoberfest.
So, anyone have any tips?
Top comments (21)
To be honest when I started a while ago I was on the same boat. I stopped worrying about finding an open source project I could contribute to because it felt forceful. Instead I continued studying and practicing.
Nowadays I make PRs after I have been using a library, node package, framework, for any of the projects I'm working on (either personal or required by my job). Sometimes it's a typo on the docs, sometimes it's adding more examples on docs and eventually it's a new feature or a bugfix. As others mentioned, there are projects with issues beginners-friendly if you wanna really dig into it.
But what I found more "natural" is just working on a project and...getting frustrated! Then I address that frustration with the hope of preventing anyone else to fall into the same trap. The way I address it is usually with a PR!
So go ahead and try to build something. If you use a library and the docs are confusing, submit a PR! You find a typo, submit a PR! You find a bug, try to your best to fix it and if you can't, open an issue!
Thanks for the advice. That is a good process, especially the adding to the docs of packages I find confusing.
Good advice and that is exactly what I have done over the last year. It has been a lot of fun and I have learned a lot about collaboration in the process.
I am also on the same boat right now, my approach is looking at Dev.to's open source shouts, and I also found this one GitHub project that has direct links to each repo that has beginner labels.
MunGell / awesome-for-beginners
A list of awesome beginners-friendly projects.
Awesome First PR Opportunities
A list of awesome beginner-friendly projects.
Inspired by First Timers Only blog post.
If you are a maintainer of open-source projects, add the label
first-timers-only
(or similar) to your project and list it here so that people can find it.If you are looking to contribute, then explore this list, look at
first-timers-only
labelled open issues on Github, and follow @first_tmrs_only on Twitter to be notified when a newfirst-timers-only
issue is created.If you are not a programmer but would like to contribute, check out the Awesome for non-programmers list.
Table of Contents:
.NET
Great, thanks for the link!
Look for the โfirst-timers-onlyโ tag. Thatโs a decent one. But youโre right this is a large problem and one I personally experienced back when I was self-taught.
Check out OpenEMR if you can. Iโm one of the devs on it, but itโs pretty much the only Open Source app available for hospitals and clinics. Does a lot to reduce healthcare costs. Anyway we could always use JS or PHP ppl and would be happy to give you fun starter issues :)
A friend of mine had mentioned OpenEMR a while back and I am a PHP dev. Looking to kickstart this journey. Any links on how to get started would be much appreciated. Thanks.
Yeah its hard. I think it would be easy if you want to understand the project first and search for help-wanted label with easy task.
and Im new developer too. I never contribute to openspurce trough PR cause I never see one with easy task.. haha. but surely understand the project could help others and us in the long run
In my experience, Iโve been told open source is hard and issues are tracked by humans so sometimes they may forget to add the right tags but youโd definitely find something for beginners. Just look for something youโd want to contribute to, go through the issues and ask questions people might even team up with you to help fix the issue as with my first experience with the EmberJs team. One of the core members basically took me through the project and helped me with step by step guide to contribute to their project.
"good-first-issue" are not used by enough projects to find them blindly. Most maintainer welcome contributions, but don't advertise for it. As already said, try to improve the tools you already use. Whatever small the change is.
My first time was with a pixel art web app named Piskel. I add a listener to the escape key to close a popover.
I recommend issuehub.io to find issues on github in your language of choice. It is a great way to find projects that you are interested in.
I find the idea lists projects create for Google Summer of Code to be a great source of ideas for contributing to open source projects. These lists may have been crafted with GSoC in mind, but I find they are often great ideas for other hackers to use to jump into a new project.
Since the lists were created for GSoC, most of the ideas are created for people who have some experience in the language the project is written in but maybe not any experience with that project in particular. Also, participating in GSoC demonstrates a project is at least interested in mentoring new developers.
Check out the list of participating organizations on GSOC's website. Click on an organization you're interested in, and the Learn More page for that organization includes a link to that organization's ideas list. Most of the lists also give the required skills and estimated difficulty of a project.
Also been wanting to contribute for a while and faced the same problem. Lately I've noticed that almost any open source tool/framework I'm using has a bug or something that doesn't work as expected. So instead of trying to hack around it I immediately open an issue on github, and if it's really a bug I fix it and make a PR.
Still I don't know what's the process to get to be one of the core team that actually build features / architecture.
SourceSort looks like a good resource for finding projects that need contributions. The focus on measuring how healthy a project is definitely seems useful for new contributors.