A Microsoft é mais open source do que você imagina
Autor: leo new | Publicado: 2012-06-07T12:08:00-07:00

Com o passar do tempo, a Gigante de Redmond passou de inimiga a simpatizante do modelo de software de código aberto.                                      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