In this blog post, I’ll talk about why you’d want to contribute to open source software (OSS) and how one might go about doing so.
Why contribute?
- Help Others: Contributing to OSS can help other people.
- Simulate a Work Environment: This is beneficial for students, interns, or developers attempting to break into the tech industry. Some companies even hire based on OSS work, e.g., GitLab and 37Signals.
- Hone Your Skills: Contributing can help you improve your skills.
- Reputation: You can get reputation in the community for contributing to open source software.
How to contribute
I’ve kept track of my OSS contributions in this repo: https://github.com/andrewnjoo/oss-contributions.
One of my first tries at contributing was a fail ❌. I tried to fix the get started documentation in the react-rails repo. When adding react-rails
to a Rails project, there was an install error. I tried to fix this by specifying the version in the get started docs, but it didn’t go through as it would have required additional docs updates whenever there was a dependency upgrade, so the PR was closed.
My second try ✅ came from working on a side project I had at the time (xtrack.ing). I saw an opportunity to improve keyboard navigation & accessibility when using the Tab component in tremor
(a React component library). I found that the underlying code was using headlessui (a popular UI library), so I made an issue and then a PR to change a class from focus:ring-0
to focus:ring
. This allowed you to see which tab is selected when you use your arrow keys to move around tabs.
Conclusion
In conclusion, I would recommend contributing to open source as it’s fun, you get to simulate a work environment, and you can make the world a better place (with software 😊).
I would recommend looking at OSS issue aggregating sites like Up For Grabs or Good First Issue, or just whatever tool, framework, etc., you’re using.
Don’t forget to read the contributor guidelines (e.g., NextJS) as some repos can be quite large and have a lot of things going on.
Leave a Reply