Sunday, July 4, 2010

The question of value

Does source code have value? (And if it does, can we assign a monetary value to it?)

I'm talking about source code, not executable code.

Source code is not sold in stores or traded in a market. Without the market to guide us, we must devise other means to measure the value.

A simple measure is the total value of construction. Sum the costs of development: programmer salaries, testing, workstations and compilers, While a simple measure, it is wrong. Our history of projects shows us that many projects, some funded with millions of dollars, result in useless systems. The value of the result is not the value on the inputs.

The open source folks believe that source code has no value. Or rather, there is value in source code, and there is more value in sharing the source code than keeping the source code "under wraps".

I think that the value of source code can be related to the value of the executable. Yet that may not help. It's hard to assigned a value to the executable. Is Microsoft Word really worth the sticker price? (And what about Microsoft Internet Explorer? Since it is included in Windows, the price is effectively zero. And the price for Fireforx is clearly zero.)

An economist might say that the value of the software is its capabilities. In this sense, the value of Microsoft Word is not intrinsic to the code but in the number of .DOC files in your collection.

This leads to an interesting effect: When Word was the only word processor that could read .DOC files, it had a monopoly on the market, and a certain value. But when OpenOffice was released, with its abilities to read and write .DOC files, Word lost its monopoly and some of its value. (One no longer needed Word.) When Google Docs was released (and it can read and write .DOC files), the value of Word dropped again.

That analysis does not help us get closer to a monetary value, but it does show that the value changes. And if the value of the executable changes in response to external events, then I assert that the value of source code changes in response to external events.

Perhaps this idea is not so strange. Other things in life have values that respond to external events. Houses, cars, even tomatoes. Why not source code?

Such an idea may be received uncomfortably by some managers and accountants. The folks who assign value based on the input effort (and US tax law and accounting practices encourage this thinking) are poorly equipped to evaluate changes to the value based on external events.

Yet I think we must think of the value of source code, for the very simple reason that we must know when to abandon it.


No comments: