Today, I made an open source contribution. It was not my first and definitely not my last but it made me realize something about myself.
We all use libraries and tools that we did not build ourselves. Many of the ones I use tend to have more than 50 contributors. Often times, they are super organized with github issues, PR's, labeling, etc. Aside from being super useful, they also tend to be well-documented. It's nice.
I have always held back from making pull requests from them because I find putting my code out there a bit intimidating. I mean, someone has to merge it, right? Someone has to be like, "Ok, this works and is not written terribly." The gatekeepers.
We experience this at our jobs but there's a bit less pressure since companies have private repos... your website might suck and be slow but now on is able to directly comment the pull request you made that ruined everything.
For the past couple of days, I've been working with Hologram to generate a styleguide. I had used Sassdown before but Hologram seems to have gotten a decent amount of attention and is pretty similar to Sassdown so why not? I was testing the pages and was happy but I wanted to center the footer text that was being generated per the default footer template.
After having worked so long to document the CSS and get it display the content how I wanted, I was a bit tired of staring at it all. I added a text-align: center; and refreshed. No big deal. While doing that, I went back to the code to see if perhaps I could apply the project footer class to it as well. That's when I noticed a <p> that was not being closed.
Yes, it's optional now; thanks HTML5. But it didn't seem intentional as none of the other code seemed to take advantage of optional tags. I figured the worst that could happen is some sort of reply like, "Oh, it was intentional; thanks, though!" I never encountered negative comments on Github so yes, that's the worst I could imagine.
Over time, I have had more and more people looking over my code so a little bit of the intimidation has faded. Had I actively put my code out there, put my personal projects on Github, though... I may have aquired more knowledge about best practices at a better rate. Lately, that's what I was wondering. So, this time around, when I saw something I could fix... why not?
My advice to anyone start out is to not be scared of getting your code rejected. It will help you improve; we have all sucked. We are all always getting better. And sometimes, you'll make a small fix to a cool project and you'll get a cool button on your pull request: