I had lunch with a colleague the other day. We talked about a free, open source project that we use at CodeFez. We both agreed that the project was well designed and well crafted. But after a bit, my friend turned to me and said, with obvious sincerity, “But I just don’t get it! Why do people build free software? What motivates them? It doesn’t make any sense!” I had no definitive, irrefutable answer to that question. But it did seem the sort of question that led to interesting speculation.
Economics: Rounding Up the Usual Suspects
There are certain obvious, yet superficial, answers to the question of why the open source movement exists, and why people build free software. For instance, it is difficult to compete on an economic basic with companies that have a monopoly or near monopoly position in a market. In the absence of legislation limiting the scope of these monopolies, the only alternative is to build free software. The free market system collapses in the face of a monopoly. Free software is one alternative that promotes competition and choice in a market dominated by massive forces with virtually unlimited power.
A less dramatic force driving the free software movement can be seen in corporations where software developers need tools. Developers in corporations work for departments, and each department has a budget. As a rule, these budgets are not designed to be flexible, but instead set up a static framework in which developers are expected to work. Hampered by these budgets, it is often difficult, though by no means impossible, for developers to buy the tools they need. As a result, software developers have formed small international coalitions to develop the software tools that they need. Go to SourceForge and you can see tens of thousands of these tiny international coalitions creating software tools under the aegis of the open source movement.
As powerful and important as they are, the economic and legal forces discussed in this section of this article are not really the basis of the free software movement. They answer some questions, but they leave too many other questions unanswered. Why aren’t people unhappy using the software provided by a monopoly? Why should employees bother to gang together to solve their employer’s problems? It is clear that to understand free software, one needs to dig a little deeper.