Microsoft har ikke bare bliver en entusiastisk open-source brugeren; selskabet er nu ved hjælp af Git version control system til at bygge selve Windows. Når glimrende eksempel på proprietær software udvikling er nu bygger på open source til at skabe sit varemærke operativsystem. Hvem ville have troet det?
Faktisk, du måtte have, hvis du har været meget opmærksom. Tilbage i 2013, Microsoft annoncerede sin køreplan for at tilføje understøttelse for Git til sin Visual Studio udvikling-tool suite og Team Foundation app-livscyklus-management-teknologier. Senere samme år, Microsoft Technical Fellow og TFS chef Brian Harry annoncerede Microsoft vil være opbakning Git som sin fordeles kilde-kode-control platform.
Ikke alle i Microsoft lide denne idé, men som Harry blogget på det tidspunkt, “jo mere vi kiggede på det, jo mere lignede det det rigtige at gøre”.
Som årene gik, Microsoft selv har lavet sin egen væsentlig open-source bidrag til Git. I 2017, Microsoft open-sourcede Git Virtual File System (LESS), under MIT License. GVFS-aktiveret Microsoft-produkt teams til at skalere Git klient til at beskæftige sig med sin uhyggeligt store kildekode genkøbsforretninger.
Siden da, er Microsoft i gang portering alle-og jeg mener alle-Windows-kode til Git, og GVFS. Det arbejde er nu stort set færdig, og Microsoft er at nyde frugterne af sin open source-arbejde i at skabe den største Git repo på planeten.
Harry skrev, “i Løbet af de sidste 3 måneder, har vi stort set afsluttet udrulningen af Git/GVFS til Windows-teamet hos Microsoft”. Der var ikke nogen lille opgave. “Windows-kode base, er cirka 3,5 M-filer, og når du har tjekket ind til et Git repo, resulterer i en repo af om 300GB.”
Det er bare filer. “Windows-team, der er omkring 4.000 ingeniører og ingeniør-systemet producerer 1,760 daglige “lab bygger” på tværs 440 grene ud til tusindvis af pull-request-validering bygger. Alle 3 dimensioner (fil tælle, repo størrelse og aktivitet), uafhængigt af hinanden, give skræmmende skalering udfordringer, og tilsammen kan de gøre det utroligt udfordrende at skabe en god oplevelse.”
Harry indrømmet, det var en skræmmende oplevelse. “Den første, og største, hoppe skete den 22 Marts, når vi rullede ud til at Windows OneCore team af omkring 2.000 ingeniører. De 2.000 ingeniører arbejdede i Kilde-Depot på fredag, gik hjem til weekenden og kom tilbage mandag morgen til en ny oplevelse, der er baseret på Git. Folk på mit hold var i besiddelse af deres åndedrag, at hele weekenden, beder vi skulle ikke være pummeled af en hob af vrede ingeniører, der dukkede op mandag ude af stand til at få noget arbejde gjort.
“Til min store overraskelse, helt ærligt, det gik meget glat og ingeniører var produktive fra dag ét.”
Det var ikke problemfri sejlads. “Vi opdagede, at første uge, at vores UI for at trække anmodninger og merge conflict resolution simpelthen ikke omfanget af ændringer, der large. Vi var nødt til at slås for at virtualisere lister og trinvist hente data, så UI ikke bare hænge. Vi fik det løst inden for et par dage og alt i alt, følelser, der uge var langt bedre, end vi havde forventet.”
I dag, næsten alle Windows-udviklere arbejder på Git. I de næste par måneder, de sidste 500 programmører vil flytte til Git.
De har al mulig grund til at flytte. Ifølge Harry, “skala-systemet er i drift på, er virkelig fantastisk. Lad os se på nogle tal.”
Der er over 250.000 nås Git begår i historien for dette repo, i løbet af de sidste 4 måneder.8,421 skubber per dag (i gennemsnit)på 2.500 trække anmodninger, med 6,600 anmeldere pr dag (i gennemsnit)4,352 aktive emne branches1,760 officielle bygger per dag
Microsoft har fortsat med at tune GVFS til ekstern brug. Harry forklarede, “Windows Team Services-konto er placeret i en Azurblå data center på vestkysten af USA … Den 80. percentil for Klon for en Windows-ingeniør er 127 sekunder. Da en høj procentdel af vores Windows-ingeniører er i Redmond, at antallet er domineret af dem.
“Vi kørte en test fra vores North Carolina office (som er både længere væk og har en meget lavere båndbredde). En klon fra North Carolina med ingen proxy-server, der tog næsten 25 minutter. Med en proxy, konfigureret og op til dato, det tog 70 sekunder hurtigere end Redmond, fordi den Redmond-holdet ikke bruger en proxy, og de er nødt til at gå hundredvis af kilometer over internettet til det Azurblå data center). 70 sekunder vs næsten 25 minutter, er en næsten 95% forbedring.”
Imponeret? Microsoft vil blive glad, hvis du har brugt GVFS. Efter alt, KERBEROS er et open-source projekt, og du er velkommen til at prøve det. Alt du skal gøre er at downloade og installere det, skal du oprette en Visual Studio Team Services-konto med en Git repo i det, og du er god til at gå. Andre Gnome-programmer omfatter Atlassian SourceTree og Git-Tårnet.
Ironisk nok, er der ikke på nuværende tidspunkt en Linux Git klient, der understøtter KERBEROS, men er intern Microsoft support for Linux og Mac support. Saeed Noursalehi, en Microsoft-programmør manager, skrev om den OPRINDELIGE bug-listen “Ja, vi vil helt sikkert støtte Mac og Linux, og vi er på udkig efter folk med fil-systemer ekspertise på disse platforme.”
Linus Torvalds, Linux og Gnome er skaberen, engang sagde, “Hvis Microsoft nogensinde har applikationer til Linux betyder det, at jeg har vundet”. Jeg tror, at Microsoft bruger Git til at oprette Windows tæller som en sejr for.
Relaterede Historier:
Microsoft er En Ingeniør bringer Git Virtuelle Fil System til massesWhy Microsoft er ved at blive en open-source companyFrom open source-hader til nr. 1 luft: Microsoft nu tops i Google, Facebook i GitHub bidragydere