(Note for context: sam is a shareware author. For obvious reasons, he also has a day job as a software designer.)
This article is about free software. Most people writing articles about free software start to define complex terms. They like to explain that "free" isn't about money, but about freedom (for end-users to modify and redistribute the software).
In my view, this is not the important issue. The important issue is cost. In this case, Microsoft Internet Explorer is in the same category as Netscape Navigator and Linux. The issue here is that the growing move towards "free" software devalues software. Users think that software should be free because - in reality - it can be copied millions of times for very little cost.
I wholeheartedly endorse this view.
But we live in the real world. And in the real world it costs time and money to develop software. Programmers cannot work for nothing because they need money for rent, food, computer hardware, etc. Ideally, some benevolent government would assess a programmer's output and, if it was of a useful standard, pay them a stipend. Then the software could be freely distributed and used and the programmer would be able to survive. Unfortunately this isn't going to happen.
Free software advocates suggest alternative ways to make money, and I'll discuss those now.
Support. Yes, it's possible to make money providing support for software. But good software needs little support, and I'm constantly striving to make my software more usable without help. Anyway, why should I have to do technical support? It's boring as hell.
Distribution. At the moment many companies sell free software (notably Linux) on CD, and they make money from this [and support, which I already discussed]. This is not feasible for small developers. Unless your program is enormous, nobody is going to pay to have a CD when they could download it in ten minutes from the net. And why should you have to run a distribution business? Isn't the Internet supposed to mean that artists and creators can get their stuff directly to people without any of that stuff?
Day jobs. Well, I have a day job - it's not a bad job by any means. But at times like now (when I'm busy on multiple projects of my own) that means I'm working all day on the paid job, then for three more hours or so in the evening, plus 12-hour days at the weekend, on software. That's a little excessive. I would rather be working for just 40 hours a week on my own software. Popular writers and musicians don't have day jobs in addition to their creative work - why should software authors need them?
Advertising. This is a common way to produce "free" software. I've considered advertising in my products but I don't really approve of it. I don't want to make a living from helping to sell people crap that they don't need.
So far I've explained why I think free software is not a good solution for programmers - essentially, it fucks up all the promises that the Internet made to small shareware authors (instant, free distribution; less need for marketing; no need for middlemen or to do anything other than write the software). But I haven't said why I think it's wrong.
Who does free software hurt?
Microsoft? Adobe? Macromedia? Corel? No. These big companies have the marketing clout to continue to sell their products even in the face of "free" competition which might be better. (As yet it isn't, but in time I can see that changing.)
Users? Of course not - they get software for free.
Small software developers? Absolutely. The prevalance of free software devalues software overall, making users more reluctant to pay for their software. And even if software is absolutely top-notch, people might prefer to have a slightly less good, but free alternative. For example, my leafChat IRC client is better than the free alternatives, but many users might decide it's not enough better to be worth their while paying. (In a slight dash of hypocrisy, I personally use a free Zip utility "EasyZip '98" because I don't want to pay for WinZip. WinZip is a little better, but not enough that I'd pay for it.)
Will I ever be able to quit the day job? Will I ever be able to spend my time doing the software I want to, the software I judge will be my best? Will I ever have a chance of obtaining the same goal that writers and musicians do have as a feasible long-term target, if they're good enough?
Assuming free software continues apace - probably not.
You stole my dream. I want it back.