Revista Do Linux  
EDIÇÃO DO MÊS
  A Catedral e o Bazar
  A nova técnica dos Hackers
  Conexão inteligente
  Desvendando o Flagship
  Doutores em Linux
  Firewalls a partir do IP Masquerade
  Internet grátis, uai!
  Intranet - Benefícios que você nem conhece
  Linux World Expo
  Linux para macho
  Nos bastidores do Linux brasileiro
  Por um Linux fácil
  Rendering: virtualmente real
  Rádio Linux
  Servidor Linuxcom estações Windows
  Viagem ao centro do kernel
  vi, vim e venci

A Catedral e o bazar

No fantástico livro aqui sintetizado, Eric S. Raymond mostra por que o mundo do software fechado não pode vencer a corrida evolucionária contra o software aberto Linux é subversivo. Quem pensaria há cinco anos que um sistema operacional de classe mundial poderia surgir como que por mágica, durante o tempo livre de milhares de colaboradores espalhados por todo o planeta, conectados somente pelos tênues cordões da Internet?

É dessa maneira que Eric S. Raymond, um grande nome na comunidade do software livre, começa seu bombástico livro sobre o estilo Linus Torvalds de desenvolvimento. O artigo de ESR (como é conhecido na comunidade), teve uma enorme repercussão, recebendo grandes críticas assim como grande aceitação. Influenciou grandes empresas de softwares, como a Netscape Communications, que permitiu o acesso ao código fonte do famoso browser Netscape devido ao artigo de ESR. Segundo ESR, o Linux ultrapassou em muito o que ele pensava que sabia. ESR acreditava que grandes softwares (como o kernel do Linux), deveriam ser construídos como catedrais, criadas por grandes magos trabalhando em isolamento, sem que nenhum "beta" fosse liberado antes de seu tempo. ESR estava errado, ele mesmo admite isso em seu artigo. O estilo de Linus Torvalds de desenvolvimento, que diz: "libere cedo e freqüentemente, esteja aberto ao ponto da promiscuidade", foi uma surpresa para ESR. Para ESR, a comunidade Linux se assemelhou a um grande e barulhento bazar, de diferentes agendas e aproximações, onde um sistema estável poderia apenas emergir de um milagre. O milagre de Linus.

Pode parecer sem sentido liberar o seu código freqüentemente, chegando a liberá-lo mais de uma vez por dia (bem no início do kernel, Linus chegou a fazer isso). Quem vai perder tempo olhando os detalhes de cada código liberado?

O mundo.

No mundo do software livre, o mundo é seu programador. Por essas e diversas outras razões é que o estilo de Linus funcionou tão bem. Mas ESR ainda não acreditava nessas idéias. Ele, como antigo programador da comunidade do software livre, estava acostumado com estilos catedrais. ESR resolveu fazer seu próprio teste, com o software atualmente conhecido por "fetchmail".

ESR trabalhava num pequeno provedor de acesso gratuito na Pensilvânia, e estava achando incômodo ter que acessar a máquina do provedor, via sua conexão PPP de casa, para ler e-mails. Decidiu então procurar por um cliente que transferisse seus e-mails da máquina servidor para sua máquina pessoal. Durante essa procura, ESR encontrou vários clientes, mas nenhum deles atendeu suas necessidades. Como estava interessado em experimentar o estilo bazar de Linus, resolveu fazer um que pudesse atender suas necessidades.

Como ESR citou em uma de suas regras: "Todo bom trabalho de software começa colocando-se o dedo na ferida de um programador". Talvez isso devesse ser óbvio (um antigo provérbio diz que "a necessidade é a mão da invenção"). Mas ESR começou a escrever um cliente do zero? Não, seguindo sua segunda regra que diz: "Programadores bons sabem o que escrever. Os grandes sabem o que reescrever (e reusar)". ESR procurou o cliente que chegaria mais próximo de suas necessidades, e o encontrou.

