GitHub vs. GitLab

Über GitHub und GitLab können Sie Ihren Quellcode verwalten und hosten, alleine oder im Team, kostenfrei oder im Abo. Wir zeigen Ihnen die wesentlichen Unterschiede und warum Sie die eine oder die andere Plattform nutzen sollten.

Grundidee beider Plattformen

So ähnlich wie die Namen, so ähnlich ist auch das Angebot von GitHub und GitLab. Vorab: Sofern Sie nicht selbst entwickeln, sondern vor allem GitHub als Download-Quelle für Software kennen, kann Ihnen jeglicher Unterschied egal sein. Das funktioniert auf beiden Plattformen gleich gut und ist im Grunde nur ein kleiner Nebenaspekt des eigentlichen Leistungsspektrums.

Beide Plattformen stellen die Grundlage für Source Code Management (SCM) auf Basis von Git. Man kann auf beiden Plattformen gleichermaßen direkt im Browser, im Terminal mit Git selbst oder nahezu beliebigen Git-Umgebungen wie IDEs und Code-Editoren arbeiten. Beide Varianten ermöglichen kostenfreie private wie öffentliche Repositories. Beide bieten Werkzeuge für die Arbeit im Team, Integration von und in Drittsoftware sowie Hunderte erweiterter Funktionen verteilt auf unterschiedliche Kostenmodelle.

Wer für ein Großprojekt mit Hunderten Entwicklern, weltweiter Infrastruktur und vorgegebenen Rahmenbedingungen die beste Plattform sucht, wird nicht um eine ausführliche Evaluation herumkommen. Dazu sind die Unterschiede im Detail zu zahlreich und zudem auf komplexe Abomodelle verteilt. Einen guten Ansatzpunkt dazu bietet GitLab selbst in einem ausführlichen Feature-Vergleich. Dieser ist natürlich mit Vorsicht zu genießen, aber zumindest ist GitLab fair genug, hier auch Funktionen aufzulisten, die nur bei der GitHub-Konkurrenz existieren.

Wenn Sie hingegen "nur" Ihre privaten Tools und Skripte auf einer der Plattformen unterbringen oder öffentliche Projekte ohne großes IT-Management betreiben wollen, lassen sich die kostenfreien Angebote durchaus einigermaßen pauschal vergleichen.

Typisch für Marktführer: Das Add-on-Angebot von GitHub ist riesig.

Die größten Unterschiede

Der offensichtlichste Unterschied liegt sicherlich bei Größe und Betreiber: GitHub ist nahezu Monopolist, zumindest, was die kostenlosen Repositories betrifft, und das mit Abstand bekannteste SCM-Portal. Zudem gehört GitHub mittlerweile zu Microsoft, GitLab.com wird von GitLab Inc. betrieben. Und schon die schiere Größe bietet durchaus Vorteile: Die Wahrscheinlichkeit, Nutzer und Contributors ("Mitarbeiter") zu finden, steigt, Repositories von Dritten lassen sich (noch) leichter mit den eigenen Projekten verknüpfen, das Vertrauen in die Langlebigkeit wächst (siehe das eingestellte Google Code) und es arbeiten auch mehr Entwickler an der Plattform und an spezifischer Drittsoftware. Insgesamt führt das auch dazu, dass GitHub als das stabilere, performantere System gilt.

GitLab steuert dem mit Features entgegen: Beliebig viele kostenfreie Repos waren lange Zeit ein Alleinstellungsmerkmal von GitLab, erst vor einigen Monaten hat GitHub nachgezogen. Und auch heute noch gibt es bei GitHub diesbezüglich mehr Beschränkungen als bei GitLab. Beispielsweise gibt es bei beiden Anbietern das Konzept geschützter Branches, also Zweigen, an denen nur festgelegte Nutzer arbeiten dürfen. Bei GitHub geht das allerdings nur bei öffentlichen Repos, bei GitLab auch bei privaten. Noch dramatischer fällt die Beschränkung von maximal drei Entwicklern pro privatem Repo ins Gewicht. Möchten Sie zum Beispiel mit vier Kollegen in einem privaten Repo eine Anwendung für Ihren Sportverein verwalten, müssten Sie bei GitHub schon auf das Minimal-Abo für 7 USD monatlich umsteigen (womit dann auch geschützte Branches möglich wären).

Graphen bieten beide Plattformen, im Zweifel ist GitLab aber immer etwas hübscher.

