DEV Community

Ryan Doyle
Ryan Doyle

Posted on

How to find open source projects as a new developer?

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 (22)

Collapse
 
gabrielecimato profile image
Gabriele Cimato

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!

Collapse
 
doylecodes profile image
Ryan Doyle

Thanks for the advice. That is a good process, especially the adding to the docs of packages I find confusing.

Collapse
 
eclecticcoding profile image
Chuck

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.

Collapse
 
edisonywh profile image
Edison Yap • Edited

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.

GitHub logo MunGell / awesome-for-beginners

A list of awesome beginners-friendly projects.

Himnadram

Awesome First PR Opportunities Awesome

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

.NET

  • MvvmCross (label: first-timers-only) The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.
  • RawCMS (label: good first issue) RawCMS is a headless CMS writtenโ€ฆ




Collapse
 
doylecodes profile image
Ryan Doyle

Great, thanks for the link!

Collapse
 
danehrlich1 profile image
Dan E

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

Collapse
 
fnjauke profile image
Frank

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.

Collapse
 
claeusdev profile image
Nana Adjei Manu

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.

Collapse
 
mandaputtra profile image
Manda Putra • Edited

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

Collapse
 
goober99 profile image
Matthew D. Miller

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.

Collapse
 
gmartigny profile image
Guillaume Martigny

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

Collapse
 
xanderyzwich profile image
Corey McCarty

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.

Collapse
 
vadorequest profile image
Vadorequest

Well, I understand you are looking to help out open source projects and are wondering which ones get into.

I never really went that way as a beginner, but despite the fact I'm not a beginner anymore, it's not easy to find out how to actually help. It takes quite some time to get into a whole new source code, it's no trivial task.

Nowadays, I usually help when I rely on a project, but I'm not looking for projects to fix, there are just too many of them! :D

We develop many things that are open source at Unly (we're a French company helping students access Higher Education), but they're not so "meaningful" to others, yet. If you want to take a look, please do! I wonder how a fresh eye would understand the purpose of those projects. github.com/unlyEd

Collapse
 
dylanesque profile image
Michael Caveney

Strongly recommend Code For America brigades

Collapse
 
doylecodes profile image
Ryan Doyle

Nice. Thanks!

Collapse
 
evanplaice profile image
Evan Plaice

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.

evanplaice.com/thought/npm-package...

Collapse
 
kaomoneus profile image
Stepan Dyatkovskiy

Also depends on what type of opensource project you're looking for. Small but promising, then owner will rather no doubts welcome any help. Or big and popular, than you perhaps follow some serious guidelines for PRs you want to submit.

As for knowledge, of course it is important. But I would always give priority to projects where owners are able to explain things to newbies, for that would mean they perfectly understandwhat they are up to, and thus provide their project with good potential.

Collapse
 
johnnymakestuff profile image
Jonathan P

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.

Collapse
 
vbordo profile image
Victor Bordo • Edited

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.

Collapse
 
leob profile image
leob

Maybe the open Github issues on dev.to itself? At least that's a "product" that you're already using, so it might feel less "forced" to contribute to it ...