Microsoft maakt nu gebruik van de open source tool van Linus Torvalds voor Windows-ontwikkeling

In de afgelopen jaren is Microsoft steeds vriendelijker geworden voor Linux, zelfs zo ver om te zeggen dat ze er dol op zijn. Nu kondigde Microsoft aan dat ze de versiebeheer-software zouden overnemen die oorspronkelijk was ontwikkeld voor de ontwikkeling van Linux.

Microsoft verplaatst naar Git voor Windows-ontwikkeling

Bestandsfoto: Linus Torvalds met Microsoft Team op LinuxCon 2016

Git is een versiecontrolesysteem dat wordt gebruikt om wijzigingen in bestanden bij te houden. Het is oorspronkelijk gemaakt door de vader van Linux, Linus Torvalds. Toen Linus aan de Linux-kernel begon te werken, gebruikte hij de gratis versie van een (toen) eigen broncontrolebeheersysteem genaamd BitKeeper. In 2005 beschuldigde Larry McVoy, de eigenaar van BitKeeper, Andrew Tridgell, de maker van Samba en rsync, van reverse engineering BitKeepers-protocollen en herriep het gratis gebruik van BitKeeper.

Als resultaat hiervan heeft Linus Torvalds, de maker van de Linux-kernel, gekeken naar de broncontrolebeheersoftware die beschikbaar is. Aangezien niemand aan zijn criteria voldeed, schiep hij zijn eigen criteria en noemde het git. Over de naam zei Linus: "Ik ben een egoïstische klootzak en ik noem al mijn projecten na mezelf. Eerste 'Linux', nu 'Git' ". Git is Brits jargon voor iemand met een varkenskop en er altijd zeker van dat ze gelijk hebben.

300 GB Repo Vol met Windows-gegevens

Microsoft kondigde aan dat ze in februari het Windows-ontwikkelingsteam naar Git zouden verhuizen. Dit maakt allemaal deel uit van hun OneCore-project om het Windows-ontwikkelingsproces te verenigen om er een modulair en gelaagd platform van te maken.

Het vorige versiebesturingssysteem van Microsoft, SourceDepot, kon de enorme omvang van Windows-ontwikkeling in één repo niet ondersteunen. Voor de switch was deze opgedeeld in 65 repos met overlappende delen van Windows.

Tot nu toe zijn 2000 Microsoft-technici overgestapt op git met 500 extra om over te gaan in de komende paar maanden. Hier zijn enkele van de statistieken van de nieuwe git repo:

  • Er zijn meer dan 250.000 bereikbaar Git commits in de geschiedenis voor deze repo, in de afgelopen 4 maanden.
  • 8.421 drukken per dag (gemiddeld)
  • 2.500 trekverzoeken, met 6.600 recensenten per werkdag (gemiddeld)
  • 4, 352 takken met actieve onderwerpen
  • 1.760 officiële builds per dag

Hoe is dat te vergelijken met Linux?

Ik weet zeker dat er een aantal mensen uit de Linux-gemeenschap zijn die zich afvragen hoe deze aantallen zich verhouden tot Linux-ontwikkeling. Het korte antwoord is dat ze moeilijk te vergelijken zijn omdat ze anders zijn ontwikkeld. Elk stukje Windows is geschreven door Microsoft-engineers en -programmeurs. Aan de andere kant bestaat elke Linux-distributie uit een verzameling stukjes software die door verschillende mensen en groepen is gemaakt.

Windows Verkenner, het Start-menu, Configuratiescherm, Windows Media Player en Wordpad zijn bijvoorbeeld allemaal gemaakt en gefinancierd door Microsoft. In de Linux-wereld worden belangrijke onderdelen van het besturingssysteem, zoals het Calamares-installatieprogramma, het MATE-bureaublad en PulseAudio allemaal door verschillende personen gemaakt, maar door ontwikkelaars gecombineerd om een ​​distro te maken.

Omdat ik je de grootte van een Linux-distro niet kan geven, zal ik je geven wat ik kan, de grootte van de Linux kernel repo. (Ik wil graag Ikey bedanken voor de roem van het Solus Project voor het klonen van de Linux kernel repo en me de grootte te vertellen, want ik zou het nog steeds downloaden met mijn langzame verbinding). Vanaf de 27e was de Linux kernel repo 849 MB groot en bestond uit 59.804 bestanden.

Ik kon een opensource-besturingssysteem vinden om de Windows-repo's qua grootte te vergelijken. Het Haiku-besturingssysteem volgt een monolithisch ontwerp dat lijkt op dat van Windows, dat wil zeggen dat ze alles zelf bouwen. Vanaf de 25e was de Haiku repo 342MB. Houd er rekening mee dat hoewel Haiku enkele toeters en bellen mist, het een functionerend besturingssysteem is.

Microsoft voegt toe aan Git

Toen Microsoft begon met het implementeren van git, realiseerden ze zich dat ze enkele wijzigingen moesten aanbrengen om het voor hen te laten werken. De eerste verandering die ze maakten was het creëren van het Git Virtual File System. Het probleem met zo'n enorme repo is dat niet iedereen de hele repo naar hun lokale machine hoeft te klonen (kopiëren). Met het virtuele bestandssysteem van Git kan elke programmeur alleen de bestanden downloaden waartoe hij toegang nodig heeft.

Het tweede probleem dat ze moesten oplossen, was het aanpassen van het algoritme om bij te houden welke bestanden werden benaderd door het Git Virtual File System. Anders zou het een half uur duren om een ​​eenvoudige opdracht zoals git status te voeren om te controleren welke bestanden zijn gewijzigd, om 3, 5 miljoen bestanden te sorteren.

Ten slotte moest Microsoft een git-proxyserver bouwen om in te spelen op de behoeften van werknemers in gebieden met een lagere bandbreedte. Hun North Carolina ondervond een hogere git-respons, maar na het installeren van de git-proxy zien ze betere resultaten dan die in Redmond.

Microsoft is van plan deze verbeteringen stroomopwaarts beschikbaar te maken, zodat andere ontwikkelaars hiervan kunnen profiteren. Momenteel wordt Git Virtual File System niet ondersteund door Linux git-clients.

Laatste gedachten

Toen ik hoorde dat Microsoft de Windows-ontwikkeling naar Git bracht, moest ik controleren of ik niet bij The Onion terecht was gekomen. Na het lezen ervan lijkt het erop dat de overstap geschikt is voor Microsoft. Het zou hun ontwikkelingsefficiëntie helpen verbeteren en hopelijk hun codekwaliteit helpen verbeteren.

Het is goed om te horen dat ze hun wijzigingen in de community zullen vrijgeven. Misschien zal dit hen inspireren om Windows vrij te geven als open source. Welnu, ik ben net naar het fantasieniveau gereisd.

Over het algemeen denk ik dat dit een boost zal geven aan de open source community en andere bedrijven met enorme ontwikkelingsteams kan inspireren Git te beschouwen als hun versiebeheersoftware.

Wat denk je van dit nieuws? Werkt u voor een organisatie die baat zou hebben bij de toevoegingen van Microsoft aan git? Als u een Linux-ontwikkelaar bent, kunt u dan ingaan op uw mening over de grootte van de Windows-repo?

Als je dit artikel interessant vindt, deel het dan met je vrienden en familie op je favoriete sociale mediasites.

Aanbevolen

Uruk: een nieuwe distributie op basis van Trisquel GNU / Linux
2019
NSA heeft Open zijn Reverse Engineering Tool Ghidra geleverd
2019
Alfaversie van de nieuwe Skype-client voor Linux is nu verkrijgbaar
2019