La catedral y el bazar
Analiza
dos modelos de producción de software: la catedral representa
el modelo de desarrollo más hermético y vertical característico
delSoftware
propietario y
por otro lado 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.
Crítica[editar · editar código]
Algunos
critican las confusiones y parcialidades del texto, como el cambio
realizado del software libre (en inglés free
software)
a software abierto (en inglés open
software).
En inglés free puede
significar tanto libre como gratis, y esto se presta a equívocos.
Publicación[editar · editar código]
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)2
Lecciones enumeradas en La catedral y el bazar[editar · editar código]
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, encontrarás problemas interesantes.
- Cuando se pierde el interés en un programa, el último deber es 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.
No hay comentarios:
Publicar un comentario
Los comentarios serán supervisados antes de su publicacion