As someone who has spent a fair amount of time on or around the sea, I always enjoy looking at boats and ships—and comparing them with canned corn.
Canned corn is a commodity. Although we may appreciate what companies go through to select the corn, clean it, can it and move it to store shelves, for the most part, one can of corn is exactly like another can of corn. No consumers spend too much time standing in front of the canned corn shelves at their store, wondering whether a particular brand would be better for their family than another one. They select a can and move on. As I said, canned corn is a commodity.
This is not the case with boats. Although most people would expect any given boat to float, different designs of boats meet different needs. There are sailboats, power boats, tugboats, and different models of each of these types. Each model of boat has a slightly different design based on the needs of the captain, crew and business.
Just as most people would not spend hours in front of a shelf deciding on which can of corn to buy, most people would not run down to the yacht broker, throw a suitcase of money on the dock and say that they would take any boat the broker had in stock.
And, although the total cost of ownership of the boat must be taken into consideration, the real determining factor in buying a boat is whether it meets your needs, the pay-back period on the purchase, and whether you could modify the boat to meet future desires.
In other words, the boat is not a commodity.
These days, you hear a lot about the operating system being a “commodity”, or that “no one cares about the operating system”. I believe that this broad generalization, like a lot of broad generalizations, fails under many circumstances. Let's see where this particular generalization runs aground.
A bank in Brazil had automatic teller machines (ATMs). The operating system that it used in these ATMs was OS/2. The company that made OS/2 was “retiring” OS/2, and the bank would no longer be able to get the support it needed for new motherboards, device drivers and so forth. The ATMs used Intel 386, 486 and low-end Pentiums as CPUs, with varying amounts of main memory, disk sizes and other differences, reflecting a long time line of development and deployment.
The bank decided to use Linux as its new operating system, because it supported all the different CPUs, and the bank would be able to maintain it or expand on it into the far future. Here, the value of the operating system was in its potential longevity.
A lottery system, also in Brazil, decided to use Linux and free and open-source software inside the lottery terminals. It was replacing software from a proprietary vendor who had taken months to deploy requested changes to the lottery system. With a local development team, these deployment schedules dropped from months to weeks. This generated millions of dollars of additional revenue, as the new features could be delivered faster. The value here was the speed in making changes.
A public transportation authority was spending millions of dollars a year on proprietary software that was used only to write letters, do presentations and run simple spreadsheets. By moving to OpenOffice.org, the authority was able to save those millions of dollars and spend that money on hiring new cleaners for the transportation system. The manager of the transportation authority said that nobody cared which software was used to type the letters, but that everyone mentioned how the transportation vehicles were being kept very clean. The value was in re-deploying the money that would have been spent on royalties to services people desired.
A company in Rio de Janeiro needed a system that would work in Portuguese, but the software it could buy was only available in English. A free software developer duplicated the functionality of the English-only software using MySQL, Python, FreeGIS software, Gnuplot and other free and open-source software. The combined software was designed to prompt and report in Portuguese, and it cost less to develop than the packaged system. The value was having software in the company's own language and creating a local programming job.
So, you see that the value of the software, as with a boat, cannot be measured by the cost of building it, but by how well it meets the needs of the user. And, although I have seen many, many families that can eat the same can of corn, I have never, even one time, seen exactly the same business problem.