Código Aberto: modelo para software de qualidade O utro dia, conversando com um CIO, ele se mostrou apreensivo quanto à qualidade do código dos softwares de Código Aberto. Sua dúvida era se esses softwares teriam qualidade adequada às necessidades de um exigente ambiente corporativo. Parodiando a campanha de contrapropaganda de uma conhecida empresa de software, vamos aos fatos. Existem dois métodos básicos de desenvolvimento de software: os princípios catedral e bazar. Esses nomes foram cunhados a partir do célebre trabalho “The Cathedral and the Bazaar” (A Catedral e o Bazar) [1], de Eric Raymond. O método batizado de catedral é baseado no planejamento centralizado, com evolução top-down e rígido relacionamento entre a gerência e os desenvolvedores, quanto a prazos, metodologias adotadas e tarefas, dentro de uma hierarquia organizacional. O desenvolvimento é interno à empresa e apenas nos ciclos de teste alfa e beta que o produto é exposto ao mercado, através de uma restrita e controlada comunidade de usuários (individuais ou empresas clientes) que se prontificam a cooperar nos testes e depurações. Mas todo o código-fonte é proprietário e fechado ao mundo externo, e restrito apenas aos olhos dos desenvolvedores da empresa que produz o software. É o método tradicionalmente adotado pela indústria de software em seus produtos comerciais. Seu nome deriva do processo de construção das catedrais na Idade Média. O princípio bazar, como o nome indica, é baseado em uma forma de desenvolvimento mais livre, sem centralização do seu planejamento e execução. É o modelo típico do Código Aberto. O desenvolvimento é efetuado em rede, por uma comunidade de desenvolvedores voluntários, na maioria das vezes sem vínculos entre si, em uma organização informal. A comunicação é efetuada pela Internet, virtualmente e sem fronteiras geográficas, e apenas existem alguns princípios que regulam o trabalho. A liderança do projeto não é definida de maneira prévia e formal, mas emerge naturalmente pelos méritos de um determinado membro da comunidade de voluntários. Essa é uma característica diferenciadora do movimento de Código Aberto: a sua exploração de forma inteligente do poder da produção colaborativa. O que torna esse poder extraordinário é a capacidade de melhorar com o tempo, curando-se organicamente, como se o enorme exército de colaboradores de um projeto como o Linux fosse um sistema imunológico, sempre vigilante e ágil na reação a qualquer ameaça ao organismo. E apesar dos receios naturais causados por um modelo de desenvolvimento inovador para os padrões tradicionais, os projetos de Código Aberto não descambam para a anarquia; pelo contrário, mantêm uma coesão impressionante. Linux Magazine #27 | Fevereiro de 2007 CORPORATE Cezar Taurion Os códigos são revisados pelos próprios pares e geralmente o melhor código é selecionado (meritocracia). Como não existe um departamento de marketing influenciando prazos, o ritmo de desenvolvimento é direcionado pela disponibilidade de tempo e dedicação dos desenvolvedores voluntários. O método bazar gera uma forte tendência à produção de código de alta qualidade. O código é lido e analisado por diversos desenvolvedores, às vezes na escala das centenas, o que acelera o processo de depuração e correção de erros. Além disso, não existe pressão de prazo, o que permite mais ciclos de depuração. A decisão de Essa é uma característica diferenciadora do movimento de Código Aberto: a sua exploração de forma inteligente do poder da produção colaborativa. liberar o código é fruto de consenso do grupo, e não uma imposição de marketing, como muitas vezes ocorre em um projeto comercial. O resultado é um software de alta qualidade, como inúmeros estudos independentes têm demonstrado. Portanto, a preocupação do CIO, basicamente, decorre principalmente do desconhecimento sobre o que é realmente o Código Aberto, e não de fatos reais. ■ Mais Informações [1] The Cathedral and the Bazaar (em inglês): http://catb. org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ [2] (em português): http://www.geocities.com/CollegePark/Union/3590/pt-cathedral-bazaar.html O autor Cezar Taurion é Gerente de Novas Tecnologias Aplicadas da IBM. 27