Depois de muita guerra, Microsoft cedeu ao código aberto (Fonte da imagem: Shutterstock)

“Primeiro eles te ignoram, depois riem de você, depois brigam, e então você vence”. Uma década atrás, essa citação de Mahatma Gandhi costumava ser muito utilizada pelos defensores do software livre para responder a provocações de grandes figurões da Microsoft e outras empresas de código fechado.

E pelo visto, o tempo mostrou que Gandhi sabia das coisas. Pelo menos é o que aponta o artigo de Richard Turner, para o blog All About Microsoft, da ZDNet. No texto, são listadas dez razões que reforçam o fato de que, hoje, o modelo open source é encarado com seriedade pela Gigante de Redmond, algo que, anos atrás, seria impossível imaginar.

Que tal percorrermos, então, a lista de exemplos levantada por Turner?

1. .NET: projetos e iniciativas livres

O .NET está repleto de projetos open source que, ao longo do tempo, ganharam papel fundamental em sua plataforma. Há ferramentas de testes, como a nUnit, frameworks como Ninject, AutoFac, Castle Windsor e StructureMap, além de sistemas de gerenciamento de conteúdos (CMS), como o Orchard e Umbranco. Também não podem ficar fora dessa lista os famosos IronPython e IronRuby, integração das linguagens de programação Ruby e Python com .NET.

Por mais que esses não sejam projetos de autoria da Microsoft, é inegável a colaboração deles para a adoção da plataforma .NET/Windows.

2. Chega de reinventar a roda

(Fonte da imagem: Shutterstock)

Uma das grandes críticas que os defensores do software livre faziam à Microsoft era o fato de a empresa de Bill Gates insistir em criar a sua própria versão de tecnologias já existentes no mundo open source. Hoje, a situação está um pouco diferente.

Para começar, a empresa lançou o ASP .NET MVC 3.0 com softwares de código aberto, com o JQuery e o Modernizr. Foi um dos primeiros lançamentos da Microsoft com conteúdo open source incluído. No ASP .NET 4.0, a Microsoft continuou a adotar projetos de software livre, inserindo o JQuery Mobile e o JSON.NET.

3. Gerenciamento de pacotes

Quase todo projeto open source que possui uma grande quantidade de bibliotecas e softwares extras que podem ser adicionados a ele possui um gerenciador de pacotes que facilita essa instalação e, se necessário, sua remoção. Basta uma linha de comando como “npm install express”, por exemplo, para que a biblioteca “express” passe a fazer parte de um projeto.

O .NET carecia de uma ferramenta dessas, mas um grupo de desenvolvedores da Microsoft acabou suprindo essa ausência com o NuGet, um gerenciador de código aberto e que, hoje, já conta com quase 6 mil pacotes disponíveis para instalação por meio dele, incluindo o JQuery, Modernizr, JSON.NET, ELMAH e outros. Todos torcem para que o desenvolvimento do NuGet continue dessa forma.

4. Windows, amigo do open source

Para defensores do Open Source, Bill Gates sempre foi um grande rival (Fonte da imagem: Shutterstock)

Muitas ferramentas open source são desenvolvidas em Linux ou outros sistemas baseados em UNIX. Por isso, não são nativamente compatíveis com Windows. Para contornar essa situação, foram criados diversos projetos que permitiam a execução dessas aplicações em um ambiente da Microsoft, como se o Linux estivesse sendo “emulado” no Windows. Porém, isso acarreta uma queda de performance nessas ferramentas.

Em boa parte dos casos, esse desempenho reduzido não traz implicações muito graves. Mas quando falamos de aplicações que exigem alta performance, esse tipo de emulação pode ser um problema. Um bom exemplo foi o caso do Node.js, software desenvolvido para a criação de aplicações escalonáveis na internet, em servidores web.

