Open Source, Shmopen Shpource

Why isn't everyone writing open source software?

I have to ask myself this question before I ask anyone else. So self, why aren't you contributing to the open source community? I was recently reading a post on hacker news from a fellow UIUC developer (albeit many years my junior) that he was contributing for the first time, and made me wonder why I haven't done this already. I mean certainly there's been opportunity in my earlier days before I was busy with married life. Did I lack inspiration - perhaps. But really it was a lack of motivation, and making excuses that I'd rather take my ideas and market them, make money from them for myself and my family. I have a daytime job, and do I really want to expend the effort at night, coding into the wee hours to help some people who will never contribute to my bottom line? Well yes, maybe I should.

I think back to Malcom Gladwell's book about the biggest names in the industry, the people who made billions from their ideas, and most of them have a couple things in common: opportunity (being born at the right time and place in history) and training. They each had fulfilled a 10,000 hour minimum requirement to become monsters in the industry. Think about the best coders you know, and what can you say about all of them? While they may have a natural technical ability (and let's face it, you need a certain brain to be a good coder), they all have written a LOT of code in their lifetimes. This consists of both code inside and outside their jobs. So really, if you want to become the next Page/Brin or Zuckerberg, you really should get a start on your 10,000 hours now. Luckily hacking doesn't have the same expiration that athletes encounter when their bodies stop working as well. Nope, good coders (Fowler, Martin) can code late in age (no, I'm not calling you guys old). Some people say coding is a young person's game, but I call bullshit on that one. Young people are more willing to work for little or no money, for long hours, and companies, most notably startups, like this. I digress. If you are going to get to your 10k hours, isn't it better to contribute to the community at the same time? Wouldn't you like to help the collective good?

Let's imagine for a moment that the American cutthroat, entreprenurial, dog-eat-dog attitude could be magically transformed into the Ster Trek utopian society. People wouldn't work for profit, they would work on whatever interested them that also benefited society. Before people cry "socialist", doesn't this sound appealing to everyone? Coders would work on whatever project interested them the most, filling the motivational need they have to either solve a ridiculously complex problem, fill a deep personal need for the Frogger Android app you've been missing your whole life, build a better browser (can you hear me Microsoft), rewrite the h.264 codex... whatever, it doesn't matter. It's like that question from Office Space: "What would you do for a living if you had a million dollars". What would you code if you didn't have a day job and had to pay the bills? That's the open source project you should work on. And working on the open source project at night is going to make you a better coder during the day, and could potentially improve your skills enough to make you more marketable and land you a better job. And if you happen to work at a good place like I do where we use many open source libraries to help our for-profit software, you could be helping the open source community WHILE you work. Double rainbow all the way!

So what open source project am I going to work on? I'm actually not sure yet, but I know I'm going to contribute now. I've found the motivation I needed. Will you?