Monday, February 20, 2012

Contributing

When you're an engineer starting out or looking to build your reputation, one of the first pieces of advice you'll here is, "go open source!". Creating or contributing to an open source project is seen as a great way to get your name out there. A few hiring managers are even going so far as to ask for your Github name so they can look at the work you've done there.

And this is great. Granted, it's perfectly good to contribute to open source projects that aren't hosted on Github, but the underlying sentiment is the same. Many of us use open source projects, so coding (or testing or documenting or evangelizing) on one is a good way to "pay" for that software.

Let me make a plea for contributing to open source projects rather than starting your own.

There are thousands and thousands of open source projects out there solving all kinds of problems. If the problem you're solving is truly not addressed by any of them, then please go ahead and start your own. If, however, the problem is mostly addressed or addressed but could be nicer by something else, then please go contribute to that one.

For example, there are 476 captcha repos on Github right now. I can almost guarantee you that your new captcha repo would get lost in the shuffle. Instead, go extend the functionality of one of the 476 repos that are already there. You'll get a bigger audience for your code, and you'll have made the overall captcha world better, not just larger.

Please, go do something fun with open source. It'll be fun for your and great for the project. Just try contributing, and don't make your own unless you really need to.