Paying for software

In his blog, Omar talks about his adventures in getting a good deal on Photoshop.

My take is slightly different: it's amazing what people will go through to avoid paying $20, $50, or $100 on a piece of software they would use every day for a few years, while having no qualms about spending several times that much on hardware, music, videos, movies, cable, cell phone bill, a single dinner out, or useless trinkets.

Why does software -- even good, useful software that exactly matches what someone wants -- seem to rank so low on the scale of voluntary expenditures? It seems to be less prevalent among (non OSS) developers, but I've seen lots of computer savvy people waste days or weeks searching for a freeware alternative to the perfectly good shareware app they already have, just because the shareware app will expire in 30 days unless they spend the $20 on registration. Some will even willingly endure spyware and adware to use a free piece of software over the for-pay alternative, even though they're more than capable of affording it.

Over the years I've been approached several times by people asking me to write software that can be easily found as shareware or shrink-wrap for < $100. Clearly it does not make sense for me to spend all of my weekends and evenings for months (or years!) writing custom software that could be readily purchased with two hours of salary, but what is it that makes people think requests like this are even rational? Is it a misunderstanding of the time and effort it takes to create good software?

What can we (as software developers, not must Microsoft) do to better communicate the value that software provides?