A outrora improvável aliança entre a Microsoft e o mundo Linux vai ganhar um novo e surpreendente capítulo ainda esse ano: o Windows 10 irá receber um kernel Linux nativo para chamar de seu pela primeira vez na plataforma.
Essa versão customizada do kernel Linux foi projetada do zero para dar suporte à mais nova versão do Windows Subsystem for Linux (WSL).
A própria Microsoft explica como isso irá funcionar (itálico por nossa conta):
O termo “Linux” é freqüentemente usado para se referir tanto ao kernel Linux quanto ao espaço do usuário GNU. Assim como no WSL1, o WSL2 não fornecerá nenhum binários do espaço do usuário. Em vez disso, o kernel da Microsoft fará interface com um espaço de usuário selecionado pelo usuário. Geralmente, isso ocorre por meio da instalação por meio da loja do Windows, mas também pode ser “sideloaded” por meio da criação de um pacote de distribuição personalizado. A única exceção a essa regra é um pequeno script de inicialização que é injetado para inicializar o processo de inicialização, formando as conexões entre o Windows e o Linux que tornam a WSL tão mágica.
O kernel em si será inicialmente baseado na versão 4.19, a última versão estável de longo prazo do Linux. O kernel será reconfigurado com a designação de novos lançamentos estáveis de longo prazo para garantir que o kernel da WSL tenha sempre a qualidade mais recente do Linux.
Além da fonte LTS do Kernel.org, vários patches locais estão sendo aplicados. Esses patches ajustam o binário resultante para uso no WSL2, melhorando os tempos de ativação, reduzindo o consumo de memória e configurando um conjunto mínimo de dispositivos suportados. O resultado é um kernel pequeno e leve que foi desenvolvido para que o WSL2 substitua a arquitetura de emulação apresentada no design do WSL1.
Esse novo recurso não seria possível sem “um número crescente de colaboradores do Linux que trouxeram o know-how de Linux da indústria para a empresa. Por anos, esses desenvolvedores de Linux permitiram que a Microsoft suportasse novos recursos de plataforma no grande número de distribuições fornecidas no Azure Marketplace”, garante Jack Hammons, gerente de programa do Linux Systems Group da Microsoft.
Hammons resume o princípio dessa parceria:
Uma importante filosofia do Linux na Microsoft é que todas as mudanças vão a montante. A manutenção de patches downstream adiciona complexidade e não é uma prática padrão na comunidade de código aberto. Ao alavancar o Linux, estamos nos comprometendo a sermos bons cidadãos e contribuirmos com as mudanças que fazemos.
No entanto, durante o desenvolvimento, é necessário trabalhar com patches locais que permitem novos recursos ou resolver problemas no upstream. Nesses casos, criamos ou localizamos patches que atendem aos requisitos de nossos produtos e, em seguida, trabalhamos com a comunidade para que esse código seja integrado o mais rápido possível. Para proteger a estabilidade das ramificações LTS, alguns patches – como para novos recursos – só podem ser incluídos em versões futuras do kernel e não serem portados para a versão atual do LTS.
Quando a fonte do kernel do WSL se torna disponível, ela consistirá em links para um conjunto de correções, além da fonte estável de longo prazo. Com o tempo, esperamos que essa lista diminua à medida que os patches aumentam e aumentam à medida que adicionamos novos patches locais para suportar novos recursos da WSL.
Para quem está preocupado com a segurança dessa integração, a Microsoft busca tranquilizar a todos garantindo que esse kernel “será construído usando os sistemas de CI/ CD de classe mundial da Microsoft e será atendido pelo Windows Update em uma operação transparente para o usuário”. A partir dessa estratégia, a empresa promete que o kernel será mantido “atualizado com os mais novos recursos e correções na última ramificação estável do Linux”.
A Microsoft também se comprometeu em garantir a proveniência de suas fontes, se espelhando em repositórios localmente. De acordo com o comunicado oficial: “monitoramos continuamente as listas de e-mail de segurança do Linux e fazemos parcerias com várias empresas de banco de dados CVE para ajudar a garantir que nosso kernel tenha as correções e atenuações mais recentes”.
Além disso, a estabilidade dessa integração também está na lista de preocupações para o Windows 10. A própria Microsoft elogia a arquitetura do Linux: “uma das grandes coisas sobre o Linux é sua interface de chamada de sistema estável e compatível com versões anteriores”. Para a empresa, essa vantagem estratégica “permitirá enviar a última ramificação estável do kernel do Linux para todas as versões do WSL2”. Desta foram, sempre que um novo LTS estiver estabelecido e for valido adequadamente, ele será distribuído para os usuários.
A Microsoft aprendeu com os erros do passado e abraçou por completo o pensamento open source: esse kernel fornecido para o WSL2 e que fará parte do Windows 10 ainda esse ano será totalmente código aberto. Tão logo o WSL2 seja lançado inicialmente para o Windows Insider, a empresa irá disponibilizar também orientações no Github para que os usuários consigam criar seu próprio kernel do WSL. Nas palavras da Microsoft, “trabalharemos com desenvolvedores interessados em contribuir para ajudar a obter alterações no fluxo de dados”.
Para Jack Hammons, “essa é a culminação de anos de esforços do Linux Systems Group e de várias outras equipes da Microsoft. Estamos entusiasmados por poder compartilhar o resultado e aguardamos as novas e interessantes maneiras de usar a WSL”.