Tuesday, December 02, 2008

Open Source fragmentation and cognitive biases

I've just finished Predictably Irrational (it was nice, many of the of the theses I already knew from Internet articles - so it was not ground-breaking for me, but still I learned from it). In the seventh chapter of this book entitled "The High Price of Ownership" the author presents some surprising stories about how we "overvalue what we have". Apparently we all give much more value to things that we posses then to those that we could potentially have - this is a common cognitive bias.

This made me thinking. Wouldn't that explain the fragmentation of Open Source libraries (and CPAN in particular)? Would that not explain why one author values the miniature efficiency gains of his reinvented wheel over the robustness of time-tested code?

Maybe once we know how this mechanis works, we could design better Open Source library repositories, limitting the power of that fragmentation drive? Maybe by being more explicite about our choices we can become more rational?


Anonymous said...

I agree entirely with your conclusiong. there is much great work in CPAN, but I really feel it is too 'dilulted' - wouldn't it be great if all could work together for the common good.

A problem for me every time I go to CPAN is that I have 20 modules that are nearly the same - quality levels are from 0 to 20, and you have angst that you might commit to the wrong module, and once done, you would be willing to go back in the future, when you hit the limation of your choosen module.

Maybe this is beginning to change? Big modules like, DBIx::Class, Mouse, Catalyst, TT, etc. are really class acts, and the benefit from multiple minds going the same way, and developing solid perl libraries of reusable code.

But that is not enough - new users need to be gently 'steered' down the road, to see the light, to be given a guiding hand - at least till they know enough to make up their own minds...

-- Farley

Simon said...

I've reached a similar conclusion via a different route.

But I think the crux of the matter is that one probably has to give up one's own preferences for how to do things, and that is harder than asking (and failing) to get someone else to do it.