Ya antes había explorado y usado algunas aplicaciones para el control de versiones. CVS no me gustó por la forma en la que creaba y desperdigaba directorios por doquier. Alguna vez supe de Perforce y me gustó, pero sin tener proyectos de software que en ese momento mi empleador considerara y me permitiera usarlo no pasé de usarlo brevemente.
Posteriormente, cuando trabajé para Banamex me tocó hacer uso de algunas otras herramientas similares. «Subversion» (me parece) se llamaba uno de ellos; «Dimensions» fue otro que llegó con Citi (más pobre y limitado por cierto) y había algunos otros de los que ya he olvidado su nombre. En Banamex comprobé que estas herramientas no sirven de nada a menos que se usen cabalmente y bajo una convención de acciones (llamadas en su conjunto comúnmente «proceso»). Ya escribiré de ello en alguna ocasión posterior, pero para que Ud. amable lector, se dé una idea de cómo eran usadas, imagínese que sólo se empleaban para cubrir con el punto de control de versiones del proceso de liberación a producción y en el que se podía subir cualquier cosa (desde un archivo vacío o cualquier otra cosa, hasta el código fuente de lo que se estaba liberando, que sería lo correcto) ya que no había una validación de correlación de lo que se ponía en este punto contra lo que se supone debió bajarse del repositorio de software (y por alguna razón las áreas encargadas de validar esto, incluso el área dueña de este sistema, jamás dijeron algo).
No hace mucho supe de GitHub y luego de Git. El concepto para lo que servían no me era desconocido pero si me resultaba algo confuso qué era cada uno de ellos o si eran lo mismo. No hace mucho, por una compañera del laboratorio de PLN en el CIC, más adelantada en el programa de doctorado, supe de la importancia que es tener un proyecto en GitHub para las empresas en USA, algo así como una carta de presentación y parte del CV.
Por necesidades de mi proyecto de investigación doctoral, he tenido que revisar y probar algunos programas, utilerías y bibliotecas de dominio público que están en GitHub, y así he debido hacer uso del la utilería git
(que me ha servido también para dejar ese control de versiones manual que uno lleva y no deja de ser infalible por más ordenado y disciplinado sea uno). De mi experiencia he tomando algunas notas y he creado una página al respecto.
Adicionalmente, viendo su utilidad y convencido de su importancia, he incorporado la enseñanza de estas dos herramientas en mi cátedra del programa de Maestría en Ciencias en Informática, específicamente y recientemente, en la materia «Almacenamiento de Datos y su Administración«.
Esta entrada en el blog es para marcar la publicación de la página para Git y para servir de foro a ésta.