Measuring the value of anything is a hard task, but it is much harder to measure the value of intellectual goods. And it is even harder to measure the value of something that is given away for free like Open Source Software. Or as Oscar Wilde put it:
- A cynic is a man who knows the price of everything but the value of nothing.
When it comes to measuring the value of software, the most obvious approach is to calculate the cost of development by assuming a proportional correlation between lines of code and cost of development as done by
koders.com
. The flaws of this approach, even if it uses more sophisticated parameters like age of project and number of active developers as done by
Ohloh
have been described by Steve Loughran:
Dubious Statistics
. The salaries of developers are far-fetched, they do not include real costs for the employer or customer and there is no way to take quality into consideration.
But even if these flaws had been corrected, e.g. by adjusting salaries to average salaries for software developers in the respective contries and only tested lines of code had been counted, the main point of value is not considered: the value to the user.
Take for example JUnit. koders values this framework with 25.000 USD, Ohloh with 143.000 USD, but none of them catches the invaluable impact JUnit had on today's best practices for Java development. This little test framework created an unified way of measuring quality of software projects. It set the minimum standard for development practise and it prevented millions of bugs.
Even an automated value guessing system should try to take usage and usefulness into consideration, e.g. by estimating how many other projects are relying on the code, how many users are posting to the mailing list of a project and how many weblogs lik to it's homepage.