DEV Community

Shashi Bhushan Kumar
Shashi Bhushan Kumar

Posted on

How I Got My First Open Source Pull Request Merged (Beginner Guide)

My First Open Source Contribution Got Merged πŸŽ‰

Today is a special milestone in my developer journey.

My first pull request has been successfully merged into the @Forem open-source project β€” the platform that powers DEV Community, used by thousands of developers worldwide.

For many developers this might be a small contribution, but for me it means a lot.


How It Started

A few months ago, I didn't even know what open-source contribution really meant.

I started exploring GitHub projects and learning how developers collaborate on real-world software. While exploring different repositories, I discovered the @Forem project and found an issue that seemed interesting to work on.

That was the beginning of my open-source journey.


The Issue

The issue I worked on was related to reaction counters.

When users rapidly toggle reactions (like/unlike) on a post, the reaction counter could become inconsistent and sometimes even negative.

This happens because multiple requests can be processed quickly, causing the counter to lose synchronization with the actual number of reactions.

Issue Link:

https://github.com/forem/forem/issues/22803


The Goal

The goal was to ensure that reaction counters:

  • Always stay accurate
  • Never become negative
  • Stay consistent with the real number of reactions

Even when reactions are toggled rapidly.


What I Worked On

To solve this issue, I worked on improving how reaction counts are handled in the system.

The changes included:

  • Ensuring reaction counts remain non-negative
  • Keeping the counters consistent with actual reaction records
  • Adding tests to prevent this issue from happening again
  • Improving the handling of rapid reaction toggling

These improvements help maintain data integrity even during rapid user interactions.


The Pull Request

After implementing the fix and testing it locally, I submitted my pull request.

Pull Request Link:

https://github.com/forem/forem/pull/22865

The maintainers reviewed the code, suggested improvements, and after passing CI checks, the pull request was finally merged.

Seeing that "Merged" status was an amazing feeling.


What I Learned

This experience taught me several important things:

1️⃣ Open source is a great learning platform

You get to work on real-world codebases used by actual users.

2️⃣ Code reviews are valuable

Maintainers help improve your code and guide you toward better practices.

3️⃣ Small contributions matter

Even small fixes can improve the reliability of a large platform.

4️⃣ Collaboration is powerful

Open source is built by developers all over the world working together.


Advice for Developers Who Want to Start

If you are thinking about contributing to open source but feel unsure where to begin, here are a few tips:

  • Start with small issues
  • Read the project's contribution guidelines
  • Take time to understand the codebase
  • Don't be afraid to ask questions

Your first contribution doesn't need to be perfect. The most important step is simply getting started.


Final Thoughts

Contributing to open source has been an incredibly rewarding experience for me.

It allowed me to learn from real projects, collaborate with experienced maintainers, and contribute to software used by thousands of developers.

And this is just the beginning.

More open-source contributions coming soon


opensource #github #webdevelopment #devcommunity #softwareengineering #DevCommunity #Forem

https://github.com/shashibhushan21 Merged

https://github.com/shashibhushan21 Issue

Email Congregation from DevCommunity side

Dev Community

Top comments (2)

Collapse
 
maibhushan profile image
Shashi Bhushan Kumar

Open source contributions have been an amazing learning experience for me.

If anyone here wants to start contributing to open source but doesn’t know where to begin, feel free to ask. Happy to help!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.