Enthusiasm for the benefits of open source, however, should not be allowed to paper over the drawbacks. Specifically, open source has a critical flaw which has little to do with its suitability as an alternative to proprietary products. That flaw consists of a lack of concrete incentive to motivate developers to contribute to open source projects.
The benefits of open source are apparent. It enables collaborative development on a global scale, as anyone with the skills can view the code and contribute to it. It is highly flexible due to source code access (third parties can customize it completely) and the requirements of a development model wherein the atomic contributions (as in small, not nuclear) of thousands of developers are organized within a single product. It serves as an educational tool, as teachers can show students the inner workings of a production-scale product. It is free, and that makes possible usage scenarios not available to fee-based products (think low-cost routers running a streamlined Linux OS).
The problem, however, is that open source must rely on the willingness of programmers to contribute code without financial compensation. The Free Software Foundation claims that in a world of free software, people will program because "programming is fun." In their opinion, the promise of high returns has corrupted the programming discipline, as people have been "trained" to expect that they will be paid well to program. The solution to this problem is to remove, or at least reduce, the compensation incentive through widespread adoption of open source software, as stated on the FSF's Web site: "If we take away the possibility of great wealth, then after a while, when the people have readjusted their attitudes, they will once again be eager to work in the field for the joy of accomplishment."
That's a big "if." Would you bet the future of the software industry on it? Consider the difficulties endured by the Mozilla project, which in contrast to more popular open source projects such as Linux, had trouble attracting developer participation. Simply throwing an open source party doesn't guarantee that anyone will come.
The number of open source programmers as a percentage of the whole is small. I don't have data beyond my own admittedly subjective industry experience, but based on it, I would guess that maybe 5 percent to 10 percent have contributed to such a project. The reason is not hard to fathom. Lots of things are fun. When given a choice between a "fun" activity that keeps you living with your parents and one that buys you a Lexus, most would choose the latter.
This isn't irrational behavior, but a reflection of a world where time is limited, and human beings are creatures with a wide array of interests. In balancing fun tasks, material benefit enters into the calculation, making a project that is fun AND pays well win over projects which are just fun.
Open source development shows that there are a lot of programmers willing to work for free. But just as standard supply curve theory implies, the pool grows if you raise the price paid for the production of software. I imagine many would consider waiting tables if it paid $150,000 a year. More programmers are available to satisfy the needs of the industry simply because the wage makes it worth their time.
Prices (and profits) act as market signals. When profits are high, it often implies that supply is low and demand is high, attracting investment. The same thing occurs in the labor market, though the signal is the wage and what is attracted are programmers. Proprietary software will always generate more revenue than free, open source software. That means that programmers can earn more, making proprietary software better able to create the market signals that attract more developers into the industry.
A society that wants to maximize the creation of good ideas in software will embrace a market where open source and proprietary software coexist. Open source licenses will exist to "harvest" for society the productive power of people who, for a number of reasons, contribute free software. This is a good thing, since more can use the result (because it is free), more can adapt it, and others can learn from it. The proprietary portion will exist to harvest the productivity of programmers who, for a number of other reasons, will only program for financial compensation.
Open source software benefits society. However, a world without proprietary software is a world that throws away the productive potential of those who produce for financial compensation, a group that comprises the majority of programmers. Both groups of programmers produce good ideas. Consumers (including national governments) should have the right to decide whether the fee-based ones are worth the price.
John Carroll is a software engineer who lives in Switzerland. He specializes in the design and development of distributed systems using Java and .Net.