loge.hixie.ch

Hixie's Natural Log

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:

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:

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.

Pingbacks: 1 2 3 4