“La Catedral y el Bazar” y sus lecciones 2

La Catedral y el Bazar es un ensayo escrito por Eric Raymond, uno de los líderes del movimiento del Código abierto y una figura algo controvertida, en el que comenta sus experiencias como líder de un proyecto de código abierto, fetchmail, y es comparado su desarrollo con el de Linux (el bazar) y el del Software propietario o libre pero con un modelo de desarrollo algo cerrado (la catedral).

Si quieren pueden descargarlo desde acá:
La Catedral y el Bazar (PDF)

También pueden verlo online (ponerlo a pantalla completa mediante el ícono de la parte inferior izquierda del visor para poder leerlo correctamente):

La Catedral y el Bazar from Sergio Vallejo

Una de las cosas interesantes que tiene el ensayo, son las lecciones que aprendió Eric Raymond durante su experiencia como líder de fetchmail y que las resalta en texto. Las mismas son:

  1. 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)
  2. Los buenos programadores saben qué escribir. Los mejores, qué reescribir (y reutilizar).
  3. “Considere desecharlo; de todos modos tendrá que hacerlo.” (Fred Brooks, The Mythical Man-Month, Capítulo 11)
  4. Si tienes la actitud adecuada, encontrarás problemas interesantes.
  5. Cuando se pierde el interés en un programa, el último deber es heredarlo a un sucesor competente.
  6. Tratar a los usuarios como colaboradores es la forma más apropiada de mejorar el código, y la más efectiva de depurarlo.
  7. Libere rápido y a menudo, y escuche a sus clientes.
  8. 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.
  9. Las estructuras de datos inteligentes y el código burdo funcionan mucho mejor que en el caso inverso.
  10. 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.
  11. Lo mejor después de tener buenas ideas es reconocer las buenas ideas de sus usuarios. Esto último es a veces lo mejor.
  12. Frecuentemente, las soluciones más innovadoras y espectaculares provienen de comprender que la concepción del problema era errónea.
  13. “La perfección (en diseño) se alcanza no cuando ya no hay nada que agregar, sino cuando ya no hay nada que quitar.”
  14. 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.
  15. 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!
  16. Cuando su lenguaje está lejos de un Turing completo, entonces el azúcar sintáctico puede ser su amigo.
  17. Un sistema de seguridad es tan seguro como secreto. Cuídese de los secretos a medias.
  18. Para resolver un problema interesante, comience por encontrar un problema que le resulte interesante.
  19. 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.

2 thoughts on ““La Catedral y el Bazar” y sus lecciones

  1. Reply Guu Ene 19,2009 6:18 am

    “y el del Software propietario (la catedral).”

    En ningun momento Eric se refiere al software privativo en la catedral. Es más dos ejemplos de catedral usados en esa época eran Emacs y GCC, ambos totalmente libres y del proyecto GNU.

    Su crítica principalmente atañe a que Emacs por ejemplo aunque liberaba su código con cada versión no lo hacía en mitad de cada una de estas y el desarrollo era algo cerrado entre los programadores, en el que era difícil que entrasen ideas externas. Pero tantos sus ejemplos de Catedral y Bazar se referían entonces a proyectos de software libre.

    Como nota decir que Emacs y GCC más tarde adoptarían un modelo de desarrollo más al estilo de linux y que actualmente la mayoría de proyectos libres muestran su código a través de SVN/CVS/GIT/Etc y aceptan colaboraciones, parches, ideas, etc ya que como Eric comentaba en aquella época favorecen al desarrollo del proyecto.

  2. Reply Sergio Ene 21,2009 4:23 am

    @Guu: Muchas gracias por la corrección. Ya edité el post corrigiendo el error.

Leave a Reply

Connect with Facebook