Los arquitectos observan miles de edificaciones durante sus prácticas, y estudian en profundidad aquellos edificios diseñados por maestros y expertos. En contraste, la mayoría de los desarrolladores de software sólo logran conocer un puñado de programas grandes (normalmente son programas escritos por ellos mismos) y nunca estudian los grandes programas de la historia. Como resultado, se siguen repitiendo los mismos errores de siempre en lugar de construir nuestros programas basándonos en los que ya son un éxito.
Así comienza este libro, “The Architecture of Open Source Applications”, uno de los mayores compendios de sabiduría en el desarrollo de aplicaciones que podamos encontrar. Los programadores de las aplicaciones más famosas, y de gran importancia histórica, explican cómo se desarrollaron sus proyectos, cual era su objetivo inicial, como afrontaron los problemas y qué conclusiones obtuvieron al finalizarlos. Hay piezas de software relativamente nuevas como el famoso juego “Battle for Wesnoth” o ya históricas como la Bash.
Entre el software que se muestra encuentro especialmente interesantes la parte dedicada a “Riak y Erlang/OTP“, por lo fácil que hacen que parezca todo, un gran tutorial. Me ha encantado también la de Sendmail, por poder estudiar todo un clásico, especialmente la parte de seguridad, la más criticada durante su larga vida, y la parte de Berkeley DB es alucinante, como un programa de hace 20 años ya inventó el concepto de NoSQL y el almacenamiento con “clave-valor”.
Según los autores el objetivo del libro es, precisamente, formarnos usando estas “clases magistrales” que tan poco abundan en nuestro entorno y conocer de primera mano, de forma breve y casi en plan postmortem de Gamasutra, las batallitas que ellos mismos te contarían tomando cervezas en un bar. El libro está licenciado bajo Creative Commons, por lo que podremos consultarlo sin problemas, aunque si queremos comprarlo todo el dinero recaudado irá para Amnistía Internacional.
Libro completo | The Architecture of Open Source Applications
Via | Slashdot