Menü
Developer

Vor 10 Jahren: Linus Torvalds baut Git

Das vor zehn Jahren aus der Not heraus entstandene verteilte Versionkontrollsystem hat die Softwareentwicklung der letzten Zeit maßgeblich beeinflusst. Zeit für eine Würdigung.

Von
vorlesen Drucken Kommentare lesen 320 Beiträge
10 Jahre Git

Vor ziemlich genau zehn Jahren wurde das verteilte Versionskontrollsystem Git geboren. Linux-Schöpfer Linus Torvalds begann damals, eine neue Quellcode-Management-Software zu programmieren, nachdem die Kernel-Entwickler das bislang genutzte proprietäre System BitKeeper nicht mehr länger kostenlos nutzen durften, da die Lizenz geändert wurde.

Bestehende SCM-Systeme (Software Control Management) der Zeit waren offenbar nicht in der Lage, den mit der Kernel-Entwicklung verbundenen Release-Prozess abdecken zu können, selbst das zu der Zeit angesagte Open-Source-System Subversion nicht. Anscheinend unterschieden sich die Anforderungen von Torvalds und dessen Umfeld so sehr von der Arbeitsweise von Subversion, dass dieser in der Mailingliste zum Linux-Kernel jegliche Diskussion um die Einführung von Subversion mit dem lapidaren Satz "Don't bother telling me about subversion" zu unterbinden versuchte.

Schon nach wenigen Tagen konnte dann ein erstes Release der neuen Software präsentiert werden, die den Anforderungen wie Unterstützung von verteilter Softwareentwicklung, hoher Sicherheit gegen Verfälschungen jeglicher Art und hohe Effizienz nachkommen sollte. Die Bezeichnung der Software ist laut Torvalds frei erfunden: "git can mean anything, depending on your mood". An anderer Stelle äußerte er sich hingegen so: "I'm an egoistical bastard, and I name all my projects after myself. First 'Linux', now 'Git'". Git bezieht sich hier auf das Slangwort 'git", das sich mit Dickkopf übersetzen lässt.

Was damals speziell für die Kernel-Entwicklung entstand, traf in den Folgejahren den Nerv vieler anderer Entwickler. So konnten auch Konkurrenzprodukte wie die etwa zur gleichen Zeit entstandenen Mercurial sowie Bazaar vom Boom verteilter Versionskontrollsysteme profitieren. Verteilten Systemen ist gemein, dass sie keinen zentralen Server benötigen, sondern nach dem Peer-to-Peer-Konzept arbeiten. Das bedeutet, dass auf jedem Peer ein Repository existiert, das eine Teilmenge aller Entwicklungszweige enthält. Es gibt aber nicht zwingend ein Repository, in dem alle Änderungen vorhanden sind. Jeder Benutzer entscheidet selbst, welche Änderungen er in sein Verzeichnis aufnimmt. In jedem Repository ist die Änderungshistorie der Artefakte enthalten, sodass hierdurch inhärent Back-ups vorliegen – vorausgesetzt, die Änderungen wurden bereits verteilt.

Bazaar hat letztlich an Momentum verloren, spätestens nachdem Canonical 2012 etliche Entwickler abgezogen hatte, und Mercurial wird wohl für immer die Nummer 2 hinter Git bleiben. Das liegt maßgeblich an dem im April 2008 gegründeten Hosting-Dienst GitHub, der zur weltweit verbreitetsten Entwicklungsplattform für Open-Source-Projekte geworden ist. Der Dienst nutzt Git und erweitert es um Kollaborationswerkzeuge. Open-Source-Projekte dürfen GitHub kostenlos nutzen, was die hohe Zahl der auf der Plattform betriebenen Software erklärt. Sein Geld verdient das hinter dem Service stehende Start-up-Unternehmen mit kostenpflichtigen Angeboten, um proprietäre und nicht öffentlich einsehbare Softwareentwicklungen zu betreiben. Außerdem bieten die GitHub-Macher eine Version ihrer Software zur lokalen Installation an.

Um mit GitHub konkurrenzfähig zu bleiben, mussten sämtliche vergleichbaren Dienste über kurz oder lang Git unterstützen, selbst Atlassians ursprünglich allein auf Mercurial setzendes BitBucket. Andere Plattformen wie Google Code haben mittlerweile ob der Vormachtstellung von GitHub die Segel gestrichen.

So ist Git innerhalb von zehn Jahren zu einer der wichtigsten Techniken der Softwareentwicklung geworden, die bei etlichen IT-Abteilungen für große Umwälzungen des Entwicklungsprozesses gesorgt hat, denn die Mehrheit der Entwickler wollte schon schnell mit Git arbeiten. Stellvertretend für andere Tool-Hersteller sei hier nur Microsoft genannt: Das Unternehmen musste deswegen Git-Unterstützung im Team Foundation Server einführen, und die jüngere Open-Source-Entwicklung von .NET findet natürlich auf GitHub statt.

Das hört sich nicht schlecht an für ein Werkzeug, dass aus der Not heraus entstanden ist von einem Schöpfer, der eigentlich nie ein SCM-Werkzeug bauen wollte und für den Source Control Management (neben Datenbanken) eigentlich das Langweiligste überhaupt in der IT darstellt, wie Torvalds in einem aktuellen Interview auf Linux.com bestätigt. Glücklich kann er sich insofern schätzen, dass er die Leitung des Git-Projeks schon 2005 in die Hände von Junio Hamano gegeben hat.

Von Atlassian gibt es eine anschauliche grafische Anwendung, die den Weg von Git über die vergangenen dokumentiert (dafür auf das Bild klicken).

(Bild: Atlassian)

Siehe dazu auf heise Developer:

(ane)