Carreira Dev

4 fev, 2013

Uma reflexão sobre o mercado Open Source atual

Publicidade

Em uma das minhas ultimas viagens do ano passado, encontrei um amigo que está envolvido intensamente com Open Source. Ele me cobrou o porquê de não ter mais escrito sobre o assunto. Ele tem razão, já que há muitos meses não abordo Open Source. Antes, estava mais ativo na discussão do tema e inclusive agrupei dezenas de artigos que havia escrito entre 2007 e 2011 em um blogbook, produzidos pelo modelo self-publishing, no Smashwords, para download grátis aqui.

open source

Bem, acho que então vale a pena voltar a falar sobre Open Source. Open Source está embutido hoje na maioria das empresas. Linux é lugar comum nos servidores e é base da maior parte dos smartphones via Android. A imensa maioria dos serviços Web é motorizada por Open Source, como Google, Amazon, Facebook e Instagram. Para este último, como exemplo, vale a pena dar uma olhada no seu stack de software, no artigo “What Powers Instagram”. Mas não são apenas empresas ícones do mundo Web que usam Open Source. A IBM, símbolo do mundo corporativo, suporta intensamente o Open Source, e vale a pena dar uma olhada neste link.

Desde que comecei a me interessar mais por Open Source, e isso vai lá pelos meados da década de 90, acompanhei a sua evolução, principalmente no tocante ao amadurecimento do mercado. Escrevi um livro em 2004 pela Brasport (Software Livre: Potencialidades e Modelos de Negócio) e o meu foco nesses anos todos foi principalmente avaliar como o Open Source impactou a indústria de software, tanto fabricantes como usuários. Um livro que me chamou muito a atenção e que é no meu entender a base conceitual do Open Source é “The Cathedral and the Bazaar”, de Eric Raymond. Eric mostrou que o Open Source é um novo método de desenvolvimento de software, colaborativo, que denominou de bazar, pois é constituído de uma comunidade de desenvolvedores voluntários, que atuam no projeto sob suas próprias agendas e vontades. Um bazar, que ele usou como referência, é algo assim, meio zoneado. O seu contraponto é o modelo tradicional, a catedral, onde o software é desenvolvido por uma equipe fechada e gerenciada de forma hierárquica, com cronogramas rígidos, e os desenvolvedores atuam nas partes dos códigos que lhe foram designadas e não escolhem o que e quando desenvolver.

O modelo Open Source se mostrou plenamente viável, e o Linux e centenas de outros projetos estão aí para confirmar isso, apesar de muitas cíiticas e oposições iniciais. É interessante recordar o que Steve Ballmer, hoje CEO da Microsoft disse em 2000, referindo-se ao Open Source e ao Linux como comunismo… veja aqui.

Depois de uns 20 anos analisando o Open Source, coletei observações suficientes para fazer alguns comentários. Primeiro, Open Source é um modelo excelente para refinar softwares que já existem, como Linux e outros, mas não se mostra tão bom para criar softwares inovadores do zero (from scratch…). Ou seja, o modelo colaborativo Open Source é excelente para refinamentos, mas não é um modelo provocador de inovação. Open Source permite, por exemplo, correção de bugs de forma muito rápida. Uma explicação para isso: depurar é uma atividade que não demanda muita interação entre indivíduos. Os desenvolvedores podem depurar seu código sem estar em contato permanente com outros. É uma atividade que pode ser feita isoladamente. Claro, com milhares de desenvolvedores, o processo se acelera de forma substancial. Quando comparamos ao modelo tradicional, a depuração via Open Source é muito mais eficiente e rápida, pois pode alocar centenas ou milhares de voluntários contra uma pequena equipe interna. A força dessa comunidade se dá não apenas pelo maior número de colaboradores, mas também pela diversidade de visões, o que facilita detectar erros de código. Uma equipe tradicional, por estar próxima,  acaba compartilhando os mesmos pensamentos e percepções e, portanto, olha as mesmas coisas nos mesmos lugares. Depuração é altamente paralelizável, logo, o modelo Open Source é ideal para isso.

Outra observação é que na prática não é possível desenvolver um código eficiente no caos, somente no bazar… A ideia romântica de uma comunidade totalmente democrática, desenvolvendo apenas o que lhe interessa, não funciona na prática. O que vemos é  a junção do bazar e da catedral. Os desenvolvedores no bazar desenvolvem seus códigos, mas uma autoridade central, na catedral, define quais códigos entram na árvore de código do software. O Linux é um exemplo típico, onde a palavra final sempre cabe a Linus Torvalds e aos seus lugares-tenente.  Se não houver essa gestão, a qualidade do código pode sofrer muito. Por isso é que em todos os projetos Open Source de sucesso apenas uma pequena parcela da comunidade é que realmente desenvolve os códigos principais. O modelo Open Source então é bazar e catedral. A burocracia e o controle da catedral é que coloca ordem no bazar da comunidade. Portanto, não são modelos antagônicos, mas simbióticos.

A maturidade do modelo mostrou que na prática os principais projetos de Open Source iniciam-se com um ou dois desenvolvedores (seus criadores) e acabam se fixando em torno de umas poucas dezenas de colaboradores ativos, com uma multidão de voluntários (a comunidade) atuando principalmente na depuração ou em códigos periféricos. Além disso, uma parcela significativa desses desenvolvedores está recebendo salários de empresas. Um exemplo é o Linux Technology Center da IBM, que é uma das mais ativas fontes de colaboração ao Linux e é constituído por funcionários da IBM. Uma visita ao site da Linux Foundation mostra em um de seus relatórios que 75% do código do kernel foi escrito por desenvolvedores que estão trabalhando para empresas colaboradoras. Entra então mais uma observação: os modelos Open Source e comercial podem conviver harmonicamente. Exemplos como as comunidades Apache e Eclipse demonstram claramente isso. Existe um conjunto de empresas e desenvolvedores que atuam no cerne dos projetos dessas comunidades, e as empresas, devido às flexibilidades dos seus modelos de licenciamento, criam softwares comerciais que levam ao mercado. Todos saem ganhando.

Portanto, de meados dos anos 90 para cá, evoluiu-se muito. O mercado amadureceu, os temores quanto à viabilidade do Open Source desapareceram ou foram muito minimizados, e a indústria de software continuou forte. Saímos também de uma discussão ideológica do bem contra o mal e chegou-se ao consenso que radicalismos não nos leva a lugar nenhum. Open Source e softwares comerciais estão aí, nas empresas, nas casas e agora nos smartphones e tablets.