jueves, 2 de febrero de 2006

La otra ventaja del software libre

A partir de un artículo de investigación publicado por tres profesores de Harvard titulado "Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code" (Explorando la estructura de diseño del software complejo: un estudio empírico con software libre y con software propietario), Nicholas Carr realiza un análisis que creo sumamente interesante.

El resumen sería el siguiente. En los proyectos de SL los trabajadores no están juntos físicamente, ni pertenecen a la misma organización, ni tienen los mismos jefes. Esto, que en teoría es una desventaja pues impide aprovechar adecuadamente las sinergias derivadas del trabajo en equipo, se convierte, al final, en una ventaja. ¿Por qué? Pues porque los programadores reproducen en sus programas sus modelos de trabajo. Debido a ello, los productos de SL tienden a cumplir una serie de características que tradicionalmente se consideran buenas prácticas de desarrollo de software: diseño modular, independencia o poco acoplamiento entre estos módulos, etc., garantizando así un software que evoluciona con más facilidad y en el cual las interdependencias son mínimas.

En cambio, en el SP desarrollado por una única empresa se consigue, habitualmente, una mayor eficiencia de los programas pero a base de forzar las dependencias, de crear una serie de mallados de código que causan que los resultados finales son muy sensibles al cambio, que cualquier pequeña modificación suponga un cataclismo en el producto final.

A mi la teoría me parece lógica y coincide con mis modelos mentales. Si lo aplicamos a productos conocidos creo que se cumple claramente. Por ejemplo, Windows. Vemos que constantemente salen parches, agrupados en Service Packs. Pero resulta que los parches además de resolver problemas, estropean otras cosas. Y que parece que nunca se logra la estabilidad total. En cambio, asistimos a frecuentes mejoras y módulos para Firefox que puedes instalarte o no y no pasa nada.

Como bien reflexiona Nicholas Carr, no deja de ser curioso que una fortaleza del SL le venga justamente de lo que debería ser una de sus principales debilidades.

No hay comentarios: