Prefacio

¡Gracias por comprar este libro! Si es un regalo, entonces enhorabuena. Si, por otro lado, lo has descargado de forma gratuita, bueno, de hecho, también estamos contentos por ello! Este libro esta disponible bajo una licencia libre, y esto es importante porque queremos que sirva de documentación para la comunidad-y la documentación debe de ser gratis.

¿Por qué pagar por un libro gratuito? Bueno, quizás te guste esa sensación cálida que se siente al tener un libro entre las manos, mientras te acomodas en el sillón con una taza de café. En el sillón... lo pillas? Dejando los malos chistes de lado, sea por los motivos que sean, comprar una copia de este libro ayuda a mantener el proyecto, y así podemos dedicar más tiempo a trabajar en mejoras tanto para este libro como para CouchDB. ¡Así que gracias!

Nos hemos propuesto compilar la colección más completa de información sobre CouchDB, y aún así sabemos que no lo hemos conseguido. CouchDB se mueve a mucha velocidad y ha crecido significativamente mientras escribíamos este libro. Hemos sido capaces de adaptarnos rápidamente y mantener la información al día, pero al mismo tiempo hemos tenido que saber hasta dónde podíamos llegar si de verdad esperábamos publicar el libro algún día.

Mientras se escribía este libro, CouchDB 0.10.1 era el release más reciente, pero quizás ya estés viendo la versión 0.10.2 o incluso 0.11.0 publicadas-puede que hasta la 1.0. Aunque tengamos ideas para versiones futuras, no es algo que sepamos con certeza así que no hemos querido hacer predicciones a lo loco. CouchDB es un proyecto en comunidad, así que al final depende de ti, nuestros lectores, ayudar a dar forma al proyecto.

El lado bueno es que mucha gente ya está usando CouchDB 0.10 en producción, y ya deberías tener más que suficiente entre manos para llevar a cabo un proyecto sólido. Versiones futuras de CouchDB harán ciertas cosas más fáciles, pero las características fundamentales deberían mantenerse tal y como están ahora. Por otro lado, aprender estos "features" fundamentales te ayudará a entender y apreciar los atajos, permitiendote construir tus propias soluciones hechas a medida.

Escribir un libro "abierto" ha sido muy divertido. Estamos muy contentos de que O’Reilly haya apoyado nuestra decisión en todo lo que han podido. Lo mejor de todo-aparte de poder dar acceso al material desde el principio-ha sido la funcionalidad de los comentarios en el sitio web del libro. Esto permite que cualquiera pueda comentar en cualquier párrafo del libro con un simple click. Hemos usado un poco de JavaScript y Google Groups para permitir comentarios indoloros. El resultado ha sido impresionante. A día de hoy, 866 personas han mandado más de 1,100 mensajes a nuestro pequeño grupo. Los mensajes han variado desde puntualizar un falta de ortografía hasta discusiones técnicas profundas. El feedback que recibimos sobre el primer capítulo original nos ha llevado a re-escribirlo completamente para asegurarnos de que las ideas que queríamos comunicar, de hecho, se comunicaran de forma clara. Este sistema nos ha permitido formular con claridad lo que queríamos decir de una manera que funcione para vosotros, los lectores.

En general, el libro se ha convertido en algo mucho mejor gracias a los cientos de voluntarios que han dedicado su tiempo para mandar sugerencias. Entendemos el enorme valor de este modelo, y queremos mantenerlo. Nueva funcionalidad en CouchDB debería incluirse en este libro sin tener que re-imprimirlo cada tres meses. La industria editorial no esta preparada para esto todavía, pero queremos seguir publicando contenido nuevo y corregido y escuchar con atención los comentarios. Los detalles de cómo haremos esto están todavía un poco verdes, pero en cuanto tengamos una idea clara os lo haremos saber en el website del libro. ¡Es una promesa! Así que asegúrate de visitar el website del libro en http://books.couchdb.org/relax para estar al día.

Antes de dejarte explorar el libro, queremos asegurarnos de que estás preparado. CouchDB está escrito en Erlang, pero no necesitas saber nada de Erlang para usar CouchDB. CouchDB también se apoya en tecnoloías web como HTTP y JavaScript, y algo de experiencia con estas tecnoloías ayudarán a seguir los ejemplos. Si has construido un website antes-simple o complejo- deberías estar listo para empezar.

Si eres un programador o arquitecto de sistemas con experiencia, la introducción a CouchDB debería resultarte cómoda, porque ya sabes todo lo que implica-lo único que tienes que aprender es cómo CouchDB encaja las piezas. Hacia el final de este libro, aumentamos el nivel de experiencia para ayudarte a sentirte cómodo tanto construyendo sistemas de CouchDB a gran escala como con proyectos personales.

Si estás empezando como desarrollador web, no te preocupes-para cuando llegues a las partes más avandas, deberías poder seguirnos con las cosas más difíciles.

Ahora siéntate cómodo, relájate, y disfruta del viaje por el mundo de CouchDB.

Agradecimientos

J. Chris

Me gustaría dar reconocimiento a todos los contribuidores de CouchDB, la gente mandando patches, y al resto de la comunidad. No lo podría haber hecho sin mi mujer, Amy, quien me ayuda a ver las cosas con perspectiva; sin la paciencia de mis coautores y O’Reilly; y no sin la ayuda de todos los que nos han ayudado a decidir detalles del contenido de este libro en las listas de correo. Y una mención especial para el corrector, que ha sido alucinante!

Jan

Me gustaría agradecer a la comunidad de CouchDB. Agradecimientos especiales a la buena gente de muchos sitios que me han invitado a asistir o hablar en conferencias, que me han dejado dormir en sus couches (broma a propósito), y que se aseguraron de que lo pase bien cuando he estado viajando presentando CouchDB. Hay demasiados para nombrar, todos vosotros en Dublín, Portland, Lisboa, Londres, Zurich, San Francisco, Mountain View, Dortmund, Estocolmo, Hamburgo, Frankfurt, Salt Lake City, Blacksburg, San Diego, y Amsterdam: vosotros sabéis quienes soys-gracias!

A mi familia, amigos, y colegas: gracias for vuestro apoyo y paciencia conmigo a lo largo de este último año. No me vais a escuchar decir “Tengo que irme temprano, tengo un libro que escribir” por un tiempo, prometido!

Anna, tú crees en mi; no podría haber hecho esto sin tí.

Noah

Me gustaría agradecer a O’Reilly por su entusiasmo con CouchDB y por darse cuenta de la importancia de la documentación libre. Y por supuesto, me gustaría agradecer a Jan y J. Chris porque es un placer trabajar con ellos. Un agradecimiento muy especial para toda la comunidad de CouchDB, por hacer todo tan entretenido y satisfactorio. Sin vosotros, nada de esto sería posible. Y si estás leyendo esto, eso significa tú!