Skip to content

GitHub/GitLab Decision Matrix

This decision matrix provides a detailed comparison between GitHub and GitLab across multiple dimensions relevant to projects hosted at the Eclipse Foundation. The goal is to help projects make informed decisions based on factors such as Code Management, Continuous Integration, platform features available, data governance, infrastructure, ...

Each criterion is assessed side-by-side for both platforms, highlighting key differences and considerations. This matrix is intended as a living document and may evolve as new features or policies are introduced by either platform.

Criteria GitHub GitLab
Contract & licensing
Eclipse Foundation contract with the platform 10 years 3-year renewable term (GL OSS program participant)
Available Version Enterprise Cloud Ultimate 17.8.5
Policies applied GitHub policies + Eclipse foundation policies Eclipse Foundation policies, Private policy
Infrastructure & Hosting
Data Location Default in the US, with possible data residency in the EU.(NOTE: data stored outside region) EU (France, OVH Datacenter)
Data Sovereignty GH is 100% GitHub, with optional backups managed by EF (not in place) EF-owned data, with backups in Canada
SLA GitHub SLA Eclipse IT SLO
Service Status GitHub Status Eclipse status
Authentication
Authentication GitHub account (must be specified in EF account for invitation/permissions/ECA) EF account
2FA Activated and enforced at enterprise organization level Activated and enforced globally
Code Management
Git version Not disclosed 2.47.0
Git Large File Storage (LFS) Setup gitlfs, Storage and bandwidth quotas Set up at project level: No quotas yet defined.
Code search Native search, across all GitHub repositories Native search, advanced search is not set up, across Eclipse GitLab repositories
Mono repo and git sub-module Supported Supported
Permissions
Project Lead Maintain Maintainer (control over sub-groups and projects)
Committer Write Developer
Contributor Triage Reporter
Organization setup GitHub Self-Service with Otterdog (PL approval) Via UI only PL can apply changes (at project and sub-group levels) Modification at Group Level can only be changed by EF IT team
External Contribution
Community interaction GitHub issues, PR, and discussion GitLab issues, MR, GitHub discussion can be simulated in GitLab
Fork Fork with GitHub Account (ECA integrated via GitHub app). GitHub handle needs to be defined in Eclipse Account for ECA check to work. Fork with EF account (ECA integrated within GitLab)
CI & Build Infrastructure
Native CI GitHub actions GitLab CI
CI Libraries Marketplace actions Template examples EF templates
Runner request GitHub action is activated by default, or can be changed with Otterdog Request by a HelpDesk ticket (Runner creation and CI feature activation)
Runner type Default runners from enterprise plan, extra cost for specific configuration runner e.g. large runner Runners in EF infra; hosted runners accepted outside of EF Infrastructure accepted after security check
Runner for forked projects Default GitHub free plan No shared runners, User have to register their own runner.
Runner concurrency Defined at enterprise level: 500 concurrent jobs shared among all EF GitHub organizations Starting with 4 concurrency runners with 1 resource pack
Runner sizing 4cpu, 16GB RAM GitHub Allocation.
Larger runner through sponsoring
Small: 0.5 CPU/1GB RAM,
Medium: 2 CPU/4GB RAM,
Large: 4 CPU/8GB RAM (only through sponsoring)
.
Can be overridden up to max resource pack allowed combine with concurrency. See Resource Pack
Runner storage quotas 14GB 50GB
Runner storage location GitHub cloud Build storage: Datacenter in Canada, Artifacts: EU Datacenter
Runner OS/architecture VM approach:
Linux (x64/arm64),
Windows (x64),
macOS (intel/arm64)
Container approach:
Linux (x64) (Ubuntu by default),
Windows(x64)
Build infrastructure GitHub cloud runner (Azure datacenter) EF cluster based on OKD.
NOTE: OKD comes with security measure like non-root, drop all CAPS ...
Build/artifact retention Artifact and log retention: Max 180 days Archive jobs not set, Artifacts retention: 14 days
Registry GitHub Package Registry GitLab Registry is deactivated.
Nexus via repo.eclipse.org is proposed
Build Container support Container client: kaniko, buildah, podman, ... EF Buildkit infrastructure
Running services Service containers GitLab CI Services Resource pack quotas applied to services
Runner statistics None. Develocity can be used Grafana dashboard (only internally for now, will be made public later). Develocity can be used in addition
Secrets management Otterdog applies internal secrets to GitHub org/projects secrets. PL can request creation of specific secrets via ticket Integrated with internal tooling, PL can add manually their secrets via UI
Code Security/Compliance
Security tooling Code scanning, secrets scanning, Dependabot Security tooling integrated via CI, with reports generation
Security Dashboard otterdog dashboard None
IP/license Compliance Dash Tool GitHub Action Dash Tool integration Built-in compliance feature GitBab-CI integration (soon)
Project Management
Project Management GitHub Projects GitLab Plan and Track Work
Documentation
Wiki Available Available
Website (Pages) GitHub Pages GitLab Pages are disabled.
EF project-website process is proposed as an alternative.
Doc as code support GitHub Flavored Markdown, mermaid, all GitHub markup GitLab Flavored Markdown, asciidoc, plantuml, marmaid, ...
Advanced Features
Mirroring Manual or via GitHub Action Mirroring available: push, pull, bi-directionnal methods
AI agent Copilot GitLab Duo is disabled
Remote development Codespaces Web IDE, Workspace
Discussions Discussions GitHub discussion can be simulated in GitLab
External app Marketplace Integrate with GitLab
Merge Train Merge queue Merge train
Service desk None Service desk is disabled
Code owner Code owners Code owners
Visibility
Web Referencing Well referenced by search engines (tested with Google) Less referenced by search engine due to hosted instance (tested with Google).
Sitemap issue for public repository.
Repositories can be mirrored to GitHub
Contributor Visibility Displayed on the Organization/Project page.
IMPORTANT: Members have to make their profile public
Displayed on the Members page. All members are public
Metrics Insights page: Pulse, Contributors activities, Commits, Forks, watch, stars... Analyze page: Analytics Dashboard, Contributor, Repo, Code Review Analytics, insights, watch, stars...
Eclipse Project Adoption Rate 266 (source: otterdog) 63 (source: GitLab Eclipse Group)

Back to the top