Software is Play

This week I've been thinking about how to explain free software to people. Mainly, how do you answer the question: How can software be free? Don't programmers need to be paid? After all nobody works for free.

If nobody works for free, then on the flip side you could say that people pay to play. Just think of writing software as something like playing music. There are millions of musicians in the world who practice and spend money on instruments and play with no expectation of monetary gain whatsoever. These people do it because they enjoy it, it relaxes them, and keeps their minds active. Or else it becomes so natural to do, it's second nature and it's just fun.

Speaking as a sometimes developer, I concur. Programming is fun for me. There have been a number of occasions where I pushed sleep aside for a few hours after programming all day. When you're creating something so functional and such a pure expression of thought as a program, you will have no problem understanding why people would write code for free. Bug reporting is another thing but you get my point.

If you've never done any programming, Python and C are great languages to start with. For Python, just follow this How To ( http://python.about.com/od/gettingstarted/ss/helloworld.htm ) and see if the programming bug bites you. If so, take it further and spend some real time programming. You'll then come to appreciate how important is that our software be free since it takes away that feeling of helplessness when an error window pops up. There *IS* a fix to that problem and you can create it yourself.

To sum up, software can be free, people pay to play, and you can fix free software yourself. In fact if there's ever anything you have to put in for free software, it's your time improving it. The coolest thing about learning to program is that you can actually help advance free software while you learn. Just download some source and try to squash a bug. That's the free software version of paying to play. ;)

Feel free to pass this along to anyone you think might be ready to start programming and if you would like to write a future newsletter issue, send your submission to david@trygnulinux.com.