La semana en que contratas a un sexto desarrollador, el grupo privado de nivel superior que aloja tu código en GitLab.com Free supera los cinco usuarios. Según la documentación de GitLab sobre el límite de usuarios gratuitos, el grupo pasa entonces a ser de solo lectura. En GitHub Free para organizaciones, la nueva incorporación entra sin problema, ya que los colaboradores son ilimitados, pero te toparás con otro límite la primera vez que quieras bloquear main. Los repositorios privados de GitHub Free no pueden usar ramas protegidas ni propietarios de código.
Los planes de pago que compararías a continuación son GitHub Team, a 4 $ por usuario al mes for the first 12 months,
y GitLab Premium, a 29 $ por usuario al mes con facturación anual. También hay una opción sin ningún coste de licencia: GitLab Community Edition. CE funciona en servidores que tú controlas, uno para GitLab y otro para el runner que ejecuta tus trabajos de CI, y la tabla siguiente le dedica su propia columna.
Cómo se comparan los planes en un repositorio privado
Cada fila de la tabla supone un repositorio privado de equipo. Los datos de cada plan proceden de la página de precios o la documentación de cada proveedor.
| GitHub (Free / Team) | GitLab.com (Free / Premium) | GitLab CE en tu propio servidor | |
|---|---|---|---|
| Precio de lista | Free: 0 $. Team: 4 $ por usuario al mes durante los primeros 12 meses | Free: 0 $. Premium: 29 $ por usuario al mes, con facturación anual | Pagas un servidor para GitLab y otro para el runner; CE no tiene coste de licencia |
| Usuarios en el plan gratuito | Colaboradores ilimitados | 5 por grupo privado de nivel superior; solo lectura por encima de esa cifra | El límite de cinco usuarios no se aplica a Self-Managed |
| Revisiones obligatorias antes de fusionar | Team | Premium | Requiere convertir a EE y una licencia Premium. En CE, las aprobaciones son opcionales |
| Propietarios de código | Team | Premium | Requiere convertir a EE y una licencia Premium |
| Ramas protegidas | Team (en Free, solo en repositorios públicos) | Free | Incluidas en el nivel gratuito |
| Controles de despliegue en producción | Revisores obligatorios: Enterprise, para repositorios privados | Entornos protegidos, con permisos de despliegue y aprobadores: Premium | Requiere convertir a EE y una licencia Premium |
| CI incluida | 2000 / 3000 minutos al mes; tus propios runners son gratuitos | 400 / 10.000 minutos de cómputo al mes | La cuota está desactivada por defecto, así que el límite lo marcan la CPU y la RAM de tu servidor del runner |
| Almacenamiento incluido | Paquetes y artefactos de Actions, compartido: 500 MB / 2 GB | Repositorio Git y LFS, por proyecto: 10 GiB / 500 GiB | El disco de tu servidor de GitLab |
| Quién gestiona los servidores y las actualizaciones | GitHub | GitLab | Tú |
| Versión autoalojada | Enterprise Server, en el plan Enterprise | Self-Managed, con los mismos niveles Free y Premium | Sí, CE es el nivel Free de Self-Managed |
Planes y precios según github.com/pricing y about.gitlab.com/pricing a 28 de septiembre de 2026, sin cambios cuando volvimos a consultar ambas páginas el 21 de octubre. La página de GitHub no indica cuánto cuesta Team después de los primeros 12 meses. La fila de almacenamiento no compara lo mismo: lo que incluye GitHub cubre paquetes y artefactos de Actions, y lo de GitLab cubre el almacenamiento del repositorio Git y LFS en cada proyecto.
Si tu equipo quiere que alguien dé el visto bueno antes de que un despliegue llegue a producción, fíjate en la fila de despliegue antes que en la del precio. En GitHub Free, Pro y Team, los revisores obligatorios para entornos de despliegue solo funcionan en repositorios públicos, lo que sitúa ese control un nivel por encima de la revisión obligatoria antes de fusionar para cualquiera con código privado. GitLab incluye ambos en Premium, donde los entornos protegidos definen quién puede desplegar y quién debe aprobar. Si tu código es público, la mayoría de estas diferencias desaparecen en GitHub: las ramas protegidas y los revisores de despliegue funcionan en repositorios públicos sin plan de pago.
Cuál encaja con tu equipo
Elige GitHub Team si
Tu código y tus flujos de Actions ya están en GitHub, y lo que te falta es una revisión obligatoria con propietarios de código en repositorios privados.
Elige GitLab.com si
No quieres mantener un servidor. Free cubre un grupo de hasta cinco personas; a partir de ahí, o en cuanto necesites aprobaciones obligatorias, pasas a Premium.
Elige GitLab CE en tu propio servidor si
Lo que te frena son las cuotas por usuario, tus responsables pueden trabajar con aprobaciones que no bloquean la fusión y uno de ellos está dispuesto a encargarse de las actualizaciones y copias de seguridad de dos servidores: GitLab y su runner.
En nuestra opinión, GitHub es más difícil de dejar cuando tus pipelines dependen de Actions, ya que mudarte implica adaptar a GitLab CI los flujos del Marketplace que reutilizas.
Qué deja fuera GitLab CE y qué conserva
En CE, uno de tus responsables puede fusionar una solicitud que nadie ha revisado, y GitLab no lo impedirá. Las aprobaciones del nivel gratuito, que es el conjunto de funciones que ejecuta CE, «son opcionales y no impiden fusionar sin aprobación». Todo lo que aparece en la lista What needs Premium
lleva la etiqueta Premium en la documentación de GitLab.
Qué conserva CE
- Las ramas protegidas te permiten elegir qué roles pueden fusionar
- Los pipelines de CI/CD se ejecutan en runners que alojas tú
- Incluye el registro de contenedores
- Incluye tableros de incidencias básicos
- Incluye pruebas estáticas de seguridad de aplicaciones (SAST)
Qué requiere Premium
- Aprobaciones obligatorias y reglas de aprobación
- Propietarios de código y aprobación de los propietarios en ramas protegidas
- Entornos protegidos para despliegues en producción
- Reglas de push
- Merge trains
- Epics
Que haya una revisión antes sigue dependiendo de tus Maintainers. Si un contrato con un cliente o una auditoría de cumplimiento exige que ningún cambio salga sin una segunda aprobación, CE no puede imponerlo, y las reglas de aprobación de Premium sí.
No tendrás que migrar para conseguirlas. La documentación de conversión de GitLab te indica que instales el paquete Enterprise Edition (EE) sobre CE y después añadas una licencia. Hasta que la añadas, EE ofrece las mismas funciones Free sin coste. Las funciones de Premium se activan cuando activas una licencia de pago.
Qué supone gestionarlo por tu cuenta
Un administrador de CE en el foro de GitLab, que gestiona una instancia con unos 40 usuarios registrados, de los que unos cinco están activos, hace esta rutina cada lunes:
We take a backup and update every Monday morning, so we're generally running the latest and greatest version, and have
had no update/upgrade issues since around the 15->16 update.
Tu plan necesita algo más:
- Aplicar las actualizaciones de GitLab siguiendo un calendario fijo, a una hora tranquila. Tras un arranque en frío, nuestra instancia de prueba tardó unos 2 minutos en mostrar la página de inicio de sesión
- Hacer copias de seguridad en un lugar distinto del servidor y restaurar una copia de vez en cuando para comprobar que funciona. La copia de seguridad de GitLab no incluye
gitlab.rbnigitlab-secrets.json, y su documentación sobre copias de seguridad indica que los copies tú - Actualizar también GitLab Runner en su propio servidor
- Designar a una segunda persona que pueda encargarse de todo cuando la primera no esté
Esto es lo que cuesta un año de usuarios a precio de lista, sin contar los servidores:
| Tamaño del equipo | GitLab Premium, un año | GitHub Team, primer año |
|---|---|---|
| 5 personas | $1,740 | $240 |
| 10 personas | $3,480 | $480 |
| 25 personas | $8,700 | $1,200 |
Son 29 $ y 4 $ por usuario al mes, por 12. Nuestra guía sobre los costes por usuario de GitLab y GitHub frente a un servidor de GitLab CE calcula la factura completa, servidores incluidos. Con el salario mediano de 2025 en EE. UU. para desarrolladores de software, analistas de QA y testers, de 64,44 $ por hora según la Bureau of Labor Statistics, 10 usuarios de Premium cuestan al año lo mismo que unas 54 horas de trabajo de un desarrollador, y 10 usuarios de GitHub Team, unas 7 horas.
Para comparar esas horas con las cuotas por usuario de tu propio equipo, toma un año de usuarios de Premium, resta lo que cuestan los dos servidores y divide entre tu coste por hora. El resultado son las horas de mantenimiento al año que podrías dedicar antes de que CE salga más caro que Premium. Esto solo compara costes, ya que CE no impone aprobaciones como hace Premium. Si tu otra opción es GitHub Team, haz el mismo cálculo con su precio de 4 $ por usuario. A ese precio, las cuotas tardan mucho más en igualar el coste de dos servidores y su mantenimiento.
En el VPS de GitLab de DreamHost, DreamHost se ocupa del hardware, la red y la conectividad 24/7, y la página del producto indica que las actualizaciones de software y la configuración corren de tu cuenta. Las copias de seguridad también, como indica la lista anterior.
Cuánto servidor necesita GitLab
La página de requisitos de GitLab fija 8 vCPU y 16 GB de memoria como base para una instalación de un solo nodo. Los planes de VPS de GitLab de DreamHost incluyen Stack 16 (4 vCPU, 16 GB) y Stack 32 (8 vCPU, 32 GB). Stack 32 es el primer plan que cumple esa base. Stack 16 alcanza los 16 GB pero tiene la mitad de las 8 vCPU, así que queda por debajo de la base, y los planes más pequeños quedan aún más lejos. La guía de GitLab para memoria limitada baja mucho más, para un máximo de cinco desarrolladores. Ninguna de las dos páginas menciona equipos de 10 o 20 personas.
Esas cifras son solo para GitLab. Los trabajos de CI van en otro sitio: la página de instalación del runner de GitLab indica que instales GitLab Runner en una máquina distinta de la que aloja tu instancia de GitLab. GitLab no publica un tamaño para esa máquina. Su página de requisitos del runner dice que depende de cuánta CPU y memoria usen tus trabajos, cuántos se ejecuten a la vez y cuántas personas trabajen en paralelo. Según nuestra estimación, basta con un Stack 8, que tiene 2 vCPU y 8 GB, lo mismo que el runner alojado predeterminado de GitLab.com.
| CPU | Memoria | Almacenamiento | |
|---|---|---|---|
| Base de GitLab | 8 vCPU | 16 GB, o al menos 8 GB si la memoria es limitada | 40 GB para la aplicación, más los repositorios; se recomienda SSD |
| GitLab con poca memoria, hasta 5 desarrolladores | 1 núcleo AMD64 | 2 GB más 1 GB de swap | 20 GB |
| Stack 16 | 4 vCPU | 16 GB | 250 GB NVMe |
| Stack 32 | 8 vCPU | 32 GB | 450 GB NVMe |
| Stack 8, nuestra estimación para el runner | 2 vCPU | 8 GB | 150 GB NVMe |
Páginas de requisitos de GitLab consultadas el 28 de septiembre de 2026, y las del runner, el 20 de octubre de 2026. Las especificaciones de los Stack proceden de la página del VPS de GitLab de DreamHost.
La documentación de GitLab no indica en qué punto 4 vCPU se quedan cortas para un equipo como el tuyo, y nosotros tampoco lo hemos medido, así que la prueba siguiente ejecuta GitLab en Stack 16 y lo vigila mientras corren los pipelines. Si los trabajos se quedan en cola durante la prueba, revisa la configuración de concurrencia del runner y el uso de CPU en ambos servidores antes de culpar al plan. Un servidor de GitLab con la CPU casi al máximo mientras corren los pipelines es la señal de que has dado con el límite, y Stack 32 cumple las dos cifras base de la página de requisitos. El disco crece con tus repositorios, imágenes de contenedores y artefactos de CI, así que revisa el espacio usado al final de la prueba y proyéctalo a futuro.
Lo que consumió GitLab CE en nuestra VM de prueba
Las páginas de dimensionamiento de GitLab dan una base para uso real y un mínimo para poca memoria, pero ningún dato de lo que consume realmente una instalación vacía. Así que ejecutamos la imagen oficial de GitLab CE 19.5.0 en una VM de prueba con 2 vCPU y 8 GB, más o menos el tamaño del servidor del runner mencionado arriba, y medimos su memoria 10 minutos después de que se estabilizara. Después ejecutamos tres pipelines de un pequeño proyecto de Node.js, con GitLab Runner en la misma VM.

