Software is Play

  • strict warning: Non-static method view::load() should not be called statically in /home/trygnul/public_html/action/modules/views/views.module on line 823.
  • strict warning: Declaration of views_plugin_display::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/trygnul/public_html/action/modules/views/plugins/views_plugin_display.inc on line 1684.
  • strict warning: Declaration of views_plugin_display_page::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /home/trygnul/public_html/action/modules/views/plugins/views_plugin_display_page.inc on line 457.
  • strict warning: Declaration of views_plugin_display_block::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /home/trygnul/public_html/action/modules/views/plugins/views_plugin_display_block.inc on line 184.
  • strict warning: Declaration of views_handler_field_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/trygnul/public_html/action/modules/views/handlers/views_handler_field.inc on line 243.
  • strict warning: Declaration of views_handler_sort_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/trygnul/public_html/action/modules/views/handlers/views_handler_sort.inc on line 82.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/trygnul/public_html/action/modules/views/handlers/views_handler_filter.inc on line 584.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/trygnul/public_html/action/modules/views/handlers/views_handler_filter.inc on line 584.
  • strict warning: Declaration of views_handler_filter_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/trygnul/public_html/action/modules/views/handlers/views_handler_filter.inc on line 608.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /home/trygnul/public_html/action/modules/views/plugins/views_plugin_style_default.inc on line 25.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/trygnul/public_html/action/modules/views/plugins/views_plugin_row.inc on line 61.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home/trygnul/public_html/action/modules/views/plugins/views_plugin_row.inc on line 61.

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.