Open-source software powers the world — from Linux to browsers, frameworks, and libraries. But open source isn’t just about using free tools; it’s about collaboration and giving back to the community.
Recently, I shared on LinkedIn how I started contributing to the Quran Companion project, a cross-platform C++ application I use daily. I wanted to add a simple feature: a delay between repeated verses. That small improvement led me down the exciting path of open-source contribution. And also contributed to Hyprland window manager.
If you’ve been wondering “How do I contribute to open-source?” — here’s a practical, beginner-friendly guide.
Why Contribute to Open Source?#
- Learn by doing: Work with real-world codebases and improve your skills.
- Build your profile: Your contributions are public and can showcase your expertise.
- Solve real problems: You can improve tools you and many others already use.
- Join a community: Collaboration brings you closer to like-minded developers worldwide.
Step 1: Use the Project Like a User#
Start as a regular user. Install the project, explore its features, and see what works well or what could be improved.
Ask yourself:
- Is there a bug that bothers me?
- Is there a missing feature I’d like to add?
👉 Example: I realized the Quran Companion app needed a delay between repeated verses — a small but useful improvement.
Step 2: Explore the Repository and Issues#
Go to the project’s GitHub repository:
- Check the Issues tab to see if your problem or idea already exists and if you can work on other issues.
- Look at labels (like
good first issue,bug,enhancement) to find beginner-friendly tasks. - If your idea isn’t listed, you can open a new issue describing it.
Step 3: Set Up Your Development Environment#
When you decide to work on an issue:
- Fork the repository to your GitHub account.
- Clone it locally:
git clone https://github.com/your-username/project-name.git- Install the project’s dependencies. For C++ projects, this often means using CMake or other build tools.
- Open the project in an IDE, let it index the code, and ensure you can build and run it.
✅ At this point, you should be confident that your setup works.
Step 4: Make Changes and Test#
- Write your code following the project’s code style.
- Split your work into logical commits with clear commit messages.
- Test your changes thoroughly before submitting.
Step 5: Open a Pull Request (PR)#
When ready:
- Push your changes to your fork.
- Open a Pull Request (PR) to the main repository.
- Write a clear title and detailed description. Explain what you changed and why.
Most projects have automated checks (like formatting or build tests). If your PR fails a check, fix the issues and push again.
Then, a reviewer will look at your PR:
- They may request changes (like handling an edge case).
- Or, they may approve and merge your contribution 🎉.
Remember: reviewers are volunteers. Take your time, respond respectfully, and don’t worry about deadlines — there usually aren’t any.

Final Tips for Beginners#
- Start small. Even fixing a typo or improving documentation counts.
- Be patient with reviews and feedback.
- Read the project’s CONTRIBUTING.md if available.
- Don’t be afraid to ask questions — open source is about learning and sharing.
Conclusion#
Contributing to open source can feel intimidating at first, but it’s one of the most rewarding ways to grow as a developer.
Whether you’re fixing a bug, adding a new feature, or improving documentation, every contribution makes a difference. And who knows? The project you help today might become the one someone else depends on tomorrow.
So go ahead: pick a project you use, explore its repository, and make your first contribution 🚀.
Have you contributed to open source before? Share your experience in the comments or link to your favorite project on GitHub!
See also:




