Microsoft utilizza ora lo strumento Open Source di Linus Torvalds per lo sviluppo di Windows

Negli ultimi anni, Microsoft è diventata più amichevole con Linux, arrivando addirittura a dire che lo adora. Ora, Microsoft ha annunciato che stavano adottando il software di controllo della versione originariamente creato per lo sviluppo di Linux.

Microsoft passa a Git per lo sviluppo di Windows

Foto del file: Linus Torvalds con Microsoft Team su LinuxCon 2016

Git è un sistema di controllo della versione utilizzato per tenere traccia delle modifiche apportate ai file. È stato originariamente creato dal padre di Linux, Linus Torvalds. Quando Linus ha iniziato a lavorare sul kernel Linux, ha utilizzato la versione gratuita di un (allora) sistema proprietario di gestione del controllo dei sorgenti denominato BitKeeper. Nel 2005, Larry McVoy, il proprietario di BitKeeper, ha accusato Andrew Tridgell, il creatore di Samba e rsync, dei protocolli di reverse engineering BitKeepers e revoca l'uso gratuito di BitKeeper.

Di conseguenza, Linus Torvalds, creatore del kernel Linux, ha esaminato il software di gestione del controllo sorgente disponibile. Poiché nessuno ha soddisfatto i suoi criteri, ha creato il suo e lo ha chiamato git. A proposito del nome, Linus ha detto: "Sono un bastardo egoista e do il nome a tutti i miei progetti. Prima 'Linux', ora 'Git' ". Git è un gergo inglese per qualcuno che è diretto da un maiale e sempre sicuro che abbia ragione.

300 GB Repo pieno di dati di Windows

Microsoft ha annunciato che avrebbero iniziato a spostare il team di sviluppo di Windows su Git a febbraio. Tutto questo fa parte del loro progetto OneCore per unificare il processo di sviluppo di Windows per renderlo una piattaforma modulare e stratificata.

Il precedente sistema di controllo delle versioni di Microsoft, SourceDepot, non poteva supportare l'enorme dimensione dello sviluppo di Windows in un repository. Prima dell'interruttore, è stato suddiviso in 65 repository contenenti parti sovrapposte di Windows.

Finora, 2.000 ingegneri Microsoft sono passati a git con altri 500 per spostarsi nei prossimi due mesi. Ecco alcune delle statistiche del nuovo repository git:

  • Ci sono oltre 250.000 Git commessi raggiungibili nella storia per questo repo, negli ultimi 4 mesi.
  • 8.421 spinte al giorno (in media)
  • 2.500 richieste pull, con 6.600 revisori per giornata lavorativa (in media)
  • 4.352 rami argomento attivi
  • 1.760 build ufficiali al giorno

Come funziona rispetto a Linux?

Sono sicuro che ci sono un certo numero di persone della comunità Linux che si stanno chiedendo come questi numeri si confrontino con lo sviluppo di Linux. La risposta breve è che sono difficili da confrontare perché sono sviluppati in modo diverso. Ogni parte di Windows è scritta da ingegneri e programmatori Microsoft. D'altra parte, ogni distribuzione Linux è composta da una raccolta di pezzi di software creati da persone e gruppi diversi.

Ad esempio, Esplora risorse, Start Menu, Pannello di controllo, Windows Media Player e Wordpad sono tutti creati e finanziati da Microsoft. Nel mondo Linux, parti importanti del sistema operativo, come il programma di installazione Calamares, il desktop MATE e PulseAudio sono tutti creati da individui diversi ma sono combinati dagli sviluppatori per creare una distribuzione.

Dato che non posso darti le dimensioni di una distribuzione Linux, ti darò quello che posso, la dimensione del repository del kernel di Linux. (Vorrei ringraziare Ikey of the Solus Project per aver clonato il repository del kernel di Linux e dirmi le dimensioni perché lo scaricherò con la mia connessione lenta). A partire dal 27, il repository del kernel di Linux aveva una dimensione di 849 MB e consisteva in 59.804 file.

Sono stato in grado di trovare un sistema operativo open source per confrontare i repository di Windows con le dimensioni. Il sistema operativo Haiku segue un design monolitico simile a quello di Windows, cioè costruiscono tutto da soli. A partire dal 25, il repository di Haiku è stato di 342MB. Si prega di notare che mentre Haiku manca alcuni campanelli e fischietti, è un sistema operativo funzionante.

Microsoft aggiunge a Git

Come Microsoft ha iniziato a implementare git, si sono resi conto che avrebbero dovuto apportare alcune modifiche per farlo funzionare per loro. Il primo cambiamento che hanno fatto è stata la creazione di Git Virtual File System. Il problema di avere un repository così massiccio è che non tutti hanno bisogno di clonare (copiare) l'intero repo sul loro computer locale. Git Virtual File System consente a ciascun programmatore di scaricare solo i file a cui ha bisogno di accedere.

Il secondo problema che dovevano risolvere era modificare l'algoritmo per tenere traccia di quali file erano stati aperti da Git Virtual File System. Altrimenti, eseguire un semplice comando come git status per verificare quali file sono stati modificati richiederebbe mezz'ora per ordinare 3.5 milioni di file.

Infine, Microsoft ha dovuto creare un server proxy git per gestire le esigenze dei dipendenti in aree con larghezza di banda inferiore. La loro North Carolina stava incontrando una risposta git più alta, ma dopo aver installato il proxy git, hanno visto risultati migliori rispetto a quelli di Redmond.

Microsoft prevede di rendere questi miglioramenti disponibili a monte in modo che altri sviluppatori possano trarne vantaggio. Attualmente, Git Virtual File System non è supportato da alcun client Linux git.

Pensieri finali

Quando ho sentito che Microsoft stava spostando lo sviluppo di Windows in git, ho dovuto verificare che non fossi finito su The Onion. Dopo aver letto su di esso, sembra che la mossa è una buona misura per Microsoft. Contribuirebbe a migliorare la loro efficienza di sviluppo e, auspicabilmente, a migliorare la qualità del codice.

È bello sapere che rilasceranno i loro cambiamenti alla comunità. Forse questo li ispirerà a rilasciare Windows come open source. Bene, ora ho appena viaggiato in terra fantastica.

Nel complesso, penso che questo darà una spinta alla comunità open source e potrebbe ispirare altre aziende con enormi team di sviluppo a prendere in considerazione git come loro software di controllo della versione.

Cosa ne pensi di questa notizia? Lavorate per un'organizzazione beneficerebbe delle aggiunte di Microsoft per git? Se sei uno sviluppatore Linux, potresti valutare le dimensioni del repository Windows?

Se hai trovato questo articolo interessante, condividilo con i tuoi amici e familiari sui tuoi siti di social media preferiti.

Raccomandato

La comunità albanese open source si prepara per OSCAL'17
2019
Linux Foundation presenta un accordo di licenza Open Source per la condivisione dei dati
2019
Goditi Netflix? Dovresti ringraziare FreeBSD
2019