Make open source contributions a priority

I get it, you got a metric shit ton of stuff going on at work and open source
contributions aren’t necessarily one of them. Bet there’s a good chance you have
at least one side project though. Also bet there’s a good chance that you don’t
make open source contributions a priority with your side projects.

Don’t get me wrong, not every project is so ahead of it’s time that it warrants
creating some new library that the world has never seen. There’s also a good
chance that your project isn’t 100% dependencies and you are writing code.
Perhaps some of that has a place out in the world.

For me, I value open source greatly and try my best to ensure that most, if not
all of my side projects ends up resulting in contributions. It could be as
simple as fixing some bugs or adding some new functionality that you needed to a
dependency. In the more extreme cases, you could end up rolling out a brand new
library.

You could argue that your pre-product stealth start-up that’s gonna be the the
next Uber for whatever has a ton of IP and releasing the code would jeaopardize
your unicorn status. Truth is, your shit’s probably going to fizzle out within
the next year. If you’re anything like me, you will lose interest within the
next two months… NEXT PROJECT!

So with that being said, and the fact that you probably have a ton of failed
start-ups in your back pocket already, why not give back a little? I’ve done it
and have made sure others have done so while working on side projects with them.
Turns out our most successful open source projects were creating during this
time.

For me personally, I have two major PHP library contributions, and a ton of not
so successful contributions. One, php-googleplaces was creating
while building a local restaurant loyalty system. I built the platform, my sales
guy went MIA and all I had to show for it was this lousy PHP library. That lousy
PHP library, at it’s peak, was clocking in at around 1,200 installs per month.

The other PHP library is php-projecthoneypot a wrapper for
Project Honey Pot. I built the library to use on one of my more successful
endeavors, SceneKids and it has nearly reached 15k installs
according to Packagist.

I brought this “open source first” mentality to a project that I was working on
with my buddy Justin a few years back. I’m sure he thought I was just
being a dirty hippy trying to give it all away (that’s how my wife views my open
sourcering at least). We released a couple of packages out in npm, one did
well, the other… it did about as well as the side project did. No big deal
though.

The library in question was a thin wrapper for Amazon’s Product API called
amz-products that Justin put together. It did what we needed it to do and
as it was mostly just a wrapper for another project we were using, it’s not like
we needed to worry much about it being some game changing intellectual property.

The success story has come from the fact that my boy was recently hit up by the
upstream maintainer of the project we were using. He wants to merge in the
functionality that originated from our project and bring Justin on as a
maintainer. The upstream project is rocking close to 2,500 installs a month.
Pretty fucking cool if you ask me.

The best part is that none of these little wins would have been possible if we
didn’t take a small bit of time to make contributing a part of our workflow. I
know it’s hard to take time away from “getting shit done” but sometimes… who
am I kidding… a lot of the time these little contributions will end up
outliving the project they were intended to server.

Josh Sherman - The Man, The Myth, The Avatar

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.


If you found this article helpful, please consider buying me a coffee.