The note about UnixTex has particular resonance for me, since I just finished collecting tax information for my first year as a testing consultant and freeware provider. My free software is GCT, a test coverage tool for C. It's based on GCC. (To find how to get it, see my signature.) It's a niche product - a lot fewer people care about coverage tools than about compilers or debuggers. Nevertheless, there are about 200 names on the mailing list, including redistribution lists, so it's become fairly widespread with only word-of-net advertising. The consulting and training half of my business did well. The free software half did poorly. I largely expected that, and didn't plan on GCT being anything but a "loss leader" - advertising. However, I wonder if it could possibly have done well. I made less than $1000 selling tapes, despite the standard appeal that future development must be supported by current income. Question: how can an FSB - not a charitable organization - make a living wage selling what can be gotten for free? There are not enough people out there who will voluntarily pay for value received. The standard answer is that an FSB should sell support. However, that is not appropriate for some products, such as GCT. - GCT is relatively easy to port (piggybacks on the portability of GCC). I'm guessing that porting (including, of course, all the clever enhancements for new architectures) is a big part of Cygnus's revenue, but it's not appropriate for me. - GCT is easy to use, so there's little call for customer support. - GCT is well tested, hence mostly bug free. (I'd look pretty silly as a testing consultant if I distributed a bug-ridden testing tool.) From a strictly business point of view, I'm too helpful in dealing with out-of-the-blue questions and bug reports. I could probably earn more money by only responding to "registered users", but I'm not comfortable with that. And it wouldn't be much more money. - Some companies consider Cygnus the only option for freeware support. As one said, (paraphrased) "Cygnus will be around next year, you may not be. The whole idea of buying support is to reduce risk, and we don't want the risk of 'buying' a product and support, then being left in the lurch." Question: For some products, support is not a source of a living wage. What then? The standard answer is that you get consulting or contracting gigs because your free software demonstrates you're an expert. This has in fact worked well for me. My work on GCT has paid for itself that way. But it raises the problem of upgrades. People are clamoring for C++ and ports to DOS. Both of those would be a fair amount of work, pretty dull work. The clamoring users will mostly not chip in to pay for it, though they all wish that others would. (This is the "tragedy of the commons" as applied to freeware development.) For me, a C++ port does not make economic sense. It will do little more to establish my expertise. I'd be better off working on new testing programs than maintaining an old one, or working on my book, or cultivating the exposure I already have. Question: For those niches where sales and support are secondary, and the real benefit is advertising, are there economic forces that will keep a product going? I'll probably do a C++ port, just out of pride of ownership. But that's not a business, that's a hobby. I strongly suspect that, except for specialized niches such as Cygnus's, a "free software business" is really a hobby, or a personal crusade. Both of those are swell. Everyone needs one of each. But it's important to realize what you're doing and adjust your expectations accordingly. Brian Marick, marick@cs.uiuc.edu, testing!marick@uunet.uu.net Testing Foundations: Consulting, Training, Tools. Freeware test coverage tool: see cs.uiuc.edu:pub/testing/GCT.README