
El 8 de octubre de 2011 Dmitriy Zaporozhets hizo el primer commit de GitLab. La casa en Ucrania no tenía agua corriente; el pozo comunitario era el menor problema — faltaba una herramienta de Git que él pudiera cambiar. Ruby on Rails, inspirado en GitWeb, hecho con Valeriy Sizov. Quince años después GitLab 19.3.1 (26 de agosto de 2026) sigue saliendo al mismo ritmo: una versión por mes, 177 seguidas hasta junio de 2026. Del pozo a Nasdaq. El tanuki naranja en el medio.
Ucrania, 2011: un Rails contra el GitHub cerrado
Dmitriy (Dmytro) Zaporozhets quería colaborar con el equipo sin que GitHub fuera dueño del flujo. Self-hosted, código abierto, instalación que un humano aguanta. El nombre vino de GitWeb y de la familia “git algo”. El commit inicial está en gitlab-foss: 9ba12248, 8 de octubre de 2011. No era empresa. Era fin de semana y noche.
O Git ya estaba el disco. Faltaba la forge: issue, merge request, wiki, permiso, web. Gitorious existía. GitHub ya era el social por defecto. GitLab nació del lado self-hosted — el servidor que la empresa instala y no manda el código a California.
2012: pancake, Hacker News y el CI
Sytse Sijbrandij — holandés, después Sid para el inversor estadounidense — vio el proyecto, leyó el Rails y le gustó la calidad tras trescientos commits. Publicó en Hacker News preguntando quién quería un GitLab.com. El post no subió. Se fue a hacer tortitas. El teléfono se llenó. La mujer se quedó con la sartén; Sid pasó el día respondiendo. Cientos en la beta.
En noviembre de 2012 Dmitriy hizo commit de la primera versión de GitLab CI. El resto de las forges trataba CI como plugin. GitLab lo trataba como el mismo producto. Esa decisión — una aplicación, desde la issue hasta el deploy — es el “master plan” que solo recibiría nombre en 2016. Runner, .gitlab-ci.yml, pipeline en el merge request: todo desciende de ahí.
2013–2014: EE, empresa, día 22
Una organización grande pidió una funcionalidad que la CE no tenía. Dmitriy tuiteó que quería vivir de GitLab. Sid y él cerraron GitLab Enterprise Edition el 22 de julio de 2013 — open core: CE MIT, EE con lo que pagan telecos y bancos. Sid hizo el commit inicial del sitio. GitLab B.V. en Utrecht; después GitLab Inc. en EE. UU., sin oficina. El primer empleado era de Serbia. Dmitriy, Ucrania. Los holandeses que Sid contrató dejaron de ir a la mesa extra de su casa al tercer día. El remote no fue ideología. Fue lo que quedó cuando nadie aparecía y Slack ya lo resolvía.
En 2014 la empresa se convirtió en LLC. GitLab Cloud pasó a llamarse GitLab.com. Release el día 22 de cada mes — 6.5 en enero, 7.6 en diciembre — y el calendario no se ha roto desde entonces. A final de año mandaron la aplicación a Y Combinator.
2015–2016: YC, handbook, master plan
El winter batch de 2015 llevó a casi todo el equipo al Valle. Nueve personas en la graduación, en marzo. El GitLab Handbook entró en el repositorio del sitio: valores, hiring, onboarding, salario, todo por defecto público. CREDIT: Collaboration, Results, Efficiency, Diversity, Iteration, Transparency. La transparencia era también defensa: comercializar open source suele matar a la comunidad; el handbook era el antídoto que Sid describió.
Compraron Gitorious (2015) y migraron a los usuarios. Khosla, seed. En 2016 el master plan: no ser “otro GitHub más”, ser la plataforma DevOps entera. Serie B de $ 20 millones de dólares. Más de mil contribuyentes, cien mil organizaciones. El equipo pasó de 140.
31 de enero de 2017: rm en la base de datos equivocada
Spam de snippets tumbó el PostgreSQL de GitLab.com. En mitad de la recuperación de la replicación, un sysadmin ejecutó rm -rf en el directorio de datos pensando que estaba en el secundario. Estaba en el primario. 300 GB se convirtieron en 4,5 GB. El backup a S3 estaba vacío: pg_dump 9.2 contra Postgres 9.6, el job fallaba en silencio. Snapshot de disco de la base de datos no existía. Restauración de un staging de seis horas. Issues, MR y usuarios de la ventana 17:20–00:00 UTC se perdieron; repositorio Git y wiki, no — viven en otro disco. A los self-hosted nadie les tocó.
El postmortem salió público, con un Google Doc en vivo. La lección quedó en la cultura: un backup que no restaura no es backup; la consola de producción necesita guardrail; la transparencia del handbook también vale cuando el tanuki se lleva el golpe. Ese mismo año compraron Gitter.
Qué es el tanuki, por dentro
No es un Git daemon con piel. Es un stack:
- Rails + Puma — la app. Issues, MR, CI, registro, paquetes, wiki.
- Gitaly — RPC delante del repositorio Git. Sin esto, el antiguo NFS no escala.
- Workhorse — el proxy Go que gestiona las subidas, git-http y lo que Rails no debería ver.
- PostgreSQL + Redis (Valkey entra como opción en 18.9, porque Redis cambió de licencia) + Sidekiq.
- Omnibus — un paquete, un
gitlab.rb,gitlab-ctl reconfigure. Helm para Kubernetes. - Runner — el agente que coge jobs del CI. Ejecutores Shell, Docker, Kubernetes.
CE MIT (y otras piezas). EE source-available, de pago. GNOME pasó a GitLab en mayo de 2018; KDE, 2020. El self-hosted que GitHub Enterprise cobraba caro, GitLab lo dio gratis en CE — y vendió el resto en EE. El atajo de pipeline Terraform de este blog está en Pipelines Terraform en GitLab. Quien quiera un forge más pequeño, en Go, mira Gitea.
All-remote, IPO, el CEO que se fue
Antes de la pandemia GitLab ya se vendía como la mayor empresa totalmente remota del mundo: 1.200 personas, 65 países, cero oficinas de la compañía. El de San Francisco, 15 plazas, repitió el patrón de la mesa de Sid: el vendedor dejó de ir. Híbrido, dice el handbook, es lo peor de los dos mundos — dos maneras de hablar. WordPress e InVision eran los únicos pares que el inversor citaba. Luego el inversor se convirtió en abogado del modelo: contratación más rápida, coste menor.
El 14 de octubre de 2021 GitLab Inc. salió a Nasdaq, ticker GTLB. Diez años desde el primer commit. Precio US$ 77; abrió a 94, cerró a 103. Más de un millón de seats licenciados, 30 millones de registrados por entonces. En 2023 Gartner creó el cuadrante de DevOps Platforms y colocó a GitLab como Leader. En el FY2024 llegó el primer trimestre de beneficio operativo non-GAAP.
En diciembre de 2024 Sid dejó el cargo de CEO por salud. Bill Staples asumió. Sid se fue a hacer Kilo Code, agente de IA open source. El handbook sigue siendo el mismo documento. El release del día 22 (hoy en un jueves variable, pero el mes no falla) también.
2026: 19.3, Duo, Valkey
El año fiscal que cerró el 31 de enero de 2026: ingresos US$ 955,2 millones, +26% sobre FY2025. 172 releases mensuales seguidas en esa fecha; en junio la web de la empresa ya sumaba 177, 50 millones de usuarios registrados, 2.500 en el equipo, 5.500 contribuidores. GitLab 18 fue el año de Duo Agent Platform (GA en el 18.8). El 19.0 salió el 21 de mayo de 2026. El 19.3 el 20 de agosto; parche 19.3.1 el 26 de agosto. Redis AGPLv3 empujó a Valkey (BSD) hacia Omnibus, opcional desde el 18.9.
El posicionamiento cambió de nombre — DevOps, DevSecOps, “inteligent orchestration” — pero el disco es el mismo: un YAML, un runner, un MR. Self-hosted en Ubuntu sigue siendo Omnibus o Helm sobre Kubernetes e Docker. El Git de debajo no cambió: Git simple y rápido.
Cierre
Un Rails en Ucrania, un holandés con tortita y una mascota japonesa (el tanuki, perro mapache, no es un zorro). Open core, handbook abierto, un mes sin saltarse el calendario. GitHub se quedó con la red social del código; GitLab se quedó con el servidor que la empresa instala y con el pipeline que GitHub fue a copiar. 19.3.1, Gitaly, runner, CE MIT. El pozo se secó. El tanuki, no.
La historia del disco: La historia de Git. La forge hermana, más delgada: Gitea.