Linux no Windows: Microsoft abre código-fonte do WSL, mas com ressalvas

Há quem pense que o Windows Subsystem for Linux (WSL) é uma ferramenta de código-fonte aberto, mas não é assim. Melhor dizendo, não era: a Microsoft decidiu tornar este um projeto open source e disponível a quem quiser a partir de um repositório público no GitHub.

É uma decisão bem-vinda, afinal, o Windows Subsystem for Linux trabalha intimamente com softwares de código aberto. Isso porque a ferramenta permite a execução de distribuições Linux em ambiente Windows, sem necessidade de máquinas virtuais de terceiros ou de dual boot.

Tornar o projeto open source era uma demanda antiga, tanto de usuários do WSL quanto dos desenvolvedores que contribuíram ou contribuem para tornar a ferramenta compatível com distribuições Linux.

Se considerarmos a data de lançamento do WSL, foram quase dez anos de espera pela abertura do código. O projeto surgiu em 2016, na época, em versão beta para o Windows 10.

Ao The Verge, Pavan Davuluri, da divisão do Windows, resumiu o motivo da demora:

Demorou um pouco porque precisávamos refatorar o sistema operacional para permitir que o WSL existisse de forma independente, o que nos permitiu tornar o projeto de código aberto e possibilitar que os desenvolvedores fizessem contribuições, e que nós as incorporássemos ao pipeline do Windows e o lançássemos em escala.

Pavan Davuluri, vice-presidente de Windows na Microsoft

Em outras palavras, o executivo dá a entender que a Microsoft teve que lidar com alguns desafios técnicos para finalmente tornar o WL um projeto open source.

O WSL agora tem código aberto, mas há ressalvas

A Microsoft explica que, decorrer dos últimos anos, teve que migrar o WSL da base de código do Windows para uma base de código própria em prol do desempenho e do suporte a uma gama maior de recursos. Por conta disso, hoje, o WSL roda como um mecanismo separado do Windows, não como um recurso nativo deste.

Isso significa que o Windows Subsystem for Linux precisa de “intermediários” para acessar recursos críticos do Windows. As ressalvas surgem aqui: alguns componentes necessários para esse acesso continuam tendo código-fonte fechado, pois são considerados integrantes do Windows, não do WSL em si.

Um desses recursos é o lxcore.sys, que permite implementar chamadas do Linux no kernel do Windows. Esse componente é a base da primeira versão do WSL. Atualmente, estamos no WSL 2, que é bem mais avançado, mas o Windows ainda suporta o WSL 1.

Os arquivos p9rdr.sys e p9np.dll, que permitem que o Windows acesse o sistema de arquivos do Linux, também permanecem com código fechado.

Ainda existe a possibilidade de a Microsoft abrir os códigos desses componentes, mas não há informação sobre quando e se isso realmente irá acontecer. De todo modo, a abertura do Windows Subsystem for Linux em si não deixa de ser um avanço. O código-fonte do WSL já está disponível no GitHub.

Para quem quiser apenas usar a ferramenta, vale lembrar que, recentemente, o WSL passou a suportar o Arch Linux. A distribuição Fedora já é compatível também.

Linux no Windows: Microsoft abre código-fonte do WSL, mas com ressalvas

Adicionar aos favoritos o Link permanente.