Tuesday, February 26, 2008

Why do Programmers Make Free Software?

When procrastinating on slashdot earlier today I stumbled upon an interesting comment regarding programmers behind Free Software movement left by another reader. The guy posted a question that I found interesting precisely because until recently I'd been asking the exact same thing myself. Quoting:

... But how could you think that [Free Software] this is better for programmers? I always ask this of my fellow IT professionals and they *always* respond with some vague argument about how participating in Open Source projects will get you "recognized"... Well, in the sarcastic words of Homer Simpson "Look at me: I'm making people happy". Someone please enlighten me. Explain to me how we, as programmers, are better off when the fruits of our labor are surrendered for free...

I haven't done any significant contributions to free software myself: I've helped some dudes to fix bugs in one of the first .NET drivers for MySQL once but that's about it. I've been curious about thousands of free software authors and their motives just like the slashdot guy.

Until one day I lost one of my backup CDs with some code I've been accumulating since high school, through college and the first couple of years of commercial work. Suddenly I realized how much software I've written for free. It never occurred to me that I could have made it available for anyone to use.

What kid of code was it? Turns out, the kind I couldn't get anyone to pay me for at that time. I coded whatever I was interested in using languages I liked the most. I also realized that most of my college programming friends did the same: one guy was designing his own programming language, another was playing with neural networks, I even knew two folks who started working on their own mini-OS, we just didn't know it was called Free Software. Mind you, this is not about 70s and PDP-11, I'm not that old. I am talking about middle to late 90s.

I am surprised I haven't figured this out earlier. Where else will you go to work on a PC operating system if Microsoft is not hiring? Have an idea for a new optimization for a compiler? Love hacking Lisp? Fascinated by AI and have an idea for new planning algorithm? Good luck finding job that will offer such luxuries.

Thing is, most of programming jobs suck. Even some ex-googlers called their duties there stupid, now imagine lives of poor souls at Home Depot or Wall-Mart. Lots of companies will hire you to pump their precious data from one DB table into another, but very few will hire you to design the next Perl or build a new distributed file system. This is why you'd want to code something yourself. This is why I hack Pikluk in my free time, it will be free when it's ready.

Programming is an art. Many famous composers and painters had boring "day jobs" painting kings and their fat kids. This is not what we know them for. We know them for what they did at night for free.

Programmers make free software because most software they can get paid for isn't interesting to work on.

Got it, the curious slashdot guy?

6 comments:

Anonymous said...

Nice. I will link to this article. take a look at ICanFreelance.com for any internet jobs you need.

pariuri sportive said...

well worth the read.I found it very informative as I have been researching a lot lately on practical matters such as you talk about...

pariuri sportive | pariuri online | biletul zilei

Hire iPhone App Developer said...

It's like some companies develop the software to make publicity of own... even individual programmers who are developing wordpress plug-ins they also do the same for the publicity.... that increases their business on other ways...

Cheap wedding dresses said...

Very happy to see your article, I very much to like and agree with your point of view. Thank you for sharing. At the same time,i love best pram very much .Welcome to look at my website and blog articles.Hope we can become good friends, and exchange and to help each other! Thanks!!

5W FM TRANSMITTER said...

The 5W FM TRANSMITTER plugs into the audio output of audio devices and converts the audio output into an FM radio signal, which can then be picked up by appliances such as car or portable radios.

rajmangal said...

This is what I have been searching in many websites and I finally found it here. Amazing article. I am so impressed. Could never think of such a thing is possible with it...I think you have a great  knowledge especially while dealings with such subjects.Personal Trainer Network