How to find open source projects as a new developer?

github logo ・1 min read

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?

twitter logo DISCUSS (14)
markdown guide

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.


I am also on the same boat right now, my approach is looking at'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 Awesome

A list of awesome beginners-friendly projects.

Inspired by First Timers Only blog post and YourFirstPR project.

If you are a maintainer for open-source projects, add the label first-timers-only (or similar) to your project and list it here so 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 new first-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:


  • Shouldly (label: Jump-In) Should testing for .net - the way Asserting Should be!
  • MvvmCross (label: first-timers-only) The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.



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


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 :)


well... I would recommend looking for games with bugs scattered throughout YouTube, because tutorials are outdated or use methods that are impractical and don't work.
But if you want I have a game I want to make 'HypoPixel'.
If you want to do the latter, email me at


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 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.


I usually recommend writing documentation.

Adding demos always helps too. Spending a lot of time developing a project sometimes makes it hard to see it from a user's perspective.

Adding features usually involves picking up something from the roadmap.

You could also try to help by optimizing the NPM package. Here's a guide.


I recommend to find issues on github in your language of choice. It is a great way to find projects that you are interested in.

Classic DEV Post from Nov 15 '18

Don't be a mockup developer

Many times as a mobile developer I have to work on apps without the API ready that was crucial for the feature I was implementing. Either the backend was developed by another team that was not entirely in sync with us or our backend team had no chance to implement those endpoints earlier. For this reason, I was not able to satisfy the Definition of Done but it does not mean that I have implemented the UI only.

Ryan Doyle profile image
Developing developer

By the community, for the community.

DEV is open source, and it's spectacular. It's also the fastest growing software community in the solar system.

Get started now ❤️