| Qué comprobamos | Resultado | Qué significa para tus servidores |
|---|---|---|
| Tres pipelines, runner en la misma VM | GitLab alcanzó un pico de unos 4705 MiB. En una medición, el trabajo usó un 137 % de CPU mientras GitLab usaba un 79 % | Más de lo que 2 vCPU podían dar a la vez; por eso el runner tiene su propio servidor |
| Página de inicio de sesión mientras corrían los pipelines | Normalmente 0,17 s; la más lenta, 1,30 s | La aplicación web siguió siendo usable para un proyecto pequeño |
| Minutos de trabajo por push, proyecto pequeño de Node.js | De 0,28 a 0,80 minutos | Los 400 minutos de GitLab.com Free cubrirían 500 pushes así o más. Tus pruebas serán distintas, así que consulta tu página de uso de CI |
En las cifras de CPU, el 100 % equivale a una vCPU, así que el trabajo y GitLab juntos necesitaron más que las dos de la VM. Estas ejecuciones no tenían usuarios y solo un proyecto pequeño, así que no pueden indicarte un tamaño de equipo. Lo que sí muestran es que la memoria de GitLab en reposo ronda los 4285 MiB con la configuración predeterminada y los 2657 MiB con la de poca memoria, aproximadamente una cuarta parte o menos de los 16 GB de Stack 16, lo que deja las 4 vCPU como la cifra que hay que vigilar. Por eso, durante la prueba, vigila la CPU de ambos servidores mientras se ejecutan tus propios pipelines.
Cómo probar CE durante un sprint
Replica tu código en el servidor de prueba y deja el original donde está: si la prueba no sale bien, no tendrás nada que devolver.
- Copia un repositorio real
Elige un repositorio con un pipeline que funcione y su historial real, para que la prueba refleje tu tamaño y tus tiempos de compilación reales. El importador de GitHub de GitLab trae el repositorio, las incidencias y las pull requests.
- Configura la regla de fusión
Protege
maincon Allowed to merge en Maintainers y Allowed to push and merge en No one. Después comprueba si tus responsables se sienten cómodos con aprobaciones que GitLab no hace obligatorias. - Ejecuta una semana normal de CI
Registra un runner en un segundo servidor, un Stack 8, y ejecuta tus pipelines habituales. Si son flujos de trabajo de GitHub Actions, reescríbelos primero para GitLab CI y cuenta esas horas en la prueba. Anota cuánto esperan los trabajos mientras la gente usa la aplicación web.
- Prueba una restauración y una actualización
Restaura una copia de seguridad, junto con tus copias de
gitlab.rbygitlab-secrets.json, en un servidor de repuesto desechable y luego aplica una actualización de GitLab. Anota cuánto tardó cada cosa y lo que tuviste que arreglar a mano. Nosotros no cronometramos ninguna actualización en nuestra VM de prueba, así que de este paso sale tu cifra de mantenimiento.
Antes de que empiece el sprint, apunta tu criterio de aprobado: cuánto puede esperar una compilación y cuántas horas de mantenimiento al mes estás dispuesto a asumir.
Cómo probamos GitLab CE
Las cifras de GitLab de esta página las midió DreamHost en una VM de prueba (arm64), no en un servidor de DreamHost, el 20 de octubre de 2026. Es la misma prueba en la que se basa nuestra guía sobre los costes por usuario de GitLab y GitHub, que incluye la configuración completa y las mediciones en reposo con más detalle. Nuestros planes usan procesadores x86 AMD EPYC, así que espera pequeñas diferencias en un servidor real. En resumen: la imagen oficial de CE 19.5.0 en una máquina de 2 vCPU con 8 GB de memoria (7922 MiB según Linux), una vez con la configuración predeterminada y otra con la configuración para memoria limitada de GitLab. Para los pipelines, GitLab Runner estaba en la misma máquina y ejecutó tres veces los trabajos de prueba y compilación del proyecto de código abierto Express, mientras medíamos la memoria y la CPU cada 3 segundos.
Lo que no probamos: la carga de un equipo real, un repositorio grande, varios pipelines a la vez, un runner en un segundo servidor, las 4 vCPU de Stack 16 o las 8 de Stack 32, y el tiempo de inactividad de una actualización. Cada configuración se ejecutó una sola vez. Los datos y precios de los planes proceden de las propias páginas de GitHub y GitLab en las fechas indicadas en las fuentes.
Preguntas frecuentes sobre GitLab y GitHub
¿GitLab CE es gratis para un equipo de 20 personas?
No hay cuota de licencia, y el límite de cinco usuarios de GitLab no se aplica a CE. La mayor parte de su código se publica con la licencia MIT Expat, mientras que el directorio ee/ tiene su propia licencia. Los costes son los servidores y las horas de mantenimiento que se explican en la sección sobre gestionarlo tú mismo.
¿Podemos seguir en GitLab.com Free si dividimos el equipo en más grupos?
Sí, hasta cierto punto. El límite de cinco usuarios se aplica a cada grupo privado de nivel superior, así que cada grupo sigue admitiendo solo cinco usuarios, y las cuentas Free creadas después del 27 de enero de 2026 pueden tener tres grupos de nivel superior.
¿Se puede autoalojar GitHub?
Sí, con el plan Enterprise. La página de precios de GitHub incluye Enterprise Server, GitHub autoalojado para dispositivos locales o tenants de nube autogestionados, como la opción de despliegue autoalojado de ese plan. El 28 de septiembre de 2026, el plan Enterprise partía de 21 $ por usuario al mes durante los primeros 12 meses.
¿GitHub Actions es gratis en nuestros propios runners?
La documentación de facturación de Actions de GitHub seguía indicando que el uso es gratuito en runners autoalojados cuando volvimos a consultarla el 21 de octubre de 2026. Un equipo con GitHub Team puede enviar sus compilaciones a su propia máquina y reservar los 3000 minutos incluidos para todo lo demás.
Fuentes
- Pricing, GitHub, 28 sept. 2026. github.com/pricing
- GitHub's plans, GitHub Docs, 28 sept. 2026. docs.github.com/en/get-started/learning-about-github/githubs-plans
- About protected branches, GitHub Docs, 28 sept. 2026. docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches
- About code owners, GitHub Docs, 28 sept. 2026. docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
- Deployments and environments, GitHub Docs, 28 sept. 2026. docs.github.com/en/actions/reference/workflows-and-actions/deployments-and-environments
- GitHub Actions billing, GitHub Docs, 28 sept. 2026. docs.github.com/en/billing/concepts/product-billing/github-actions
- Pricing, GitLab, 28 sept. 2026. about.gitlab.com/es/pricing
- Free tier user and group limits, GitLab Docs, 28 sept. 2026. docs.gitlab.com/user/free_user_limit
- Merge request approvals, GitLab Docs, 28 sept. 2026. docs.gitlab.com/user/project/merge_requests/approvals
- Code Owners, GitLab Docs, 28 sept. 2026. docs.gitlab.com/user/project/codeowners
- Protected branches, GitLab Docs, 28 sept. 2026. docs.gitlab.com/user/project/repository/branches/protected
- Protected environments, GitLab Docs, 28 sept. 2026. docs.gitlab.com/ci/environments/protected_environments
- Compute minutes, GitLab Docs, 28 sept. 2026. docs.gitlab.com/ci/pipelines/compute_minutes
- Installation requirements, GitLab Docs, 28 sept. 2026. docs.gitlab.com/install/requirements
- Running GitLab in a memory-constrained environment, GitLab Docs, 28 sept. 2026. docs.gitlab.com/omnibus/settings/memory_constrained_envs
- Convert a Linux package CE instance to EE, GitLab Docs, 28 sept. 2026. docs.gitlab.com/update/convert_to_ee/package
- Activate GitLab EE with a license, GitLab Docs, 28 sept. 2026. docs.gitlab.com/administration/license
- Tell me about your experience with self-managed GitLab, GitLab Forum, 28 sept. 2026. forum.gitlab.com/t/tell-me-about-your-experience-with-self-managed-gitlab/120200
- LICENSE, GitLab, 29 sept. 2026. gitlab.com/gitlab-org/gitlab/-/blob/master/LICENSE
- Storage usage quotas, GitLab Docs, 29 sept. 2026. docs.gitlab.com/user/storage_usage_quotas
- Import your project from GitHub to GitLab, GitLab Docs, 29 sept. 2026. docs.gitlab.com/user/project/import/github
- Install GitLab Runner, GitLab Docs, 20 oct. 2026. docs.gitlab.com/runner/install
- System requirements and supported platforms, GitLab Docs, 20 oct. 2026. docs.gitlab.com/runner/install/requirements
- Hosted runners on Linux, GitLab Docs, 20 oct. 2026. docs.gitlab.com/ci/runners/hosted_runners/linux
- Back up GitLab, GitLab Docs, 20 oct. 2026. docs.gitlab.com/administration/backup_restore/backup_gitlab
- GitLab CE Docker image (gitlab/gitlab-ce), Docker Hub, 20 oct. 2026. hub.docker.com/r/gitlab/gitlab-ce
- Software Developers, Quality Assurance Analysts, and Testers (Occupational Outlook Handbook), US Bureau of Labor Statistics, 28 sept. 2026. bls.gov/ooh/computer-and-information-technology/software-developers.htm