Frequently asked questions with regard to the development of free software are: "How can a widely scattered bunch of amateurs and hackers compete with highly skilled and well paid professionals working for some of the world's largest corporations to develop high quality software?" and "Why would anybody want to do all that work for free?"
Free software, generally the same as open source software, is software that is available to anyone at no cost and to use for any desired purpose. It contrasts with proprietary software, also called commercial software, which is software that is owned by a company or individual, which is usually not free, and for which there are usually major restrictions on how it can be used.
That there are powerful incentives to develop free software. And that the resulting programs are often as good or better than comparable proprietary programs is clearly evidenced by such things as the rapid growth in the use of Linux worldwide (including by major corporations, universities and government agencies), the fact that the open source Apache web server has a nearly 70 percent market share for hosting of web sites on the Internet, and the fact that the protocols that form the basis of the World Wide Web and the Internet itself (e.g., TCP/IP, HTML and HTTP) are all free.
The number of open source development projects currently under way is vast. For example, SourceForge.net, the world's largest open source software development website, had more than 100,000 hosted projects and more than 1.1 million registered users as of mid-2005. The participants include some of the world's foremost programmers and many leading computer companies.
Among the (non-mutually exclusive) incentives for contributing to the development of open source software are:
(1) The joy of creating and of craftsmanship. It is the same reason that sculptors, surgeons, musicians, athletes and many others have felt compelled to practice and polish their craft throughout history, virtually irrespective of the financial rewards it did or did not bring them. Programmers are no different.
(2) The satisfaction of being involved in a project that could be of major benefit to the world. This is the same reason that some people devote their lives to public service activities or donate their hard-earned money to philanthropic or other causes. For some people, true happiness comes from creating and giving at least as much as it comes from earning money, spending it or gaining power.
(3) Improvement of one's resume and help in getting a job, or a better job. Many employers look favorably on volunteer work. Volunteer work is now even more attractive to job candidates because of the increased difficulty of obtaining good computer-related jobs in the last several years. Some employers value volunteer work so highly that they encourage their employees to continue or start such projects even while they are fully employed.
(4) Enhancement one's reputation or prestige. Many people crave not only material rewards but also status. The supreme example to much of the computer world of a reputation that has been made by volunteer work is Linus Torvalds, the founder of Linux. (It should be pointed out that Torvalds' purpose in creating Linux was not reputation or prestige, but rather these were just unintended by-products.)
(5) An excellent learning experience. One of the best ways to learn is by getting involved in a project. This can be particularly true for computer science students who have had little hands-on experience. It can also be true for people already employed in the computer field who want experience in a new area.
(6) A belief in the importance of a project or in open source software in general. Many people involved in open source software development feel passionately that it is a key to helping the advance of the computer industry and perhaps even to making the world a better place.
(7) A competitive spirit. Many humans are endowed with a strong desire to compete (whether it be in business, sports or craftsmanship), and programmers are no exception. There has been a particularly strong desire to compete with proprietary software, perhaps in part because it is seen to be an easy target.
(8) A desire for software primarily for one's own use or for in-house use. This is the reason that Torvalds started Linux. It is also one reason that a growing number of companies have been supporting the development of open source software.
(9) A desire to repay the community for benefits one has received from open source software, from a good job, etc.
(10) Profitability. Although not generally as profitable as commercial software, free software can still be highly lucrative for both businesses and individuals. Such profits come not from selling the software itself, but rather from selling services, other software and hardware associated with the free software. Particularly notable in this context has been IBM, which has invested more than one billion dollars in Linux and other open source software and which has been reaping substantial rewards from this investment.
Created July 4, 2005.