Agile Zone is brought to you in partnership with:

I am a programmer and architect (the kind that writes code) with a focus on testing and open source; I maintain the PHPUnit_Selenium project. I believe programming is one of the hardest and most beautiful jobs in the world. Giorgio is a DZone MVB and is not an employee of DZone and has posted 638 posts at DZone. You can read more from them at their website. View Full User Profile

Commodities in the IT world

04.04.2012
| 7605 views |
  • submit to reddit
In one of his milestone strategy letters, Joel Spolsky applies economics to the world of computing and the theories of complementary and alternative goods. He argues that most companies are pursuing this strategy:
  • provide a good A that requires a complementary good B;
  • stimulating many compatible alternatives in the market for B, so that competition drives down prices and B becomes a commodity like oil or water.

This strategy is very similar to the Razor/Razorblade business model introduced by Gillette, where permanent expensive razors require a complementary inexpensive blade to work.

Note that a commoditized good can be bought from many, many sources and it has very low margins (theoretically zero with perfect competition): you're not making money out of the blades, if Gillette lets you produce them. The various sources do not provide added value: it's difficult for a bottled water company to increase prices as all brands are interchangeable.

Note also that there is nothing scientific to this analysis, it's speculation and opinions; we don't know what is the actual strategy taken by companies, but we can make hypothesis. At least we seek a model, a lens to understand what is going on in the software world.

The old examples

At the time when Strategy Letter V was written, these were the common examples of this model:

  • IBM supports open source software to make it a commodity and offer consulting services. This model is pretty much how most of high-quality OSS is produced today: someone has to pay for the cost of development.
  • Microsoft gawe away Internet Explorer and was the first to commoditize the web browser, since it was still making lots of money out of Windows. The market for Netscape was destroyed and some antitrust lawsuites were initiated.
  • A better example is Microsoft licensing DOS to everyone, to make the IBM-compatible PC a commodity, whose clones could be built by Compaq and other companies.

The exception is Sun, that tried to commoditize everything: Java commoditized hardware (...run everywhere), but supporting free software means commoditizing also the software part. Even VirtualBox was given away by Sun.

And today?

In the end Sun was acquired by Oracle, which now (after all the engineers flee) offers bundled hardware and software support. Moreover, it's trying to monetize some of the intellectual property like Hava-based patents, and producing several forks of MySQL and OpenOffice.

But there are also new examples of the strategy.

Canonical commoditizes Linux (well, Ubuntu) and offers Ubuntu One services, providing content and synchronization with its servers. In the open source world we see more and more libraries and frameworks developed by volunteers that can ask for high consulting fees for training and support on them (which since the market supports, is perfectly fair); or even by companies: Spring, Zend, Sensio (Symfony).

Does Apple sell hardware of software? The continuous innovation is a one of the strategies to avoid commoditization: once every Android can do what the flagship iPhone does, a new one comes out with new features. How long can the cycle continue is unknown.

More in general, some file formats wars can be seen as an attempt to commoditize the production or the consumption of a file format to sell the complementary operation. Adobe sold the Acrobat sofware to create PDF files that anyone could view through free-as-in-beer Acrobat Reader and now with a plethora of applications. Amazon does this today with the Mobi format: it's not difficult to create a .mobi ebook or publication, but there is only one kind of device that reads it seamlessly and without conversions: the Kindle.

Google

Google tries to commoditize desktop software (Google Docs) and browsers (Chrome) to sell ads, which are its primary business model.

Google has also been on the mobile scene for a while, since Android caused the fragmentation and avoided an Apple monopoly on smartphones. Is there a tension in providing newer and better Android APIs and investing in portable web applications as the way forwards?

Google and other companies tried with Open Social to commoditize social network platforms so that people can use or develop on Facebook or other services switching seamlessly. The existence of OpenSocial makes no sense at all if not from the economic point of view: the biggest social network in existence, Facebook, didn't adhere to the standard and has no intention to give away its lock-in by doing so.

Now Google has changed strategy with G+. We'll see what comes out of it.

To the cloud!

Another blatant case of commoditization of an incumbent company is in cloud standard tools like OpenStack.

RackSpace,  Citrix Systems, Dell, AMD, Intel, Canonical, SUSE Linux, HP, and Cisco support OpenStack; see Amazon, the biggest cloud provider in the world, in there? Amazon does not participate to the standard because it would commoditize their own business, leaving open the possibility for developers who targeted a single platform like EC2 to move away into the future. Open platforms are of course a big pros for developers, but not a good news for Amazon and Facebook.

In the future

Expert predictions are almost always wrong, but I claim not to be an expert in business strategy so mine would be as good as anyone else's. :)

The presence of a cloud standard is far from being settled, and will continue to worry us for a while. There is not only the problem of IaaS providers like Amazon EC2, but also the plethora of PaaS for Java, Ruby, PHP each with its own standard.

At an higher level of abstraction, web applications show the same advantage from the lack of a standard that commoditizes them. For example, you cannot open a Google Docs document inside another web application, like you would do with a .doc or .pdf file, unless you export it in these formats. More in general, you're pretty much stuck with the web application you choose, in many domains.

Commoditization is related to the introduction of a standard that producer support. The main standard we are battling with today is HTML5. Will we see a standard that commoditizes the browsers again or will the vendors stop it? A big part of this will be played on mobile devices, where Webkit browsers capture almost all the market; fortunately for developers there are at least different browsers even if based on the same engine.

But the most dangerous commoditization is that of programming: developers are seen in many environments as interchangeable resources instead of competent people that add value with their expertise or subtract it when they are just postmen who have taken a 2-weeks Java course.

Published at DZone with permission of Giorgio Sironi, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Senthil Balakrishnan replied on Thu, 2012/04/05 - 1:26pm

Interesting article...

Michel Ozzello replied on Tue, 2012/04/10 - 9:37am

Let's see how your "predictions" turn out...

You mention that the most dangerous one is the commodization of programming.

You say that "developers are seen in many environments as interchangeable resources". Do you think this is because they focus too much on the technology they use and too little on adding business value (beyond the cool piece of code they created with that cool new technology)?

Would they be safer if they started steering their attention more towards how to make their apps more valuable for the businesses they work for? 

Cheers
Michel 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.