Siguiente Anterior Indice 

1. La catedral y el bazar

Linux es subversivo. ¿Quién hubiera pensado, tan solo cinco años atrás, que un sistema operativo de gran calidad pudiera concretarse como por ensalmo a partir del trabajo aficionado y a tiempo parcial de varios miles de programadores esparcidos por todo el planeta y conectados tan solo por las ténues hebras de Internet?.

Desde luego, yo no. En el momento en que Linux surgió en la pantalla de mi radar a principio de 1993, había estado ya involucrado en el desarrollo de Unix y de software abierto durante diez años. Era uno de los que primero contribuyó al desarrollo de GNU a mediados de los ochenta. Había lanzado en la red una cantidad respetable de software abierto, desarrollando o co-desarrollando varios programas (nethack, los modos VC y GUD de Emacs, xlife y algunos más) que aún se emplean ampliamente hoy en día. Creía saber como se hacía.

Linux puso patas arriba mucho de lo que yo creía que sabía. Había estado predicando durante años el evangelio Unix consistente en herramientas pequeñas, rápido desarrollo de prototipos y programación evolutiva. Pero también creía que existía una cierta complejidad crítica por encima de la cual era preciso recurrir a un enfoque más centralizado y planificado desde el principio. Creía que el software más importante (los sistemas operativos o las herramientas realmente grandes   tales como Emacs) necesitaban ser construidas al modo de las catedrales, ser cuidadosamente ensamblados por magos o pequeñas bandas de hechiceros trabajando en un espléndido aislamiento, sin que hubiera lugar al lanzamiento de versiones de prueba antes de que hubiera llegado el momento.

El estilo de desarrollo de Linus Torvalds - lanzar versiones de prueba enseguida y a menudo, delegar cuanto sea posible, estar abierto hasta el punto de resultar promiscuo - resultó una verdadera sorpresa. Nada que ver con la silenciosa y reverente construcción de una catedral  -- la comunidad Linux, por contra, parecía semejarse a un gran bazar bullicioso con diferentes agendas y enfoques (adecuadamente reflejado por los depósitos de software Linux, que admitían contribuciones de cualquiera) del cual solo parecía posible que emergiera un sistema coherente y estable mediante una sucesión de milagros.

El hecho de que este estilo bazar parecía funcionar, y bien, me produjo una auténtica conmoción. Mientras lo iba aprendiendo trabajé, además de en proyectos individuales, para intentar comprender porqué el mundo Linux no solo no se desmoronaba en medio de una colosal confusión sino que parecía ir de logro en logro a una velocidad difícil de imaginar para los constructores de catedrales.

A mediados de 1996 creí que lo comenazaba a entender. La casualidad me proporcinó una forma perfecta de poner a prueba my teoría, mediante un proyecto de software abierto que podía intentar conducir de forma deliberada según el estilo bazar. Lo hice así  -- y resultó un éxito incuestionable.

En el resto de este artículo, contaré la historia de ese proyecto, y lo emplearé para proponer algunas reglas sobre desarrollo eficaz de software abierto. No todas son cosas que aprendí en el mundo Linux, pero veremos que este les aporta un brillo especial. Si estoy en lo cierto, le permitirán entender exactamente qué es lo que hace de la comunidad Linux una fuente tal de buen software -- y le ayudarán a Vd. a ser más productivo.


Siguiente Anterior Indice