Para fazer com que o Node executasse com perfeição, a Microsoft abriu diálogo com os desenvolvedores e apoiou a adaptação de uma versão capaz de rodar nativamente no Windows, de maneira que o código-fonte do Node sofresse o menor impacto possível. Além disso, a Gigante de Redmond também lançou um software que permite a integração do Node que funciona com o IIS, o servidor web da MS. E adivinha? O código dessa aplicação também é aberto, o que significa que o usuário pode estudá-lo e modificá-lo, caso queira.

5. Microsoft tomando a iniciativa de projetos abertos

Outro ponto que chama atenção é o fato de que a empresa, que outrora era completamente contra o software livre, agora chega a tomar iniciativa. Ao ser rejeitada como contribuidora para o projeto Redis, um engine de banco de dados open source, a Microsoft foi aconselhada a criar um projeto paralelo do mesmo software e a mantê-lo com uma comunidade de pessoas interessadas. E foi exatamente o que a companhia fez.

6. Apache, PHP e Ruby no Windows

Em 2008, a Microsoft começou a trabalhar com projetos famosos e bem estabelecidos, como o servidor web Apache e a linguagem de programação PHP, para que essas tecnologias passassem a operar melhor em conjunto com os produtos da empresa. O trabalho resultou em versões nativas do Apache e do PHP, que hoje se beneficiam de um melhor desempenho e gerenciamento de memória ao funcionarem em ambiente Windows.

Além disso, o IIS também ganhou alterações, para que passasse a aceitar melhor projetos feitos em PHP e Ruby, em conjunto com .NET. Dessa forma, os fãs do servidor web da Microsoft podem hospedar, sem medo, projetos muito populares, como o Wordpress, Drupal e Joomla.

7. Código aberto na plataforma Azure

Ruby é uma das linguagens que ganham o suporte da Microsoft (Fonte da imagem: NuGet Gallery)

Você se lembra do Windows Azure, a iniciativa da Microsoft para a nuvem? Pois a empresa também inseriu o PHP, Ruby, Java e Node.JS como projetos compatíveis com o serviço. E mais do que isso, forneceu APIs que possibilitam o desenvolvimento de aplicações nessas linguagens que possam configurar e controlar o Windows Azure.

8. Hadoop para Windows

Este é um item que serve muito bem para explicar o segundo exemplo desta lista. No fim de 2011, a Microsoft começou a apoiar o desenvolvimento de uma versão para Windows do Hadoop, software de computação distribuída voltado para o processamento de grandes volumes de dados. Mais do que isso, a empresa decidiu abandonar a sua própria solução para essa função em prol do Hadoop.

9. MS colabora com o kernel do Linux

(Fonte das imagens: Reprodução)

Por essa você não esperava, não é mesmo? A Microsoft está entre os 20 maiores contribuidores do kernel do Linux. Isso é muito irônico, já que, anos atrás, o atual CEO da empresa, Steve Ballmer, se referiu ao sistema de Linus Torvalds como sendo “um câncer”. Como dizem por aí, o mundo dá voltas...

Basicamente, as contribuições da empresa com o kernel dizem respeito a drivers usados para que o Linux passe a suportar o Hyper-V, tecnologia de virtualização de sistemas operacionais da Microsoft. Esses drivers ajudaram o sistema do pinguim a ganhar mais desempenho no suporte a redes, máquinas virtuais e subsistemas de vídeo.

10. Abrindo o código-fonte

Mas uma notícia ainda mais chocante, tanto para quem defende quanto para quem ataca o software livre, é o fato de que a empresa decidiu, recentemente, abrir o código-fonte de alguns produtos, como o ASP .NET 4.0 MVC, a Web API e Razor View Engine. No caso do ASP, a equipe de desenvolvedores está considerando a possibilidade de aceitar contribuições e sugestões da comunidade, tornando o modelo ainda mais similar ao do software livre convencional, como o Linux.

Pelo visto, a empresa fundada por Bill Gates não vê mais o código aberto como uma ameaça, mas sim como um modelo de negócios que pode ser estratégico, o que demonstra um amadurecimento ainda maior por parte da empresa.

Cupons de desconto TecMundo: