DEV Community

Peter Kim Frank
Peter Kim Frank Subscriber

Posted on

How did you feel after your first open source PR?

I just made my very first PR to a non-DEV open-source repo. I noticed a typo in the README of @liyasthomas's Postwoman project so I submitted a PR that changed just three characters.

Fix typo "CUP" to "CPU" in readme #86

Just fixing a single typo, as I assume the sentence should read:

Low RAM/memory and CPU usage

A few hours later it's merged. Even though this is close to the theoretical floor in terms of adding true value, I'm feeling surprisingly proud of myself for chipping in this tiny amount.

How did you feel after your first open-source PR?

Top comments (26)

Collapse
 
ben profile image
Ben Halpern

Even though this is close to the theoretical floor in terms of adding true value

The value of functional code is always nebulous. With every line of code, you introduce the possibility for unexpected behavior, technical debt, and all sorts of problematic stuff. Even improving the code through strict refactoring means someone understands the code less because it changed since they last saw it.

Typos are 100% vertical gains. There's no questioning whether fixing a typo makes a project better (unless it's a code typo where some other untested code was relying on that typo, then we have a problem 😋).

I may have done something else before but the first open source PR I can remember was updating content on the Reactjs site. Just changing some facts which had gone stale. At the time the site was also hosted in the same repo as React the language, so I felt very proud to be a part of that contribution history.

I even felt proud making some changes to Rails that I never even opened a PR for (because I got lazy), but the fact that I'd had an opinion on low-level code and felt like the change was worthwhile was a pretty fulfilling moment in and of itself.

Collapse
 
deciduously profile image
Ben Lovy • Edited

My first PR was DEV-inspired, but not DEV-specific:

Create Rust/Hyper app #8

This app functions, but does not pass the starting HTML test. The provided test requires an item list like:

<ul></ul>

My template is generating the following:

<ul>

</ul>

I initially attempted to strip the whitespace in the test but it still doesn't quite alleviate the discrepancy between my output and the test's, though I believe they are functionally equivalent. I couldn't figure out how to omit the newline, I'll re-submit if I do or anyone has a tip.

What struck me most was how normal it felt to do. My New-Year's resolution for 2019 was to open a PR and have it merged, and I'd been building it up in my head as this massive undertaking. Some sort of huge leap forward in terms of my knowledge and career.

It was nothing of the sort. I just wrote some code that did the thing and submitted it, much like I do every single day to my own profile. Dave accepted it within a day, and life moved on. I am proud that code I've produced has escaped the confines of my own GH page, but what struck me most was how blasé the whole experience was. It completely stripped the aura of insurmountability from the process, and I went on to make a few more trivial PRs later that week. It's just not that big a deal, after all.

Collapse
 
tallship profile image
Bradley D. Thornton

Well to tell you the truth, the floor is the part of the house that all of the walls extend upward from, to the ceiling, from which the lights hang, and you can't flip a light switch or hang pictures until you have a wall...

What were you saying about the insignificance of your contribution?

Collapse
 
rmariuzzo profile image
Rubens Mariuzzo • Edited

I felt like a superhero! Also felt like with imposter syndrome. 😅

I joined Github on 2011, however I created this PR to solve an annoying issue at work. I was used to create designs using the defunct Fireworks, using all kind of color blended colors instead of solid colors. Therefore, I read the implementation of some of those blending colors operations in other project and consolidate in a PR.

Ah, I felt proud to have contributed something useful not only for me, but for others.

Here's the PR:

9 blending modes added as LESS operations #596

rmariuzzo avatar
rmariuzzo commented on Jan 25, 2012

Hi Alexis,

If it is not out of the LESS project scope, you may feel free to add these 9 blending modes.

  • multiply
  • screen
  • overlay
  • softlight
  • hardlight
  • difference
  • exclusion
  • average
  • negation

I also created the test cases, and it works like a clock.

Collapse
 
philnash profile image
Phil Nash

My first PR was to the omniauth project because it wasn’t working for Instagram and I needed it for the project I was working on.

Foursquare strategy wasn't working #91

philnash avatar
philnash commented on Nov 11, 2010

Hi,

I've made one tiny update to the Foursquare strategy in oa-oauth. Without requiring the two files at the top, like in the Twitter strategy, trying to complete the OAuth dance with Foursquare in a Sinatra app was failing for me.

Let me know if there is anything else I can do.

Thanks!

Phil

The PR wasn’t merged sadly, but the issue did get fixed. I felt pretty good about being able to find and fix an issue that would not only help me but others too. I think that’s some of the beauty of more casual open source work, everyone can have an impact and it doesn’t take working full time on open source to make a difference, just fixing or building a feature that you need and that will help others too.

(Oh wow, that was 9 years ago! I’m getting old!)

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited

If you talk about accepted Pull Requests, I am really proud of github.com/DefinitelyTyped/Definit..., and learnt a lot about code styles... -- even though I eventually use a different library, instead.

Every TypeScript dev should try to contribute to DefinitelyTyped at least once.

Fortunately, I also found that, for non-monorepo, I don't have to wait for PR to be accepted. I can always npm i <FORKED_GIT_URL.git>. There seems to be an equivalent in Python's PIP as well.

Otherwise, I really recommend everyone should create one themselves,

  • Clone a old project of your own
  • Branch
  • Edit
  • Reupload
  • Try to merge online -- tada, you have created a Pull Request, and it is open-source PR, if you code is Open Source.

BTW, you can search via github.com/pulls.

Collapse
 
gopkumr profile image
gopkumr

Even after being a Dev for a long time it was intimidating to submit a PR to any open source project as it felt like someone else's code and not so used to process, and most times forked the repo, make changes and keep it to myself.

Then found a GitHub repo called firstcontributions where it is okay to make mistakes and tried few PRs and got acquainted. This is a good start for anyone like me waiting to try how it works and then make the actual contribution.

The most proud moment was when I submitted my PR to umbraco and the team gave me a contributor badge.

Collapse
 
infominer33 profile image
⧉ infominer

Its so cool, because these first contributions may seem small to us, but are necessary for the open source ecosystem!

It feels incredible, adding value to even established projects, with simple improvements that others haven’t gotten to.

Collapse
 
terabytetiger profile image
Tyler V. (he/him)

My first PR was updating some wording in the Gatsby tutorials.

I felt incredibly nervous for the ~ 1 day it took for someone to review and merge, then immediately afterwards felt incredible! I could do anything!

It really opened my eyes to the potential and power of Open Source!

Collapse
 
nirebu profile image
Nicolò Rebughini

During the whole process I felt pretty nervous (impostor syndrome FTW), from the moment I opened the issue, to the moment I opened the actual PR. My first one was an actual dev related one with a code fix, and I've written about it here

Being inexperienced, both in real-world coding and working on opensource projects, I had constant questions on the wavelength of "What if the author finds it a bad solution?" and the like. But ehy, at least I tried 😁

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