GitHub celebra los 20 años de Git conversando con su creador, Linus Torvalds
Linus Torvalds es, por mérito propio, una de las grandes personalidades de la historia de la tecnología… Y no solo por ser el creador de Linux, aunque fue precisamente para facilitarse la vida con el mantenimiento del kernel que se dio a la labor de crear otro proyecto que, de igual modo, ha trascendido hasta […] La entrada GitHub celebra los 20 años de Git conversando con su creador, Linus Torvalds es original de MuyLinux

Linus Torvalds es, por mérito propio, una de las grandes personalidades de la historia de la tecnología… Y no solo por ser el creador de Linux, aunque fue precisamente para facilitarse la vida con el mantenimiento del kernel que se dio a la labor de crear otro proyecto que, de igual modo, ha trascendido hasta convertirse en uno de los pilares del desarrollo de software actual.
Hablamos, por supuesto, de Git, el gestor de control de versiones más popular del mundo y, a su vez, base fundacional, de algunas de las forjas de software más populares, como GitHub o GitLab. Pues bien, hace poco que Git celebró su vigésimo aniversario y, para celebrarlo, en GitHub tuvieron «una conversación con su creador, Linus Torvalds». A continuación os dejamos alguno de los fragmentos más destacados.
En este sentido, Torvalds reconoce que el éxito de Git lo sorprendió. Lo diseñó como una herramienta para salir del paso, una solución personal ante la pérdida del acceso a BitKeeper, el sistema de control de versiones que usaban al principio en el desarrollo de Linux. De hecho, recuerda que fue algo tan «suyo» que durante las primeras semanas utilizaba Git escribiendo a mano los comandos más crudos, sin interfaz alguna. «Literalmente usaba lo que hoy se llaman comandos plumbing«, cuenta.
«Todavía lo uso, sí. Pero no hablaría de ello. Quiero decir, esa ha sido una de las grandes sorpresas: lo mucho que acabó dominando todo el mundo del control de versiones. Yo lo veía como una solución a mis problemas, y obviamente pensaba que era superior«.
La necesidad de crear Git surgió tras el conflicto con BitKeeper, una herramienta comercial que, si bien era gratuita para proyectos de código abierto, no era bien recibida por toda la comunidad. «BitKeeper siempre funcionó bastante bien para mí. No era perfecta, pero estaba a años luz de cualquier otra cosa que hubiera probado«. Sin embargo, la situación se torció cuando Tridge [Andrew Tridgell, creador de Samba] trató de realizar ingeniería inversa sobre su protocolo. «Eso iba explícitamente contra las normas de la licencia de BitKeeper. Podías usarlo para código abierto, pero no podías hacer ingeniería inversa. Y no podías intentar clonarlo. Y eso generó enormes problemas«.
Durante esos meses, Torvalds ya había empezado a pensar en una alternativa. «Estuve pensando en el problema durante cuatro meses y pensando en qué funcionaba para mí, y en cómo hacer algo que fuera incluso mejor que BitKeeper, pero sin hacerlo como BitKeeper«. Cuando por fin se lanzó, todo fue rápido: «La parte de escribirlo fueron quizá diez días hasta que empecé a usar Git para el kernel«.
«Para mí, una de las metas era aplicar una serie de parches, aunque fueran 50 o 100, en medio minuto. No puedes permitirte ir a por un café entre parche y parche» se ríe Linus. «Y eso era importante para mí porque es una cuestión de calidad de vida«. A esto se suma el enfoque distribuido y una preocupación clave: la integridad. «Todo está protegido por un hash realmente bueno«.
Torvalds tenía muy claro lo que quería, pero no todo salió perfecto. «SHA-1 lo lamento en el sentido de que creo que provocó mucho esfuerzo inútil con todo eso de intentar soportar SHA-256 además de SHA-1. Entiendo por qué ocurrió, pero creo que en su mayor parte fue innecesario». También menciona otros detalles menores: «Creo que cometí un error en cómo se ordenan las entradas del archivo de índice».
También recuerda cómo fue dejar Git en manos de otro: «Mantuve Git durante como tres o cuatro meses. Creo que se lo pasé en agosto o algo así. Y cuando se lo pasé, se lo pasé de verdad. Seguía por ahí. Todavía leía la lista de correo de Git, cosa que ya no hago. Junio quería asegurarse de que si me preguntaba algo, yo estaría de acuerdo«. Torvalds afirma que lo eligió por su buen criterio: «Puedes verlo en los parches, puedes verlo en cómo reaccionan al código de otros, en cómo piensan«.
Con todo, lejos de involucrarse en la evolución diaria de Git, Torvalds se considera un usuario básico: «Uso cinco comandos: git commit, git pull, git merge, git blame y git log. No uso ninguna de las integraciones con el editor ni nada de eso porque mi editor es demasiado estúpido para integrarse con nada, y menos aún con Git«. De hecho, mantiene él mismo su editor de toda la vida: «Es un proyecto muerto que nadie debería usar, pero yo sigo compilándolo cada vez que instalo una máquina nueva«.
Al mirar atrás, lo que más le llama la atención no es el éxito de Git, sino el cambio en la percepción: «Durante los primeros años recibí muchas quejas. Por qué hace esto, por qué los comandos se llaman distinto sin motivo… Y el motivo principal era que simplemente no me gustaba CVS, así que a veces hacía las cosas de forma diferente a propósito. Entre 2007 y 2010 la gente pasó de quejarse a apreciar de verdad el poder de Git«.
Y a pesar de todo, no hay nostalgia. «Git no fue un gran proyecto para mí. Fueron cuatro meses. Todo el mérito es de Junio y de la comunidad«. Aunque se permite un último guiño personal: «Mi hija me escribió desde la universidad para decirme que soy más conocido allí por Git que por Linux. Es ridículo, pero supongo que es verdad«.
Para ver la conversación completa en el siguiente vídeo:
La entrada GitHub celebra los 20 años de Git conversando con su creador, Linus Torvalds es original de MuyLinux