There are three types of people who make small software programs. There
is the hobbyist , the philanthropist, and the entrepreneur. The latter
is really in denial . He is really just a hobbyist or a philanthropist.
I can't speak to Windows freeware, but that certainly isn't the case in
open-source.
IBM, for example, makes their money selling big iron and the services to
support it. Software isn't IBM's primary product, but nobody's going to
buy the hardware if there isn't any software to run on it. However,
things are evolving so fast now that not even IBM's tens of thousands
of full-time programmers could keep up with all the demands for new
applications or enhancements to the old ones. IBM found their solution
in Linux and open-source software. Linux not only came up from a very
late start but is now surpassing Windows in many areas so there's no
doubt that it's capable of keeping up once it gets there. To move along
development in certain areas that would immediately help sell its
hardware, IBM contributed money, manpower, and source code to the
open-source effort. Rather than making money directly off the software,
they give the fruits of this investment away and make their money from
the demand it generates for mainframes and services. Other large
corporations with similar needs are following IBM's example (Hewlett
Packard comes to mind).
The open-source KDE environment is based on TrollTech's commercial Qt
library. The library is free and open-source to those who write free
applications, but those who would use it to build commercial
applications must purchase a $1500 license from TrollTech. As you might
guess, a programming library has to be exceptionally good to fetch
$1500. Yet, the open-source community gets it for free in return for
exposing a great many technical users to the library and providing a
real-world demonstration of its capabilities to interested corporate
buyers. This is a common model in open source. Sun originally used
StarOffice in a similar manner to advertise their Java language, and now
StarOffice has become a product in its own right.
Free open-source software often grows more than it's designed. The Emacs
editor, for instance, has gotten most of its growth through small code
additions and enhancements, many made by professional programmers using
it to develop their company software. If they need some little feature
that Emacs lacks then they're able, by virtue of its open source code,
to add that feature - something they couldn't do with a closed-source
commercial editor. The programmers are paid because they're working on
company time. The company benefits because its programmers get a
powerful and highly configurable editor which streamlines their work,
and without having to pay $300 or more for a commercial editor for each
and very workstation. The Emacs project benefits because the programmers
feed their enhancements back to the developers for inclusion on later
releases. Aside from the obvious altrusitic motives, their incentive for
giving away their enhancements is that if the changes become part of the
official editor then they won't have to re-implement all those
enhancements every time they upgrade to a new version of the editor.
Open source demoware tends to be so much less crippled than Windows
demoware that I think one could be justified in calling it freeware. The
Sniff+ "source code engineering tool" limits its personal-use edition to
200 files per project, which is nicely chosen to be more than enough for
a home user yet a bit confining for multi-programmer corporate software
development. The corporate version sells for between $1,000 and $3,700
so again home users get a very, very nice product for free and the only
limitation is on something we don't need anyway.
TheKompany.com enhances existing open-source software and sells the
enhanced versions plus their source code. They've been around for a few
years now and their product line just keeps expanding, so they must be
doing something right. Rather than being a deliberately crippled version
of the commercial version, the "demo" version of TheKompany's
enhancements is an application that was meant by its developers to be
complete in its own right. TheKompany just polishes it up a little and
adds some extra features of their own. I hear rumors that they're
experimenting now with some products where their enhancements involve
external programs or libraries that don't fall under the GPL - you can
download the pre-compiled binaries for free but must pay to get the
proprietary source code.
Although designed to be cross-platform, the Apache web server was
initially funded by businesses that needed a Unix-based web server, as
well as by companies that sell the systems the software runs on. Running
a business on the web also requires a database and scripting languages,
so these free applications are also funded and/or partially staffed by
web businesses and their hardware vendors. And since having a good
browser encourages people to spend time on the web looking at things to
buy, you'll also find some of these companies funding Mozilla, Firebird,
Galeon, Konqueror, etc.
In the office, a few large corporations and a great many smaller ones
don't feel well-served by Microsoft's forced upgrades, new licensing
schemes, extortionate prices, abuse of data lock-in to force customers
to cave in to these things, lack of security, and/or overall lack of
repsonsiveness to unusual needs. They've banded together to fund or
contribute code and manpower to linux, KDE, Gnome, Mozilla, OpenOffice,
etc., all of which are given away for free but are already providing a
big pay-off in other ways.
As for the "hobbyists", a great many unpaid open-source contributors are
professional programmers. On the job, a professional programmer is
somewhat like a creative artist who spends 60 hours a week on a job
where he is told what he will paint, what colors he will use, how large
his canvas may be, and which brushes and techniques he's allowed. It's
only at home that he can finally create what *he* wants to, the way *he*
wants to do it. Corporate programmers usually don't have the time to
start selling software at home but like all artists they want other
people to appreciate their work, so the finished application is released
as open-source. Just incidentally this gains name-recognition for the
programmer among programmers who work for other companies, and exposes
his work for them to show to potential new bemployers.
Some good free software comes out the University environment, too, where
open-source projects provide advanced students with a hands-on
development experience in a large multi-developer project and in return
the open-source community gets some great software. The FreeBSD
operating system that I love so much has its roots at the University of
California at Berkely. The academicians working on the BSD's include
some of the best computer-science people in this country. Their
advanced students working on Master's degrees or a Phd thesis in
computer science make contributions as a learning exercise, while the
professors work on it to keep their hands in or as the basis of an
academic paper. The BSD's have become so popular that other Universities
and parts of the private sector now contribute.
In all of these cases the software is given away for free, yet the
contributors reap rewards. In some cases giving away the software is
what ALLOWS the contributor to realize a benefit.