Ci sono voluti mesi ma alla fine Microsoft ha completato l’ adozione di Git , piattaforma per il controllo versione (o versioning ) nata dalle stesse mani che hanno creato Linux (cioè Linus Torvalds) e pensata per gestire progetti software complessi con tanto di team impegnati sul codice. La complessità di un colosso come Windows è però altra storia e Redmond ammette di aver dovuto modificare in maniera sensibile Git affinché i suoi sviluppatori potessero lavorare agilmente e in libertà.
Windows è ora il “più esteso repository Git del pianeta”, sostiene Microsoft, con 300 Gigabyte di codice sorgente che ogni giorno gestisce in maniera centralizzata quasi 8.500 richieste di file e 1.760 build personalizzate dell’OS. Prima di usare Git, i programmatori di Redmond utilizzavano una piattaforma commerciale chiamata “Source Depot” che presentava notevoli limitazioni rispetto al moderno modo di lavorare sul codice.
L’evoluzione del mercato del software ha infatti spinto Microsoft a centralizzare i sorgenti dei sui progetti software nell’ambito dell’iniziativa OneCore, e Source Depot non era più adatto a gestire le richieste e le esigenze dei 2.000 programmatori coinvolti dalla suddetta iniziativa.
Anche nelle sue caratteristiche “moderne”, in ogni caso, la versione base di Git non era adatta al carico di lavoro dello sviluppo di Windows 10. Microsoft ha dovuto quindi inventarsi un nuovo componente, un file system virtuale chiamato Git Virtual File System (GVFS), grazie al quale i meccanismi di richiesta dei sorgenti e di creazione delle build dell’OS risultano enormemente semplificati e velocizzati.
Progetto FOSS al pari dello stesso Git, GVFS permette di scaricare in locale solo i sorgenti su cui uno sviluppatore ha oggettiva necessità di lavorare: il grosso del codice di Windows rimane sui server di Azure, il peso sull’infrastruttura si riduce e il processo di sviluppo ingloba con maggior velocità le modifiche apportate ai listati.
Altro elemento pensato da Microsoft per velocizzare lo sviluppo condiviso di Windows è infine l’ introduzione di un proxy per le location esterne a Redmond, un meccanismo ideale per ridurre i tempi di esecuzione di operazioni come “clone”: copiare il repository di Windows 10 negli uffici della North Carolina richiedeva inizialmente 25 minuti, con un proxy il tempo si è ridotto a 70 secondi – persino più veloce rispetto ai tempi di Redmond (127 secondi) dove non esistono server intermedi capaci di ridurre il carico di lavoro su Azure.