Nos últimos anos, a Microsoft tem se tornado mais amigável com o Linux, chegando a dizer que eles o adoram. Agora, a Microsoft anunciou que estava adotando o software controle de versão originalmente criado para o desenvolvimento do Linux.
Microsoft muda para Git para desenvolvimento do Windows
Foto do arquivo: Linus Torvalds com a equipe da Microsoft na LinuxCon 2016 Git é um sistema de controle de versão usado para acompanhar as alterações feito para arquivos. Foi originalmente criado pelo Pai do Linux, Linus Torvalds. Quando Linus começou a trabalhar no kernel Linux, ele usou a versão gratuita de um (então) sistema de gerenciamento de controle de fonte proprietário chamado BitKeeper. Em 2005, Larry McVoy, o proprietário do BitKeeper, acusou Andrew Tridgell, o criador do Samba e rsync, de protocolos de engenharia reversa do BitKeepers e revogou o uso gratuito do BitKeeper.
Como resultado, Linus Torvalds, criador do kernel Linux, olhou para o software de gerenciamento de controle de origem disponível. Como nenhum atendia aos seus critérios, ele criou o seu próprio e o chamou de git. Sobre o nome, Linus disse, sou um bastardo egoísta e nomeio todos os meus projetos depois de mim mesmo. Primeiro ‘Linux’, agora ‘Git’. Git é uma gíria britânica para alguém que é cabeça-dura e sempre tem certeza de que está certo.
Repo de 300 GB cheio de dados do Windows
A Microsoft anunciou que iria começar a mover a equipe de desenvolvimento do Windows para o Git em fevereiro. Tudo isso faz parte do projeto OneCore para unificar o processo de desenvolvimento do Windows para torná-lo uma plataforma modular e em camadas.
O sistema de controle de versão anterior da Microsoft, SourceDepot, não podia suportar o enorme tamanho do Windows de desenvolvimento em um repo. Antes da mudança, ele era dividido em 65 repositórios contendo partes sobrepostas do Windows.
Até agora, 2.000 engenheiros da Microsoft mudaram para o git com mais 500 para mudar nos próximos meses. Aqui estão algumas das estatísticas do novo repositório git:
- Existem mais de 250.000 commits Git alcançáveis na história para este repo, nos últimos 4 meses.
- 8.421 empurrões por dia (em média)
- 2.500 solicitações pull, com 6.600 revisores por dia de trabalho (em média)
- 4.352 ramos de tópicos ativos
- 1.760 construções oficiais por dia
Como isso se compara ao Linux?
Tenho certeza de que várias pessoas da comunidade Linux estão se perguntando como esses números se comparam ao desenvolvimento do Linux. A resposta curta é que eles são difíceis de comparar porque são desenvolvidos de forma diferente. Cada parte do Windows é escrita por engenheiros e programadores da Microsoft. Por outro lado, cada distribuição Linux é composta por uma coleção de softwares criados por diferentes pessoas e grupos.
Por exemplo, o Windows Explorer, o Menu Iniciar, o Painel de Controle, o Windows Media Player e o Wordpad são todos criados e financiados pela Microsoft. No mundo do Linux, partes importantes do sistema operacional, como o instalador Calamares, o desktop MATE e PulseAudio são todos criados por diferentes indivíduos, mas são combinados por desenvolvedores criar uma distro.
Já que não posso dar o tamanho de uma distribuição Linux, vou dar o que posso, o tamanho do repositório do kernel Linux. (Eu gostaria de agradecer a Ikey do Projeto Solus por clonar o repositório do kernel Linux e me dizer o tamanho, porque eu ainda estaria baixando-o com minha conexão lenta). No dia 27, o repositório do kernel do Linux tinha 849 MB de tamanho e consistia em 59.804 arquivos.
Consegui encontrar um sistema operacional de código aberto para comparar os repositórios do Windows em relação ao tamanho. O sistema operacional Haiku segue um design monolítico semelhante ao do Windows, ou seja, eles constroem tudo sozinhos. No dia 25, o repositório do Haiku tinha 342 MB. Observe que, embora o Haiku esteja faltando alguns recursos, é um sistema operacional em funcionamento.
Microsoft adiciona ao Git
Quando a Microsoft começou a implementar o git, eles perceberam que teriam que fazer algumas mudanças para que funcionasse para eles. A primeira mudança que eles fizeram foi a criação do Sistema de Arquivos Virtual Git. O problema de ter um repositório tão grande é que nem todo mundo precisa clonar (copiar) todo o repositório para sua máquina local. O sistema de arquivos virtual Git permite que cada programador baixe apenas os arquivos aos quais ele precisa acessar.
O segundo problema que eles tiveram que consertar foi ajustar o algoritmo para manter o controle de quais arquivos foram acessados pelo Sistema de Arquivos Virtual Git. Caso contrário, executar um comando simples como git status
para verificar quais arquivos foram modificados levaria meia hora para classificar 3,5 milhões de arquivos.
Finalmente, a Microsoft teve que construir um servidor proxy git para lidar com as necessidades dos funcionários em áreas com largura de banda menor. A Carolina do Norte estava encontrando uma resposta git mais alta, mas depois de instalar o proxy git, eles viram resultados melhores do que os de Redmond.
A Microsoft planeja disponibilizar esses aprimoramentos upstream para que outros desenvolvedores possam tirar proveito deles. Atualmente, Git Virtual File System não é compatível com nenhum cliente git Linux.
Pensamentos finais
Quando soube que a Microsoft estava movendo o desenvolvimento do Windows para o git, tive que verificar para ter certeza de que não tinha acabado no The Onion. Depois de ler sobre isso, parece que a mudança é uma boa opção para a Microsoft. Isso ajudaria a melhorar a eficiência de desenvolvimento e, com sorte, a ajudar na qualidade do código.
É bom saber que eles divulgarão suas mudanças para a comunidade. Talvez isso os inspire a lançar o Windows como código aberto. Bem, agora acabei de viajar para a terra da fantasia.
No geral, acho que isso dará um impulso à comunidade de código aberto e pode inspirar outras empresas com grandes equipes de desenvolvimento a considerar o git como seu software de controle de versão.
O que você acha dessas notícias? Você trabalha para uma organização que se beneficiaria com as adições da Microsoft ao git? Se você é um desenvolvedor Linux, poderia opinar sobre o tamanho do repositório do Windows?
Se você achou este artigo interessante, compartilhe-o com seus amigos e familiares em seus sites de mídia social favoritos.
Via itsfoss.com. Você pode conferir o post original em inglês:
Microsoft Is Now Using Linus Torvalds’ Open Source Tool For Windows DevelopmentÚltima atualização deste artigo: 1 de june de 2017