Many supply side characteristics of software have been discussed in previous chapters. Since it shares a digital representation with information, software has high fixed costs, is inexpensively replicated, and is nonrival in use (see section 2.1). In many other respects, the economics of supply for software differs from that for information. One substantial difference is in the supply chain (see section 5.1), where the value added by provisioning and operation differs substantially from value added in information industries. It is also important to keep in mind that software and information go hand-in-hand. Information content is an essential element of most software applications, and software is commonly used to facilitate access to information. Content and software may be supplied by the same or different firms.
The creation of software is a major undertaking (see chapter 4). High creation costs coupled with low replication and distribution costs result in large supply economies of scale. Similarly, software maintenance costs are relatively independent of the size of the user population and usage, while customer support costs are more dependent on these factors. Other supply costs typically not borne by the supplier, but nevertheless very real, include provisioning and operation and typically increase with the user base (see chapter 5).
The economies of scale permit a supplier with a larger market share to price more attractively. Like network effects, this is a form of positive feedback that contributes to further increases in market share. Scale economies (Silvestre 1987) also do not allow a market to approach pure competition (Marshall 1890), an amorphous state of the market in which no seller can alter the market price by varying output and no buyer can alter it by varying purchases. Since competition drives prices toward marginal costs, which are below average costs, it is important for suppliers to differentiate their products from the competitors' to avoid ruinous price competition. It is much easier to differentiate application software (which by its nature is specific to a user context) than infrastructure software. The latter must address the lowest-common-denominator needs of many applications, and thus there is less opportunity for one supplier to differentiate its products from anothers. Infrastructure products that err on the side of either application or technology dependence offer more opportunity for differentiation (see section 7.1.5). On the other hand, provisioning and operation, not benefiting from substantial economies of scale, encourage competition on more conventional terms, such as efficiency, effectiveness, worker productivity, and quality of outcomes.
The development costs of software are largely sunk, particularly for software constructed to meet a very specific need (an extreme case is software developed by an organization for its internal needs). The payoff can be very small (zero, if the software isn't used) or very large (in monetary terms for software that sells well, or in other terms for software that pays dividends in quality or productivity). There is thus considerable risk to investing in the creation of new software. To mitigate risk, suppliers use a portfolio diversification strategy, investing in multiple products with overlapping product lifetimes—the occasional big winners can make up for losses. (This strategy can also deal with some issues in project management in development organizations; see section 4.2.3.) Sometimes this portfolio is accumulated by a single large company, and sometimes it is accumulated by venture capitalists that split an investment pool over a number of smaller companies.
Once a software product is well established, during most of its life cycle the maintenance and upgrade costs are predicated on fairly predictable revenues from reselling to existing customers; in this case, there is less risk.
Reuse and multiple uses can mitigate risk to some extent (see section 7.3). The development costs for reusable modules are less likely to be sunk: if they aren't used in the present project, they may be usable in another. Acquiring components rather than developing similar capabilities from scratch will reduce development costs and make them more predictable, and often licensing arrangements will be less risky if fees are required only if the software is used. Of course, if certain components are also available to competitors, then the opportunities to differentiate on the basis of features and capabilities are reduced.
A surprisingly large number of large software developments are failures in the sense that the software is never deployed. Many of these failures occur in internal developments in end-user organizations. There are many sources of failure, even for a single project, but common ones are excessive compliance with changing requirements or inadequate experience and expertise to undertake the project. This form of risk can also be mitigated by leveraging frameworks and components to the extent possible.
Suppliers commonly offer a portfolio of complementary software products. This reduces risk (see section 9.2.2), makes sales and marketing more efficient, and can be attractive to customers by shifting system integration problems and costs to the supplier and offering a single point of contact for sales, support, billing, and payment.
Nevertheless, most software suppliers depend heavily on complementary products from other suppliers for a complete customer solution. Each supplier wants to differentiate its own products and minimize its competition, but desires strong competition among its complementors so its customers can enjoy overall price and quality advantages and so that it can extract more of the value of the total solution for itself and increase its sales. This is an important motivator for defining open APIs (see section 4.3.4), encouraging other suppliers (often multiple other suppliers) to invest in complementary projects.
For material goods, suppliers and customers can have long-term contractual relationships, or procurement can occur dynamically in a marketplace (electronic or otherwise). For software, similar means are common, but there are other possibilities that leverage the special characteristics of software, including network distribution and portable code. While these means are perfectly adequate, customers may circumvent a download and share code directly with one another. To deal with this eventuality while still getting paid, it is possible to make software supply chains fully self-aware—this is a unique opportunity for software.
Example The shareware software licensing model depends on free distribution of software (exploiting low replication and distribution costs) and voluntary payments. In the superdistribution model (Cox 1996) for software components, when a component is executed, whether it originated directly from the supplier or was obtained from another customer, encapsulated usage monitors initiate and enforce a fair compensation to the original supplier using an enabling microbilling infrastructure. From the supplier perspective, the component is a trusted system that enforces usage-based payment (see section 9.3).
Software markets often expand very rapidly, especially in light of the low replication and distribution costs and the low delay in distribution.
Example In spite of the obstacles of a peer-to-peer model, Napster was a music-sharing application that accumulated 20 million users in less than a year (Cartwright 2000). This can be attributed to the compelling interest in the service, the fact that it was free, and the networked software distribution model: each user downloaded and installed the application before joining the network.
Rapidly growing markets engender special challenges and require special strategies. A simple theory of lock-in (see section 9.1.3) does not apply in a rapid-growth situation because capturing a significant fraction of current customer adoptions does not by itself suffice to gain a longer-term advantage. While growth is rapid and network effects are not strong, new competitors can enter and attract a significant share of new customers entering the market, for example, by aiming at a more attractive price-value point or set of features, offering a more attractive bundle, or offering other advantages such as better integration with other applications. Leveraging the first- (or early-) mover advantage requires rapid and continuing innovation, despite any lock-in advantage a supplier may gain with the initial customer base.
The best way to derive revenue from software is by maximizing the value to the customer and differentiating from competitors' products. However, it is difficult to prevent competitors from imitating application features once the software is released. Compared to patents in some other industries (such as biotechnology) software patents are often less fundamental and relatively easy to circumvent by accomplishing the same or similar ends in a noninfringing way (see section 8.1). Copyrights are even less effective at deterring legitimate competition. They provide no protection for ideas or techniques, and have proven ineffective at preventing the copying of the features and "look-and-feel" of applications. Reproducing the same features and specifications independently in a cleanroom environment can circumvent copyrights while reducing development costs, if feature differentiation is not an objective.
What, then, are the fundamental deterrents to competitors, aside from intellectual property protections? There are several. First, enlightened competitors attempt to differentiate themselves because they know that profits are otherwise difficult to obtain, particularly with substantial economies of scale (see section 9.2.1). Competitors tempted to copy have the second-mover disadvantage of beginning with a smaller market share. Second, a supplier who has achieved significant market share and economies of scale can employ limit pricing, which takes into account the high creation costs faced by a new entrant (Gaskins 1971). The objective of limit pricing is to extend the period of time a competitor requires to recover development costs by offering a lower price. Even a credible threat of competitive price reductions can be a deterrent. Third, network effects can be enhanced by emphasizing features that create a network, like sharing of information among users of the software. An established product may then benefit from positive feedback (see section 9.1.2). Fourth, switching costs can be advantageous to the supplier with the largest market share by requiring a competitor to subsidize a customers' switching costs (see section 9.1.3). Original suppliers may work to maximize their customers' switching costs, for example, by adding proprietary features or enhancing their application's interoperability with complementary products. On the other hand, competitors can employ many strategies to reduce those switching costs, such as offering automated translations of data representations or backward compatibility (Shapiro and Varian 1999b), many of these measures specific to software.
From a security perspective, this is potentially a way to spread viruses. This can be prevented by attaching digital signatures from the original (trusted) supplier and always verifying those signatures before executing code obtained from any party (see section 5.4.6).