Liu’s article makes alot of sense to me concerning the economics of open source software, by which he means FOSS (Free Open Source Software). The ideas he presents are the foundations of the philosophies of the GPL/FOSS community. A strong argument for open source is that my contribution helps me, and it costs me nothing to share my contribution with everyone else on the planet. When everyone is doing this, I can obtain a large return on my work by participating in the community of open source development.
There were three conditions that Liu specified that must be present as a catalyst for open source development:
Specifically, I’d like to look at the second bullet point. This is a very important concept in open source software. Open source projects generally come about when an engineer says “Hey, I could use a program that does X,Y, and Z,” and continues to start writing program Foo that does X, Y, and Z. He will probably start a project group on a site like sourceforge and gather other developers who also want a program that does X, Y, and Z. Economically, if there are n developers working on project Foo, then each of them put in 1/n of the effort, but get out 100% of the benefit. And since it costs nothing to share that benefit with people on the Internet, it only makes sense to share their work with the world, out of the goodness of their hearts.
But return, if you will, to the original motivation for writing the software. The developers of program Foo began development work because they wanted/needed a program to do X, Y, and Z. If there was some external entity that needed a piece of software that did X, Y, and Z, there would be no motivation for any developers to begin working on program Foo, unless they too needed such a piece of software. This is true of the vast majority of FOSS. Even Linux began as a project where a lone developer said “Hey wouldn’t it be cool if I had a program to do …”
There are some exceptions. Some people contribute to open source software purely out of the joy of doing constructive work in a group setting. These people are not as common, and do not make up the majority of long term contributors to open source software. Projects often go through phases where development loses some of the fun that it once had, and such developers fall away. In another realm, many of the contributions toward open source software are made purely on academic grounds, and these can in no way be ignored. In other scenarios, however, corporations contribute large amounts of resources towards open source development. In all of these cases, however, their motives can be traced back to the their primary goal of increasing profits or towards furthering alternative long term goals. For instance, IBM contributes a massive amount of resources towards open source development, much of which is targetted at undermining Microsoft, which at the end of the day, is merely an effort to increase profits. But for the vast majority of contributors to open source projects, the motivation lies in the fact that they gain something personally from contributing to the project.
Here is where we get to the crux of the matter. All of these contributors fall under a very narrow category: technically competent, technologically oriented individuals, most of whom are computer scientists or software engineers. Therefore, the programs that will be developed under FOSS principles will always be useful to people within this category. This is the real reason why your grandma can’t use Linux. If a group of computer scientists are writing an operating system, they will write an operating system that is useful to computer scientists. They have no economic incentive to write an operating system that is useful to your grandma. And this is the fundamental reason that free open source software must always co-exist with non-free software. In order for entities to obtain software from a group of developers, when said software offers no intrinsic benefit to that group of developers, there must be an economic incentive for this group of developers to develop said software. In a nutshell, you gotta pay for it!
Through economic reasoning, we can completely understand every decision that Microsoft has made in it’s history. After all, Microsoft wants to make money; no one can disagree with that. Why did Microsoft embrace the Internet? Because consumers would demand software that used the Internet. Why did Microsoft change their philosophy to make security a top priority? Because the market demanded it. This is the fundamental difference: Open source software focuses on the needs/desires of the developers who write it, whereas non-free software focuses on needs/desires of the consumers who offer economic compensation.
There will always be software which is best written as free open source software, and there will always be software that is only economically viable as non-free software. This is an economic reality.