In the economics profession, software is often described as a special type of information good. Is this a valid characterization? Certainly, in looking through the previous chapters, the discussion of both technology and the industry would be very different if information and the information industries were the topic. Are these differences merely window dressing from an economics perspective? Or is software fundamentally different? In fact, software shares economic characteristics with not only information but also material goods as well as with services, combining their characteristics in unique ways. Our thesis is that software is different, and software is unique.
Of course, any similarly between software and information depends on the definition of information. Software consists of a set of instructions that are executed sequentially on a processor. Like information, software is represented by data, in part so it can share the same storage and communication technology infrastructure with information. If we were to define information as "anything that can be represented by data," then software would be a particular case of information. However, this definition is flawed.
Example The sentence "On planet Earth, the sky is always green" could be represented by data, like any other sentence, but would hardly be considered informative. The essence of the economic value of information is its informative nature, affecting behavior or emotions of the recipient or contributing to the recipient's knowledge in ways that are beneficial. There are also examples of data that are not misinformation, like the "green sky" example but simply have no value to a user. Cryptography and communication systems, for example, frequently internally generate and utilize sequences of bits designed to be as completely random as practicable; that is, containing no discernible pattern or information.
Its actual or possible representation by data is not a definition of information but rather a technical property of information and only as it is represented within the limited domain of information technology. Information appears in many other forms, including ways that cannot currently be digitally represented (like smell or touch). The definition of information (see section 2.1) as "recognizable patterns that inform or influence people" brings in the important element of beneficial usefulness or influence on people. By this definition, software would be information for some people, but not most people.
Example Software source code is informative to a programmer but likely not to a layperson. Object code itself (see section 4.4.4) would not be too informative (even to programmers) short of expending extraordinary effort, although it can be very useful to people as it is executed on a processor.
While software does inform programmers, its primary utility is in instructing computers on what to do on the behalf of people, and its primary value is in the actions and behavior of the program as executed on that computer. Programming is an intermediate step to extracting this value but decidedly not an end in itself.
On the demand side, any economic good is characterized principally by its value to the consumer. From this perspective, software's ultimate utility to people is embodied in what it does, with the aid of the computer (see section 3.1). Software is valued for its execution, and the behavior that execution engenders, rather than for the insights it offers. This is the primary reason that the patent law recognizes that software, but not information, can encompass an invention (see section 8.1). The law on copyright management also outlaws anticircumvention devices, some of which may be implemented partly or wholly in software (see section 8.1.5). This appears to place such software in the position of not being protected by the principles of free speech in the United States, as most forms of information are (see section 8.2.4). Thus, the laws increasingly recognize software as distinct from information. Of course, one common function of software is manipulating and presenting information content; in this context, software is valued in part for how it finds and manipulates information. Certain quality and usage attributes also contribute to value (see section 3.2).
Information is valued for how it informs or teaches. As a rule, the more unique or surprising an insight communicated by information, the more valuable it becomes. Thus, information thrives on diversity and uniqueness. On the other hand, surprise or uniqueness is not usually a valued characteristic of software. Predictability (the absence of surprise) is a hallmark of high-quality software. In fact, in the presence of network effects, software that is so unique as to not be interoperable or that imposes major training costs suffers in terms of its value (see section 9.1.2).
Many material goods are also valued for what they do (e.g., the automobile, which takes us places, or scissors, which cut paper), so the question arises, is software perhaps closer in its characteristics to many material products (traditional engineering artifacts) than to information? From the perspective of the user (the demand side), it is. This assertion is supported by numerous instances in which software, supported by its execution platform and environment, directly substitutes for physical products.
Example The typewriter can be replaced by a deskstop computer, printer, and word-processing application; a game board by a game application; an abacus by a spreadsheet application; and a telephone by a computer with microphone, audio card, Internet connection, and telephony application.
Services are also valued primarily for what they do. Often software is directly substituted for the services provided by people.
Example A calendar and scheduling application can substitute for the services of an administrative assistant in scheduling a meeting. A word-processing application can substitute for many of the services of a typing pool. An e-mail application can substitute for some services of the post office.
In summary, we conclude that in terms of value, software most closely resembles material products and human-provided services rather than information. Of course, the demand side involves considerations other than value. Software shares some characteristics with information, some of those characteristics being dissimilar to those of material products and services, and some being similar. Like information, software is often an experience good—it must be experienced to be appreciated—and sometimes less so. Some services and material products are experience goods, and some are not.
Example Once a user has used a particular spreadsheet application, he can probably appreciate other spreadsheets. Once spreadsheets become a standard tool in a business education, and the application area has matured to the extent that different spreadsheet products are little differentiated, then a spreadsheet can no longer be considered an experience good. However, the user has to use at least one spreadsheet to appreciate its capabilities. Commodities like oil and flour, and services like oil changes or bank account withdrawals, have obvious uses and need not be experienced. Unique goods and services like the Frisbee or palm reading probably need to be experienced before they can be fully appreciated. Similar observations can be made for information, but more on the basis of the type of information than the ubiquity or maturity of the information. For example, stock price quotes probably don't have to be experienced to be appreciated, but creative writing does.
The supply side is characterized principally by the costs of production and distribution. In this regard, software shares with information high creation and provisioning costs and low replication and distribution costs. Software invariably incurs substantial recurring maintenance and upgrade costs, a characteristic it shares with some volatile forms of information (see section 5.1). It also incurs recurring operational costs, something usually not associated with information (but with the software facilitating access to the information). Unlike information, software can be self-aware, reporting defects or usage back to the supplier even as it is used. Like information, but unlike most other goods and services, software is easily replicated and nonrival in use. Thus it shares with information many characteristics in distribution and rights management (see section 8.1). The most important distinction between hardware (and other material goods) and software (cited in section 2.2.4) is the inherent flexibility of software, which can be transparently added to, repaired, and upgraded at any time, even as it is used. Information can similarly be repaired and upgraded, typically as facilitated by software.
From an economic perspective, a major supply-side issue is the means of production. As discussed in section 7.3.5, the Industrial Revolution was characterized in part by a shift from finished goods handcrafted from raw materials to assembly of standard multiuse parts purchased from multiple specialized suppliers. The question arises whether, even if component assembly of software becomes widespread, software will resemble material goods in this means of production. The answer is largely no; software is quite different in this respect because in a very real sense it is much more dynamic and self-constructing (see section 7.3.5). It most closely resembles the plans for a flexible factory.
It is worth summarizing the relation of software to other economic goods and services. Software resembles information in its supply cost structure but most closely resembles a plan for a very flexible factory in the material world in its means of production. On the demand side it resembles a material product (created by that factory) or a service in the user's value proposition. The computer serves as an intermediary, acting as the generic factory that executes specific factory plans (software) to produce the working product, dynamically and on demand in response to specific user needs. Like a factory, the executing program requires human workers to provision and operate it; that is, getting things installed and keeping them running. The software code plan is a form of information, one that shares many characteristics of information like high creation costs and low reproduction costs, but it informs the computer rather than the user.
The following is a rather good analogy to the software industry and its customers from an economic perspective: (1) a planning organization creates and continually maintains and updates a plan for a flexible factory (an activity that does exist in the material economy); (2) multiple instances of a factory based on that plan, each constructed, operated, and upgraded by human workers, churns out very flexible material products; and (3) consumers (often organizations) use and benefit from those products. What this analogy fails to capture is the ongoing and complex interaction between the user and the factory's products, which is more extreme for software than for material products.
This is a modern view of general-purpose computers. However, in the early days of computing, competing architectures were advocated that strongly separated programs from the data those programs manipulated. Once such "Harvard architecture" is still widely used in special-purpose computers, such as those for digital signal processing.
The information theory presented by Shannon and Weaver (1949) quantifies this statement. It asserts that the numerical "amount" of information is determined by its entropy. The entropy of unexpected outcomes is greater than the entropy of expected outcomes. For example, if you expect that a weighted coin when tossed will come up tails 99 percent of the time, then an actual outcome of a tail conveys little information, whereas a surprising outcome of a head conveys much more information.