La catedral y el bazar
# La catedral y el bazar

La catedral y el bazar es un ensayo sobre el software de código abierto escrito por el hacktivista Eric S. Raymond en 1997. Ha tenido dos secuelas tituladas Colonizando la noosfera y El caldero mágico.

## Temática

El ensayo analiza dos modelos de producción de software bien diferenciados. Por un lado, la catedral, que representa el modelo de desarrollo más hermético y vertical característico del Software propietario; y por el otro el bazar, con su dinámica horizontal y "bulliciosa", que caracterizó al desarrollo del kernel Linux y otros proyectos de software libre que se potenciaron con el trabajo comunitario a través de Internet del código abierto.

## Publicación

El texto está incluido en el libro The Cathedral & the Bazaar publicado por O'Reilly en 2001.

Dicha editorial mantiene en exclusividad los derechos de explotación comercial del libro en versión impresa. Sin embargo, se puede descargar gratuitamente en versión electrónica desde la web del autor (incluye traducciones a varios idiomas, entre ellos español)

## Lecciones enumeradas en La catedral y el bazar

El libro recopila una serie de lecciones aprendidas a partir de la experiencia que el autor comparte en el texto, en concreto:

* Todo buen trabajo de software comienza a partir de las necesidades personales del programador (todo buen trabajo empieza cuando uno tiene que rascarse su propia comezón).
* Los buenos programadores saben qué escribir. Los mejores, qué reescribir (y reutilizar).
* "Considere desecharlo; de todos modos tendrá que hacerlo." (Fred Brooks, The Mythical Man-Month, Capítulo 11)
* Si tienes la actitud adecuada, problemas interesantes te encontrarán.
* Cuando pierdes el interés en un programa, debes darlo en herencia a un sucesor competente.
* Tratar a los usuarios como colaboradores es la forma más apropiada de mejorar el código, y la más efectiva de depurarlo.
* Libere rápido y a menudo, y escuche a sus clientes.
* Dada una base suficiente de desarrolladores asistentes y beta-testers, casi cualquier problema puede ser caracterizado rápidamente, y su solución ser obvia al menos para alguien. O, dicho de manera menos formal, "con muchas miradas, todos los errores saltarán a la vista". A esto lo he bautizado como la Ley de Linus.
* Las estructuras de datos inteligentes y el código burdo funcionan mucho mejor que en el caso inverso.
* Si usted trata a sus analistas (beta-testers) como si fueran su recurso más valioso, ellos le responderán convirtiéndose en su recurso más valioso.
* Lo mejor después de tener buenas ideas es reconocer las buenas ideas de sus usuarios. Esto último es a veces lo mejor.
* Con frecuencia, las soluciones más innovadoras y espectaculares provienen de comprender que la concepción del problema era errónea.
* "La perfección (en diseño) se alcanza no cuando ya no hay nada que agregar, sino cuando ya no hay nada que quitar."
* Toda herramienta es útil empleándose de la forma prevista, pero una *gran* herramienta es la que se presta a ser utilizada de la manera menos esperada.
* Cuándo se escribe software para una puerta de enlace de cualquier tipo, hay que tomar la precaución de alterar el flujo de datos lo menos posible, y ¡*nunca* eliminar información a menos que los receptores obliguen a hacerlo!
* Cuando su lenguaje está lejos de un Turing completo, entonces el azúcar sintáctico puede ser su amigo.
* Un sistema de seguridad es tan seguro como secreto. Cuídese de los secretos a medias.
* Para resolver un problema interesante, comience por encontrar un problema que le resulte interesante.
* Si el coordinador de desarrollo tiene un medio al menos tan bueno como lo es Internet, y sabe dirigir sin coerción, muchas cabezas serán, inevitablemente, mejor que una.
