2007-12-06 12:07 UTC Evolution in the species "companies"
Evolution is evident and well-known in biological species, and can be seen in artifical environments quite easily, but evolution actually applies to any environment with moderately well-defined entities that have moderately measurable properties, where these entities appear and disappear over time.
For example, companies, as a species, are subject to evolution. They are born, they live, they die; and they each have unique properties (different ways that they operate) which determine their characteristics. Actually, the whole of the species "group of people with a common agenda" is subject to evolution, but let's look specifically at companies that try to convince people to use their products or services in the software industry, since that's what I'm familiar with.
For a long time, the software industry consisted primarily of one kind of company. First the company would be founded with an idea, and then the company would get venture capital funding, which would be used to fund software development, the fruits of which would be sold to customers, and the money raised from those sales would fund further development of more software, and the cycle continued.
These companies die when they run out of money. Since venture capital isn't infinite (investors will stop pouring money in when they realise that they are never going to see any of it again), the key is raising money from software sales. There are several ways of ensuring that a company will get money from software sales:
- If the product being sold is the only product in the market that solves the needs of the users it targets, then it is almost certain that the majority of the target audience will buy the product. This is called a monopoly.
- If the product being sold is by far the best product in its category, then, all other things (especially the price) being equal, it is likely that much of the target audience will buy the product. Making the best product often requires disproportionally more effort than creating a mediocre product, though. It is also difficult to maintain the honour of having the best product; it requires constant development to keep ahead of the competition. It is much easier to improve a mediocre product to be almost as good as the best product than it is to take a product that is already the best product and make it significantly better.
- If the product being sold is the cheapest product in its category, then it is likely that much of the target audience will buy the product, so long as the product is good enough. How good the product has to be to be "good enough" is a function of how much cheaper the product is relative to the other products.
- If the product is being sold to users of existing products in the same product category, then the target audience is more likely to buy the product if the total cost of switching to the new product is lower than the cost of switching to another product. When the users are using an older version of the new product, then this is called vendor lock-in. When the user are using an older version of another product, then this is called migration.
Each of these strategies has a counter-strategy. For example, to counter an incumbent with a monopoly position, a company "just" has to provide a product of equal value. To counter a competitor with the best product, a company "just" has to provide a product that is better. To counter a competitor with a cheaper product, a company "just" has to lower its prices. To counter a competitor whose users would find it more expensive to switch to the company's new product than they would to upgrade to the newer version of the competition's product, the company "just" has to provide a transition path (if the cost of switching vendor would come from having to convert all existing data, for instance, a company could "just" support the competition's file formats).
Of course, that's often easier said than done. A company can't lower its prices to below its operating costs, as doing so would cause the company to eventually run out of money and die. Similarly, making the best product is significantly more difficult than making a mediocre product, and a company can run out of funds while trying.
It turns out, though, that the rules change when the competiting companies are unequal. If a company has a lot of money, there are a number of tricks it can play to compete with companies with less money:
- The big company can sell its products for significantly less than its smaller competition (and at a loss for the big company, using its large cash reserves to survive). The competition will eventually die, since it won't be able to sell products and thus will run out of money. When the competition goes away, the big company can raise prices again.
- The big company can implement one-way transition paths from every competitor's product to its own, and then introduce a feature that makes a reverse migration expensive. Users that switch to the big company's product will be locked in, which will reduce the potential market for the competition.
- The big company can improve the product while it has competition, and then stop improving while it has no competition.
- The big company can use its credibility to reduce the likelihood that users will buy products from the competition, even if the big company doesn't yet have a competing product. This is known as spreading fear, uncertainty, and doubt (FUD).
This is where the evolution comes in. If a big company repeatedly kills all the companies that follow the model I've described so far, then only the companies that use different models will survive.
This isn't all theoretical. Microsoft is a big company, and they've played all the tricks above. Many companies in the software industry have died because they failed to make money, and many of those died because Microsoft starved them of that money by using the tricks described above. (Sometimes, the use of those tricks has been deemed illegal; other times, not. That's besides the point here.)
What's interesting is the effects that Microsoft's strategies have had from an evolutionary standpoint. When we look at the major companies competing with Microsoft today, we find that none of them are actually using the operating model I describe above.
Beating Microsoft by not needing money: Firefox, Apache, and Linux-based operating systems are examples of open source software arising as ways to compete with Microsoft. Microsoft's usual strategies typically don't work with open source software. Microsoft can't undersell open source, as it costs nothing. Furthemore, since the source is independent of the company behind the source, if the company runs out of money another one can simply come along and replace it, continuing from where it left off. Thus, starving the company of money doesn't actually kill the competition; indeed, open source software actually turns this strategy against the big company. It will take a long time, but in due course Microsoft will run out of money if it doesn't make profits, whereas open source projects can continue indefinitely.
Open source is not perfectly safe against the other tactics described above, though. It is still vulnerable to vendor lock-in and FUD, and a better product can still beat it. Projects like Wine help Linux with vendor lock-in, as it allows users using Microsoft Windows to switch to Linux more cheaply than if they had to replace all their software; similarly Open Office implements file format convertors to read Microsoft Office documents; and Samba implements Microsoft's networking protocols to allow a migration to a Linux-based infrastructure without requiring that users switch all their existing infrastructure at the same time.
FUD is heavily used by Microsoft against open source projects (a recent example is this FUD article against Firefox); open source as a development model can mitigate this by leveraging its community to counter such claims.
The biggest difficulty, though, is in creating and maintaining the best product. Nothing especially changed in the browser market in the years just before Firefox 1.0 was released: the market was stagnant after IE6's release, with all the alternatives (Netscape, Opera, etc) being fundamentally not good enough in comparison. Firefox 1.0 was the best product of its time, and that reason, and that reason alone, resulted in its success. All Microsoft have to do to beat Firefox is make a better product, something for which they certainly have the resources. Similarly, all the Linux OS community has to do to beat Windows is create a fundamentally better product from the end user's perspective, while ensuring that the cost of migration is lower than the cost of upgrading Windows.
Microsoft has clearly realised that open source is a new type of competitor, and they just as clearly haven't worked out how to compete with it (which is simply to make a better product). This is probably because they have spent so long as the "big company" that they have forgotten the four ways of making money, and can only remember the tricks for competing with smaller companies.
Microsoft making a superior product wouldn't kill open source, though. It would just make Microsoft money while the open source community and companies themselves developed a better product again. (Just look at open source today: Linux operating systems aren't, from the end user's perspective, fundamentally better than Windows, but Linux OS companies continue with a growing but small set of the users.) Thus the technique of improving only until the competition is dead doesn't work on open source competitiors. Microsoft would have to continuously work to improve its products to compete with open source.
Beating Microsoft by not allowing vendor lock-in: Google's operating practices differ from the typical software vendor in that the main service that Google provides is completely devoid of any vendor lock-in potential. Google beat the search engines before it by being better than they were, and Google could easily lose all its users overnight if a much better search engine was to be developed. The only reason Google has a majority market share is that it is the best. Microsoft's usual strategies don't work against this kind of company: they can't lock the users into their alternative, and so the users have a truly free choice as to which service to use, Microsoft's or the competition's, and they usually pick the better alternative.
Google has also learnt the zero cost trick: by charging advertisers instead of charging users, Google can get a large market share of users, which is needed to sell to advertisers. Google's search engine users don't care how many advertisers publish ads through Google, so even if Microsoft undercut Google on the advertiser side, it still wouldn't reduce the number of users on the search side. In addition, because the advertisers want to advertise on the site with the users, and because advertisers could just use both advertising systems, undercutting on the advertising side doesn't actually hurt Google. (Making advertising free on Microsoft's network would just lead to advertisers advertising on both networks, which would hurt Microsoft, since they would be footing the bill, but not Google, who would still be making money.)
The FUD strategy depends on the credibility of the company spreading it, but Google is widely trusted, so FUD doesn't work very effectively against Google either.
As noted above, though, there is a simple way in which Microsoft (or any other company) could compete with Google: make a better product. In fact, since Google's entire strategy — intentionally or not — is based on not allowing vendor lock-in, any better product which is also free would almost immediately beat Google. Naturally, Google invests heavily in making sure it continuously improves. (Note that unlike with open source, which could probably continue indefinitely under a superior competitor, it isn't clear that Google actually could survive for long once it lost its users to a competitor.)
Beating Microsoft just by being better: This brings me to my third example, Apple. Apple has died and been reborn several times, as far as I can tell, but its most recent strategy is based almost exclusively on one concept: making the best product for the user, and doing so in several different markets at once. This technique is difficult, because it requires constant high-quality development. However, it is very effective against a big company like Microsoft that has, by and large, stopped relying on quality to compete.
As a corollary, Apple has found an interesting counter-strategy to the big-company strategy of undercutting the competition until it is starved. It sells its products with very high profit margins, and sells these products in a small number of very separate markets. Thus, it doesn't have to sell many units to survive at all, and it doesn't need to sell any units in any one area so long as it sells enough in another area. So for example, Microsoft couldn't compete with the iPod by giving away the Zune: even if most users would stop buying iPods and would instead just get the free, or nearly free, Zune, the net effect would just be that Microsoft would lose lots of money and Apple would wait with few ill effects.
Apple's switch to intel enabled Boot Camp and products like VMWare Fusion, to mitigate the problems of Microsoft's attempts at vendor lock-in. (Apple also plays its own mild games of vendor lock-in to prevent users from leaving Apple products once they make the switch.)
Apple has, even more than Google, become somewhat immune to Microsoft FUD purely on the basis of its own credibility. By almost never pre-announcing products, by repeatedly delivering products of high quality, and by a management of the media so adept as to be aweinspiring, Apple has managed to almost completely neutralise any FUD attempt against them.
But again, there is one way that Apple is vulnerable. If Microsoft were to make a truly superior product, Apple would lose users. However, unless this strategy was applied to all of Apple's products simultaneously, it wouldn't kill Apple, it would only starve one particular part of the company. All Apple would have to do to come back is make a significantly better product again.
Conclusion: The companies that couldn't beat Microsoft have all died, and evolution has resulted in three very different types of companies that are each immune to Microsoft's strategies in their own way. Yet all are still vulnerable to the same thing: a better product.
For the end users, this is a good position for the industry to be in.