Auf einem professionellen Level wäre etwa das Thema Continuous Integration/Continuous Deployment (CI/CD) zu nennen: GitLab bietet entsprechende Werkzeuge standardmäßig, bei GitHub müssen sie via Drittsoftware nachgerüstet werden. Noch prominenter ist wohl das Thema Nutzermanagement: GitHub erlaubt rollenbasierte Rechteverwaltung erst ab der Team-Version, die mit 9 USD pro Monat und Entwickler zu Buche schlägt, während es bei GitLab zum Standard gehört. Man kann nicht wirklich sagen, dass GitLab generell mehr leistet als GitHub, aber zumindest im kostenfreien Bereich ist diese Tendenz klar zu beobachten.

GitLab lässt sich als Open-Source-Alternative zu GitHub in der kostenlosen Community Edition ohne weitere Probleme auf eigener Hardware oder einem virtuellen Server installieren. Bei GitHub ist das nur möglich, wenn Sie die kostenpflichtige Enterprise-Version erwerben.

Und die Bedienung?

Sie werden viele Quellen finden, die der GitLab-Oberfläche im Browser die bessere Usability zusprechen - das liegt aber eindeutig auch im Auge des Betrachters, denn die Unterschiede sind so groß nun auch nicht. Mit einer riesigen Ausnahme: GitHubs Oberfläche setzt auf eine fixe Größe, während GitLab ordentlich skaliert und wesentlich mehr Arbeitsfläche bietet. Was das Erstellen und Ändern von Code direkt im Browser angeht, liegt GitLab ebenfalls eindeutig vorn, da Sie hier eine echte kleine IDE bekommen, wohingegen GitHub lediglich einen minimalistischen Texteditor bereitstellt.

Die GitHub-Oberfläche ist eher schmal gehalten und verschwendet viel Platz auf dem Desktop.

Sobald Sie die Plattformen nicht im Browser, sondern über IDEs oder Editoren auf Ihrem Desktop nutzen wollen, sieht die Welt jedoch ganz anders aus. Beide Plattformen lassen sich in vielen IDEs einfach über eine URL und die Nutzerdaten einbinden und einmal geschehen, bekommen Sie von GitHub und GitLab eigentlich gar nichts mehr mit - sie sind dann fast nur noch simple Speicherorte. Zumindest, wenn es um die Basics geht, sprich die Git-Funktionalitäten. Jedoch ist GitHub hier im Zweifel häufiger als Standardoption in Drittsoftware zu finden - der oben angesprochene Vorteil der populäreren Plattform.

Wenn das ganze Thema Git, SCM und GitHub/GitLab für Sie völlig neu ist, müssen Sie sich an beide Systeme gleichermaßen gewöhnen. Als großes Entscheidungskriterium taugt die Usability sicherlich nicht.

Die GitLab-Oberfläche nutzt die gesamte Breite des Monitors - ein Pluspunkt.

Entscheidungshilfe

Wenn man es kurz halten will, muss man hier beim Vergleich ein wenig pauschalisieren und es tendenziös ausdrücken: GitLab bietet im kostenfreien Bereich mehr Features und ein runderes Gesamtpaket Out-of-the-Box sowie die günstigeren Verträge im Enterprise-Segment. GitHub hingegen punktet mit Infrastruktur/Performance und der enormen Marktmacht.

Ob für Einsteiger nun die größere GitHub-Community oder GitLabs Mehr an Out-of-the-Box-Werkzeugen wichtiger ist, muss jeder selbst entscheiden. Wer Größeres vorhat, wird sowieso einen Punkt-für-Punkt-Abgleich mit beiden Anbietern durchführen müssen. Und auch mit Third-Party-Software und -Integrationen: Beide Plattformen lassen sich mit Hunderten Funktionen erweitern, sodass sich letztlich vermutlich mit beiden so ziemlich alles Denkbare erledigen ließe.

Zu guter Letzt darf man auch nicht vergessen, dass beide Plattformen ganz und gar nicht stillstehen. Zum Beispiel wird häufig die zum Standard gehörende Container-Registry von GitLab als größerer Vorteil gegenüber GitHub genannt. Das ist zwar grundsätzlich richtig, jedoch gibt es dasselbe Konzept auch bei GitHub, derzeit allerdings noch als Beta mit eigener Registrierung.

Wirklich eindeutig ist die Wahl vermutlich nur in zwei Fällen: GitLab, wenn Sie ein kostenloses privates Repository mit möglichst wenigen Restriktionen betreiben möchten. Und GitHub, wenn Sie ein weltweites Open-Source-Projekt mit größtmöglicher Verbreitung vorantreiben wollen.

Mehr zum Thema: