Much of this is adapted from my book, Software Freedom: An Introduction .
Software is somewhat but not excessively expensive to create and cheap to reproduce. This has major implications for statecraft and governance. Older informational reproduction technologies were more expensive. Perhaps the older methods were applicable in their world. But the contemporary world possesses new technologies.
First, initial cost: yes, I know that if you restrict who can work on your code, you can pay huge amounts for its creation. But if you encourage freedom -- in this situation, market freedom -- you can reduce the costs of creation. Essentially, as I state in my book, much successful software development depends on people who can satisfy their needs for survival and security, and who then work for internal or external reasons that are not directly monetary. I know this from my own experience handling funding for the development of an operating system.
(Also, of course, you have to fund a practical project. Some projects sound good, yet cannot be successfully implemented.)
Programmers' motivations are not unlike the motivations of traditional teachers, doctors, and civil servants. (I do not know about current motivations, one way or the other.) In the old days, teachers, doctors, and civil servants were expected to work because of a `calling'. They, of course, needed income and security, just as programmers do now, but beyond that, it was felt that their choices of profession were inspired by more than greed.
While teachers, doctors, and civil servants have been with us for centuries, programming is new. Many are undecided whether programmers have or should have the same motivations as those of previous generations of professionals, or whether they are or should be different.
Creation is one part; reproduction is another.
Nowadays, software is inexpensive to reproduce. This is new. When programming started in the middle of the 20th century, it was expensive to reproduce a program, either because the computer that reproduced the program cost a fortune, or because somebody had to copy the program by hand.
Now the cost of reproduction has dropped to near zero. Reproducing software is not called `manufacturing' even though the informational entity may be as complex as a car or airplane. It is called `copying'. Even a child can make a copy.
Currently, world wide, the profitable price for a CD with 650 megabytes of software on it, including its production, distribution, and marketing, is US$1.50 - US$2.50. If you ever pay a higher price for such a CD, you know that a vendor is using its ability to have a government enforce restrictions to transfer more of your resources to the vendor than you would pay in a competitive, free market.
The art of government is to design the rules and institutions of an economy so that they work well. In this case, the question is how to encourage the creation of useful software and, at the same time, encourage its use.
A government may decide that certain activities need to be subsidized, lest otherwise they fail. For example, a government may subsidize cotton growing; or software creation.
A government can choose various ways to subsidize a product: it can purchase outputs directly at a price it thinks suitable, and resell it at a different, perhaps lower price; it can partly fund production; or it can enforce a monopoly or partial monopoly and let the producers benefit from charging a government permitted high price. Governments often chose the latter method for software.
The latter mechanism is a restriction on output that is government enforced. It enables a vendor to sell at a high price, thereby capturing some of the value that would otherwise accrue to a customer. Simultaneously, others are prevented from becoming customers. The latter might well be willing to pay a competitive, fair market price for a product, but are not willing to pay the higher price the vendor seeks. The vendor, however, sells at a sufficiently high price to outweigh the loss of these customers purchases. Those who pay the high price are those for whom the product's benefit more than outweighs its cost.
The argument for government enforced restrictions is that higher profits encourage companies to invest more. The argument against restrictions is that they not only are unnecessary, but that they hinder development.
The cost of a government enforced restriction on production does not appear directly in government accounts. It is the cost of police, of courts, and of the schooling needed to make certain beliefs legitimate. Consequently, governments often prefer this method over direct purchases or subsidies.
Moreover, four traditional legal methods exist to provide for government restrictions. No one has had to invent new methods. The four traditional legal mechanisms have become so commonplace that many people mistakenly think they are `natural'. They do not think of the laws as invented for specific purposes.
The four traditional legal methods are copyrights, patents, trade secrets, and trade marks. When each was installed, they were explained in a beneficial way -- and since then, schools and other organizations that create legitimation in society have passed on the arguments.
(I am not going to discuss trade marks or trade secrets here.)
During its period of fastest economic development in the 19th century, the US tended not to enforce either copyrights and patents. In particular, it did not enforce copyrights and patents that were owned by foreigners, such as the British.
Without getting into the question whether this helped or hindered US development, it is fair to say that software is non-rivalrous. The term non-rivalrous is economists' jargon. It means your use does not rival mine.
On the other hand, if I cannot wear the shoe you are wearing, if I cannot eat the same bread you are eating, your consumption rivals mine.
Often, people try to mix together ways of thinking about both rivalrous and non-rivalrous. The concepts they use to think about shoes are applied, metaphorically, to thinking about software -- and not always seen as metaphor. Thus they think of copyrights and patents as having to do with ownership of houses and shoes, rather than having to do with government subsidy.
Moreover, many people have the sense that `what I created' is `mine'. Just as if I am a cobbler and make a shoe, it is mine until I sell it, if I write some code, it is mine, too.
In particular, while some programmers do not mind when others take their work from them and do not provide any help or recompense in return, other programmers, the majority, interpret such actions as theft, whether or not it is legal. Theft discourages these programmers. They want freedom from theft.
Hence, a government must provide some way to enforce an anti-theft license that is seen to be just and not too expensive. (If people expect a possible legal defense to be too expensive, they will either avoid the unwanted danger or seek other solutions.)
One such anti-theft license is the GNU General Public License. It provides recompense to the programmer by ensuring that he has a right to use fixes and enhancements to his work that others have done. (It has other features, too; this is just one of them.)
In addition to providing an anti-theft license and an inexpensive and just way to enforce it, a government must keep down the costs of information inputs to programmers. Otherwise, as in any occupation, higher costs will reduce output.
Finally, a government must never hinder cooperation, lest it raise transaction costs and destroy efficiency.
These three requirements tell us two of the needs of governance: