Microsoft verwendet jetzt das Open Source-Tool von Linus Torvalds für die Windows-Entwicklung

In den letzten Jahren hat sich Microsoft Linux immer mehr angenehmer gezeigt und sogar behauptet, dass sie es lieben. Nun gab Microsoft bekannt, dass sie die ursprünglich für die Entwicklung von Linux entwickelte Versionskontrollsoftware übernehmen.

Microsoft wechselt zu Git für Windows

Datei Foto: Linus Torvalds mit Microsoft Team auf der LinuxCon 2016

Git ist ein Versionskontrollsystem, mit dem Änderungen an Dateien protokolliert werden. Es wurde ursprünglich vom Vater von Linux, Linus Torvalds, erstellt. Als Linus mit der Arbeit am Linux-Kernel begann, verwendete er die kostenlose Version eines (damals) proprietären Versionsverwaltungssystems namens BitKeeper. Im Jahr 2005 beschuldigte Larry McVoy, der Eigentümer von BitKeeper, Andrew Tridgell, den Schöpfer von Samba und rsync, BitKeepers-Protokolle zurückentwickelt und die kostenlose Nutzung von BitKeeper widerrufen zu haben.

Aus diesem Grund hat sich Linus Torvalds, der Schöpfer des Linux-Kernels, die verfügbare Versionsverwaltungssoftware angesehen. Da keiner seine Kriterien erfüllte, schuf er seinen eigenen und nannte ihn git. Über den Namen sagte Linus: „Ich bin ein egoistischer Bastard und benenne alle meine Projekte nach mir. Zuerst 'Linux', jetzt 'Git' ”. Git ist britischer Slang für jemanden, der schweinköpfig ist und immer sicher ist, dass er Recht hat.

300 GB Repo voller Windows-Daten

Microsoft gab bekannt, dass das Windows-Entwicklungsteam ab Februar zu Git wechseln wird. All dies ist Teil ihres OneCore-Projekts, mit dem der Windows-Entwicklungsprozess zu einer modularen und mehrschichtigen Plattform vereinheitlicht werden soll.

Das frühere Versionskontrollsystem von Microsoft, SourceDepot, konnte die enorme Größe der Windows-Entwicklung in einem Repo nicht unterstützen. Vor dem Wechsel wurde es in 65 Repos aufgeteilt, die überlappende Teile von Windows enthielten.

Bisher sind 2.000 Microsoft-Ingenieure auf Git umgestiegen, 500 weitere werden in den nächsten Monaten hinzukommen. Hier sind einige der Statistiken aus dem neuen Git-Repo:

  • In den letzten 4 Monaten wurden für dieses Repo über 250.000 erreichbare Git-Commits in der Historie registriert.
  • 8.421 Schübe pro Tag (im Durchschnitt)
  • 2.500 Pull-Requests mit durchschnittlich 6.600 Reviewern pro Arbeitstag
  • 4.352 aktive Themenbereiche
  • 1.760 offizielle Builds pro Tag

Wie ist das im Vergleich zu Linux?

Ich bin sicher, es gibt eine Reihe von Leuten aus der Linux-Community, die sich fragen, wie diese Zahlen mit der Linux-Entwicklung verglichen werden. Die kurze Antwort ist, dass sie schwer zu vergleichen sind, weil sie unterschiedlich entwickelt sind. Jedes Stück Windows wird von Microsoft-Ingenieuren und -Programmierern geschrieben. Andererseits besteht jede Linux-Distribution aus einer Sammlung von Software-Elementen, die von verschiedenen Personen und Gruppen erstellt wurden.

Beispielsweise werden Windows Explorer, das Startmenü, die Systemsteuerung, Windows Media Player und Wordpad von Microsoft erstellt und finanziert. In der Linux-Welt werden wichtige Teile des Betriebssystems, wie das Calamares-Installationsprogramm, der MATE-Desktop und PulseAudio, von verschiedenen Personen erstellt, aber von Entwicklern kombiniert, um eine Distribution zu erstellen.

Da ich Ihnen nicht die Größe einer Linux-Distribution geben kann, gebe ich Ihnen, was ich kann, die Größe des Linux-Kernel-Repos. (Ich möchte Ikey vom Solus-Projekt dafür danken, dass er das Linux-Kernel-Repo geklont und mir die Größe mitgeteilt hat, weil ich es immer noch mit meiner langsamen Verbindung herunterladen würde.) Ab dem 27. hatte der Linux-Kernel-Repo eine Größe von 849 MB und bestand aus 59.804 Dateien.

Ich konnte ein Open-Source-Betriebssystem finden, um die Windows-Repos hinsichtlich der Größe zu vergleichen. Das Haiku-Betriebssystem folgt einem monolithischen Design ähnlich dem von Windows, dh sie bauen alles selbst auf. Ab dem 25. war das Haiku-Repo 342 MB groß. Bitte beachten Sie, dass es sich bei Haiku um ein funktionsfähiges Betriebssystem handelt, dem einige Schnickschnack fehlen.

Microsoft fügt Git hinzu

Als Microsoft mit der Implementierung von git begann, wurde ihnen klar, dass sie einige Änderungen vornehmen müssen, damit es für sie funktioniert. Die erste Änderung, die sie vorgenommen haben, war die Erstellung des Git Virtual File System. Das Problem mit solch einem massiven Repo ist, dass nicht jeder das gesamte Repo auf seinen lokalen Rechner klonen (kopieren) muss. Mit dem Git Virtual File System kann jeder Programmierer nur die Dateien herunterladen, auf die er Zugriff hat.

Das zweite Problem, das sie beheben mussten, war die Optimierung des Algorithmus, um zu verfolgen, auf welche Dateien das Git Virtual File System zugegriffen hatte. Andernfalls würde es eine halbe Stunde dauern, einen einfachen Befehl wie git status um festzustellen, welche Dateien geändert wurden, um 3, 5 Millionen Dateien zu sortieren.

Schließlich musste Microsoft einen Git-Proxyserver aufbauen, um die Anforderungen der Mitarbeiter in Bereichen mit geringerer Bandbreite zu erfüllen. In North Carolina wurde eine höhere Git-Reaktion festgestellt, aber nach der Installation des Git-Proxys werden bessere Ergebnisse erzielt als in Redmond.

Microsoft plant, diese Verbesserungen vorab bereitzustellen, damit andere Entwickler sie nutzen können. Derzeit wird Git Virtual File System von keinem Linux-Git-Client unterstützt.

Abschließende Gedanken

Als ich hörte, dass Microsoft die Windows-Entwicklung auf Git umstellte, musste ich überprüfen, ob ich nicht bei The Onion gelandet war. Nachdem ich darüber gelesen habe, scheint es, dass der Umzug gut zu Microsoft passt. Es würde helfen, ihre Entwicklungseffizienz zu verbessern und hoffentlich ihre Codequalität zu verbessern.

Es ist gut zu hören, dass sie ihre Änderungen an die Community weitergeben. Vielleicht wird dies sie dazu inspirieren, Windows als Open Source zu veröffentlichen. Nun, jetzt bin ich gerade in ein Fantasieland gereist.

Insgesamt denke ich, dass dies der Open-Source-Community Auftrieb verleihen und andere Unternehmen mit großen Entwicklungsteams dazu inspirieren wird, git als ihre Versionskontrollsoftware zu betrachten.

Was haltet ihr von diesen Neuigkeiten? Arbeiten Sie für eine Organisation, die von den Ergänzungen von Microsoft zu Git profitieren würde? Könnten Sie als Linux-Entwickler über die Größe des Windows-Repos nachdenken?

Wenn Sie diesen Artikel interessant fanden, teilen Sie ihn bitte Ihren Freunden und Verwandten auf Ihren bevorzugten Social-Media-Sites mit.

Empfohlen

Xenlism WildFire: Minimales Icon-Theme für Linux Desktop
2019
Beschleunigen Sie Ubuntu Unity auf Low-End-Systemen
2019
MAUJ rüstet sich zum 30. Geburtstag der Free Software Foundation
2019