HACKER Q&A
📣 sgundo

Where to Start Contributing OSS?


Hi, I am software engineer. And, as the time is passing I would like to get into the Open Source world. What are the best OSS projects to contribute to? I am searching for a good community to start from. I am at a good level with Python and JavaScript, and I have an understanding of C++ and Golang. But I am not scared of learning new languages if it's needed. Any suggestions are welcome! :)


  👤 dabiged Accepted Answer ✓
My first OSS project contributions went like this:

* Start using some software that I liked

* Read the documentation and notice poor grammar, punctuation, typos etc.

* submit PR for documentation (man pages, comment lines etc.)

* get PR merged and introduced to the dev team.

* submit more small PRs that are code based (expand existing classes, add minor features) etc.

* the maintainers will generally give feedback that your code doesn't fit into style guides, linters, case conventions etc. So patch it up and get it merged.

* Now you can pretty much do whatever. Test the code on Arm64. Add new OSes to their build pipeline.

My advice: Start small. Actually talk to the maintainers.


👤 hayst4ck
I feel probably similar to OP. If I were asking this question, I wouldn't be asking for specific OSS projects to contribute to for value, I would be looking for OSS projects to contribute to for initiation into a community or OSS projects which are very good at on-boarding new contributors.

I guess the question I would be asking is: Which OSS projects having welcoming communities? or Which OSS projects are easy to contribute to? or Which OSS projects have the best onboarding?

As a single question: Which OSS projects will invest in teaching me how to be an OSS contributor/a member of the greater OSS community?


👤 dgunay
Most of my open source contributions have come from necessity, either for work or for a side project. I would say you should look at tools and libraries that you use frequently, especially if there is something small about them that you think could be improved.

You can also look at it from a more negative ideological perspective: are there any pieces of software you wish would just go away? Support their biggest competitor by using and contributing to it.

I don't typically start by looking for a project and then finding ways to contribute. I've had limited success doing that (usually by searching on GitHub by language and issue tags), but none of my contributions that I'd consider truly valuable have come about that way.


👤 dyingkneepad
Do you use Open Source software? Is there some software that's missing a feature you'd like to have? Is there some bug or annoyance that you could fix? What kind of project sparks your interest? Web? Desktop? Gaming? Drivers? Pick something you'd like to see done, then do it. Otherwise, pick project you're interested in, learn how to clone and compile it, then browse its Bugzilla/Issues and try to help them move the bugs forward. Translate something.

👤 zainhoda
Python and JavaScript you say? Would you be interested in contributing to PyVibe?

https://github.com/pycob/pyvibe/blob/main/src/pyvibe/__init_...

https://github.com/pycob/pyvibe


👤 tomberek
My biased suggestion and would benefit from your C++ understanding is the Nix community (https://github.com/NixOS/nix).

More frankly, “best” is very subjective and you should find a passion or topic or task you are already interested and use that to guide your decision.


👤 psyklic
My initial contributions sometimes stem from noticing a bug while trying a library's examples. I often just fix the bug and submit a PR (e.g. for major memory leaks, crashes, and Windows incompatibilities). This can be useful to the project, since the examples affect first impressions.

👤 fmerian
first, that’s great :)

second, when I started contributing to OSS projects, I found these places helpful:

- https://github.com/sereneblue/awesome-oss

- https://hot.opensauced.pizza/

hope it helps


👤 ofalkaed
I would find a project you are interested in. If you lack specific interests than I would go work on Haiku.

👤 austin-cheney
Start your own project by solving problems important to you.