The Consequences of Free Software

published
2008-07-08

Petronas Towers

Petronas Towers Is free software as good as it sounds? Photo courtesy of prasan.naik

I used to be an open source software developer. I thought that free software would be a great benefit to everyone. But after studying economics for a few years, I realized that the long-term effects might be the opposite of what its creators intended.

My old reasoning was that software should be free because it can be free and that free software would make it easier for people to harness the amazing power of computers. In hindsight I realize that I was really just finding a justification for what I wanted to be true for other reasons, namely getting free software myself. This type of error is called rationalization and it is a very common problem in philosophy and politics.

The fundamental economic law to understand is that optimal efficiency is achieved when a good is sold at cost, assuming an infinite supply as in the case of software. The cost, however, includes the time costs of production. Regardless of whether a developer enjoys making free software, their time has non-zero market value. If a developer works on a program for a long time and releases it for free, they are selling the product below cost.

How can this be less efficient? If a developer does not receive financial support for their work, they are blocking money from flowing into the software market. The optimal quantity of money that should flow into the software market during the sale of an application is equivalent to its costs of production, and this flow is being blocked by free software developers. What happens when this optimal quantity is not achieved? The market will discourage future investment in the software industry. And this is more than just big commercial investment; it applies at the individual level too. Most people won't have the incentive to invest in a computer science degree if it is extremely difficult to find jobs.

If things keep going the way they are going, here is what will happen. Eventually, the free alternatives to many commercial software products will take the lead. When that happens, nobody is going to pay for the commercial products. At that point, the major software corporations will lose a huge source of revenue and they will be forced to downsize or shift to other markets. In either case, there will be far fewer programming jobs. This will create a surplus of programmers, especially considering the rampant growth of China and India. This surplus will cause a significant drop in salaries of software engineers, due simply to the laws of supply and demand. When that happens, most college students are going to avoid majoring in computer science.

So can't we just let the free software community carry on the development process into the future? It will be much less productive if there is no money in the industry. People have to eat and for that they usually need to make a living somehow. Right now many free software developers are supported by day jobs with commercial software companies. They may not realize that they are are sowing the seeds of their own demise. Without their day jobs they would have to dedicate a lot of time to learning a new trade, which might distract them from the joy of programming entirely. Furthermore, the number of people who want to program for free is significantly smaller than the number of people who are willing to do it for pay. It is absolutely clear that if programmers are not paid, less programming will get done.

Another thing to consider is start-ups. It is always difficult to start a new business, but if your competition is giving their products away for free, then you don't stand a chance unless if you can make your product significantly better. A small start-up probably won't be able to compete directly with a well established commercial product, but it could certainly make a feature-limited version and sell it for a lot less. This strategy of course will not work against free software because you can't discount below zero cost. Therefore many entrepreneurs who would love to make a living in software will be forced into other industries.

All of these factors will eventually lead to stagnation in software development. Sure, some geeks will still love to program for free while holding unrelated day jobs, but realistically this isn't going to be enough to sustain today's rate of development. To make matters worse, the move toward free software is semi-irreversible because once a free product displaces a commercial product, it will be extremely difficult for a commercial product to regain the lead. All of these factors demonstrate that free software could produce some serious consequences and we owe it to ourselves to be careful to consider these consequences before blindly advocating it.