DEV Community

Cover image for Open source contribution for beginners?!
corey rodgers
corey rodgers

Posted on

Open source contribution for beginners?!

Hi! I'm an amateur developer looking for a starting point to begin contributing to open source projects, I have a reasonable understanding of OOP

I work as a web assistant for a university in the UK so currently use Bootstrap, ASP.NET, HTML, Javascript, and CSS confidently on a daily basis.

Currently studying React along with topping up on ES6 and using other frameworks such as PixiJS.

I've also used VB.net, C#, and Python at an amateur level

I'd like to start very simple and work my way up in complexity and build my experience in helping out and improving my development skills.

I have a background in Games Development (UDK and Unity) so helping out with something along those lines would also appeal to me!

Are there any recommendations for projects I can easily get stuck in to?

Thanks in advance guys!

Discussion (14)

Collapse
derekjhopper profile image
Derek Hopper

Are there any open source projects you use in any of the work you do? That's a good place to start. Occasionally, I'll look at dependencies in projects I'm working on and see if they have any issues I could help with. It's a good way to give back.

Also, contributions don't need to be large or complex. I've made contributions where the only thing I helped with is to fix some spelling mistakes or fix typos in documentation.

Some general advice when you want to make a contribution:

  • Start by thanking the author(s) of the project. It always helps to be nice.
  • Read their contribution guidelines. Most projects have one. For example, some projects don't accept new features.
  • If you're unsure if they'd accept a change, open an issue and propose your change. Ask them if it's something they'd be interested in.
  • If you find a bug, submitting an issue with a failing test case helps. Then if they ask if you have time to fix it, you're already on your way.
  • Try to be available to communicate in a somewhat timely manner. Sometimes a pull request might go back and forth through a few rounds of changes. Timely communication helps and makes the process easier for everyone.
  • Follow the conventions laid out by the project. If they write tests a certain way, try to follow that instead of your own style.
  • When you open a pull request, try to explain as much as possible. If the project has a pull request template, follow that.
  • In general, be nice and easy to work with. No open source maintainer is going to get mad at you for being nice.

Good luck! Contributing to open source is a worthwhile endeavor. If you make it something you do regularly, you'll have a handful of contributions one day.

Collapse
isabelcmdcosta profile image
Isabel Costa

These are really good recommendations 🙌🏾🙌🏾🙌🏾

Collapse
perkinsjr profile image
James Perkins

I will have work in the next month of two for beginners, I am currently working on document the procedure for fixes.

you can look at this:

github.com/MunGell/awesome-for-beg...

Thats a great list.

Collapse
coreyrodgers95 profile image
corey rodgers Author

That would be great if we could keep in touch regarding it?

I'll check out the list now thanks for the link!

Collapse
perkinsjr profile image
James Perkins

I will DM you / message you on Dev when its ready or keep and eye on the posts regarding who has open source contributions. Good luck for now

Collapse
bennypowers profile image
Benny Powers 🇮🇱🇨🇦

MDN!!!

Make some contributions to docs and you'll

  • learn web APIs
  • learn github etiquette
  • help others
Collapse
lepinekong profile image
lepinekong

Well when I tried look at Opensource (like for React), typical instructions are

  1. Fork the repo
  2. npm install

And so what's Next??? :D

Now I understand, it's a lot of work. So hope to do better for my future opensource project at grafcet.online: I'll document every program with diagrams made with herself so that even absolute beginners can understand all the code without spending weeks trying to decipher the maze ;) In fact that's of the very purpose of this tool. I'll also use it to document other Opensource projects.

Collapse
lysofdev profile image
Esteban Hernández

You can try increasing test coverage and upgrading outdated dependencies on a library or tool you are familiar with. Maintainers are usually open to these less obtrusive contributions.

Collapse
kyleboe profile image
Kyle Boe • Edited on
Collapse
jess profile image
Jess Lee

Not sure how many of these projects are beginner friendly, but there could be something here for you:

Collapse
lepinekong profile image
lepinekong

Yeah that's helpfull, will probably use it when I'll be ready in a few months :)

Collapse
foodogsquared profile image
Gabriel Arazas

Here's a good starting point on getting on that.

Collapse
coreyrodgers95 profile image
corey rodgers Author

?