A Catedral e o Bazar (em inglês: The Cathedral and the Bazaar) é um ensaio de Eric S. Raymond sobre métodos de engenharia de software, baseado em suas observações do processo de desenvolvimento do Linux e suas experiências administrando o projeto open source fetchmail.[1] Foi primeiramente apresentado pelo autor no Linux Kongress em 27 de Maio de 1997 e publicado como parte do livro com o mesmo nome em 1999. É normalmente considerado como o manifesto do movimento Open source.
A tese central do ensaio de Raymond é que "Dado um número de olhos suficiente, todos os erros são triviais" (que é o enunciado da Lei de Linus, ou análogo a Lei de Metcalfe): se o código fonte está disponível para teste, escrutínio e experimentação pública, então os erros serão descobertos rapidamente. Em contraste, Raymond alega que uma quantidade de tempo e energia irregular deve ser gasta procurando por erros no modelo da Catedral, quando as diversas versões de código são avaliadas por um número limitado de desenvolvedores.
Modelos de Desenvolvimento
O ensaio apresenta dois diferentes modelos de desenvolvimento de um software livre:
Este ensaio ajudou a convencer a maioria dos projetos open source e softwares livres a adotar o modelo do Bazar, completa ou parcialmente — incluindo os projetos Emacs e GCC, os exemplos originais para um modelo Catedral. Mais notavelmente, isso ainda providenciou o empurrão final para a Netscape Communications Corp abrir o código de fonte do Netscape Communicator e iniciar o projeto Mozilla.
O modelo da Catedral é também o modelo de desenvolvimento típico para software proprietário — com a restrição adicional de o código fonte não ser normalmente providenciado com as atualizações — e um uso comum da frase "a Catedral e o Bazar" é contrastar o desenvolvimento proprietário com o desenvolvimento de código aberto (mais tarde, o próprio Raymond usou a expressão dessa maneira em relação aos Documentos de Halloween). Porém, o ensaio original preocupa-se somente com o software livre e não fazia nenhuma referência ao desenvolvimento proprietário.
Boas práticas
- Todo bom trabalho de software começa colocando o dedo na ferida de um programador. [2]
- Os programadores bons sabem o que escrever. Os grandes sabem o que reescrever (e reusar).[2]
- Planeje jogar algo fora; você irá, de qualquer maneira. [2]
- Se você tiver a atitude certa, problemas interessantes irão encontrá-lo.[2]
- Quando você perde interesse em um programa, sua última obrigação a fazer com ele é entregá-lo a um sucessor competente.[2]
- Tratar seus usuários como co-desenvolvedores é seu caminho mais fácil para uma melhora do código e depuração eficaz.[3]
- Libere cedo. Libere frequentemente. E ouça seus fregueses.[4]
- Dada uma base grande o suficiente de beta-testers e co-desenvolvedores, praticamente todo problema será caracterizado rapidamente e a solução será óbvia para alguém.[4]
- Estrutura de dados inteligentes e código burro trabalham muito melhor que ao contrário. [5]
- Se você tratar seus beta testers como seu recurso mais valioso, eles irão responder tornando-se seu mais valioso recurso.[5]
- A melhor coisa depois de ter boas idéias é reconhecer boas idéias dos seus usuários.[6]
- Frequentemente, as soluções mais impressionantes e inovadoras surgem ao se perceber que o seu conceito do problema estava errado.[6]
- A perfeição, em projetar, é alcançada não quando não há mais nada a adicionar, mas quando não há nada para jogar fora.[6]
- Qualquer ferramenta deve ser útil da maneira esperada, mas uma ferramenta verdadeiramente boa leva ela própria a usos que você nunca esperou.[7]
- Quando escrevendo um software gateway de qualquer tipo, faça tudo para perturbar o conjunto de dados o menos possível, e nunca jogue fora informação a não ser que o destinatário force você a isto![7]
- Quando sua linguagem não está perto de um Turing completo, açúcar sintático pode ser seu amigo. [8]
- Um sistema de segurança é tão seguro quanto seu segredo.[8]
- Para resolver um problema interessante, comece achando um problema que é interessante para você.[9]
- Contanto que o coordenador do desenvolvimento tenha uma mídia pelo menos tão boa quanto a Internet, e saiba como liderar sem coerção, muitas cabeças são inevitavelmente melhores que uma.[9]
Referências
Bibliografia
Ver também
Ligações externas
- Ensaio Original, para ler on-line
- Tradução para o português [PDF]
- PostScript, para impressão
- O livro no site da editora O'Reilly
- Open Source Software Development as a Special Type of Academic Research (Crítica ao Raymondismo), Nikolai Bezroukov, First Monday, vol. 4 no. 10, Outubro de 1999
- Resposta para Nikolai Bezroukov (Eric S. Raymond, Outubro de 1999)
- A Second Look at the Cathedral and the Bazaar (Nikolai Bezroukov, First Monday, vol 4 no 12, Dezembro de 1999)
- Bad Linux Advocacy FAQ (Raymondism FAQ)