El libre intercambio de información podría ser el ideal en Ciencia. Pero la realidad, a menudo, es mucho más complicada. A menudo, el proceso incluye recopilación de datos, análisis y redacción del artículo. Si además se colabora, se hace más difícil. Habrá comunicación no trazable por email o en pendrive de ficheros como datos_2.csv, datos_2_limpios.csv, datos_3_actualizados.csv. Habrá versiones de los programas analisis_datos2.csv, analisis_limpios2_modificado.R… Y habrá documentos como manuscrito_1.docx, manuscrito_1_revision_pepe.docx, manuscrito_2_revisado_Maria.tex, etc. Tras el envío y revisión del artículo, probablemente aparezcan nuevas versiones de todos estos artículos. Y cada investigador tendrá una versión diferente en su ordenador local. Idealmente, tras la publicación del artículo, los investigadores publicarán los datos y programas de análisis en su web, pero… ¿quién sabe cuál es la versión final? Probablemente, al cabo de un año sea muy difícil -si no imposible- reproducir el análisis.
Todo esto son problemas fácilmente solucionables con un sistema de control de versiones como Git. Utilizado de forma adecuada, se pueden centralizar los cuadernos de notas de investigación, los datos, programas de análisis y versiones de un manuscrito, cada uno con su identificador único y su descripción. Se puede trabajar y editar en paralelo y mezclar finalmente todas las versiones necesarias. Se pueden colaborar y publicar online todos estos ficheros, y rastrear todo el historial. Y, si la liamos, volver a una versión anterior que sí que funcionaba.
En este taller haremos una introducción práctica a git y su uso centralizado en github, aplicado a un ficticio cuaderno de investigación.