A tradição do mundo Unix de compartilhar o código fonte foi muito útil para ESR. Essa é uma das razões de o movimento pelo software livre continuar até hoje e estar aumentando cada vez mais. Logo, ESR já tinha um cliente em mãos. E borbulharam idéias na mente de ESR quanto ao seu novo projeto, ele já não estava mais apenas mudando um cliente, ele estava mantendo o seu próprio cliente. Diz ESR que em uma cultura de software que encoraja a troca de código, esse é um caminho natural para um projeto evoluir. Se você tem a atitude certa, problemas interessantes irão encontrá-lo. E o mais interessante que o projeto de ESR demonstrou foi a amizade que existe em uma comunidade de software livre, que prega que: "Quando você perde interesse em um programa, sua última obrigação com ele é entregá-lo a um sucessor competente". ESR agora era o verdadeiro coordenador do cliente que ele tanto mudou.

O que ESR percebeu foi que, além de herdar o programa, ele herdou os usuários, uma facção importante da comunidade.Segundo ESR, cultivados de uma maneira correta eles podem se tornar co-desenvolvedores de seu projeto. E foi isso que ele fez, tornando a depuração e a melhoria do código um caminho mais fácil para ele. ESR subestimou essa característica no início, até que Linus provou o contrário com seu Linux. Ele acredita que, de fato, a engenhosidade de Linus não foi a construção do kernel do Linux, e sim o seu modelo de desenvolvimento. Quando ele exteriorizou isto para Linus, o próprio respondeu com calma e tranqüilidade: "Sou apenas uma pessoa muito preguiços a que gosta de receber créditos por coisas que outras pessoas realmente fazem". ESR acredita nisso agora.

Então ESR continuou a desenvolver seu mais novo projeto na visão que Linus ensinou, a visão bazar, liberando cedo e freqüentemente, ouvindo seus usuários, tratando-os como co-desenvolvedores. Não poderia ter funcionado mais corretamente como funcionou.

Na visão catedral de programação, erros e problemas de desenvolvimento são difíceis, insidiosos, algo profundo. Cria-se um desapontamento quando as tão demoradas e esperadas liberações do software não são perfeitas, pois não foram depuradas totalmente.

Por outro lado, na visão bazar, você assume que os erros são triviais. Você libera freqüentemente para ter mais correções, e como um benéfico efeito colateral você tem menos a perder se um erro ocasional aparece. Se esta lei é falsa, então qualquer sistema complexo, como o kernel do Linux, sendo programado por tantas mãos quantas programam o kernel do Linux, tende a ter um colapso em certo ponto e imprevisíveis erros profundos não descobertos. Mas se a lei é verdadeira, por outro lado, já é o suficiente para explicar a relativa falta de erros do Linux.

Utilizando o estilo de Linus, ESR teve seu primeiro grande retorno: um usuário lhe deu a idéia que mudaria e imortalizaria seu software. E estas modificações levaram o software a usos que ESR nunca imaginou. Com seu projeto maduro, ESR considerou que algumas precondições são necessárias para o estilo bazar.

Segundo ESR, ninguém pode codificar desde o início no estilo bazar. A comunidade precisa de algo executável e já com características próprias para testar e utilizar. Quando você começa a construção de uma comunidade, você precisa apresentar uma promessa plausível. Não é preciso que seu programa funcione corretamente, o que você não pode deixar de fazer é convencer seus co-desenvolvedores de que o seu programa tem potencial para fazer aquilo que ele pretende fazer. Mais ainda, ESR concluiu que o desenvolvedor que utiliza apenas sua capacidade mental para um projeto fechado irá ficar atrás dos desenvolvedores que saibam criar um contexto aberto e evolutivo, no qual a visualização de erros e melhorias sejam feitas por centenas de pessoas. O Linux foi o primeiro exemplo disso, e ESR estava certo.

Acredita ESR que o futuro do software livre irá pertencer a pessoas que saibam se comunicar e criar comunidades para seus projetos. E talvez não só o futuro do software livre.

Nenhum desenvolvedor de código fechado pode competir com um conjunto de talentos reunidos. Talvez no final a cultura de software livre triunfe, não porque a cooperação seja moralmente correta ou a proteção do software seja moralmente errada, mas simplesmente porque o mundo do software fechado não pode vencer uma corrida evolucionária contra comunidades de software aberto, cuja forma de desenvolvimento aloca tantos recursos e tempo hábil, que conduz os problemas a um patamar em que é muito mais fácil resolvê-los.

 

A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade