A Catedral e o Bazar - Eric S. Raymond

Sem dúvida que é um marco para o mundo open source. Publicada por Eric S. Raymond e traduzida para o português por Erik Kohler, A Catedral e o Bazar conta toda a história e os primeiros passos do movimento Open Source.

[ Hits: 77.211 ]

Por: Raphael Silva Bastos em 09/11/2006 | Blog: https://area31.net.br


Fetchmail cresce



Lá estava eu com um projeto elegante e inovador, um código que eu sabia que funcionava bem porque eu usava todos os dias, e uma crescente lista de beta testers. E gradualmente eu percebia que eu não estava mais ocupado com uma trivial codificação pessoal que porventura poderia se tornar útil para algumas pessoas. Eu tinha em minhas mãos um programa que todos os usuários de um sistema Unix com uma conexão de correio SLIP/PPP realmente precisavam.

Com a característica de reenvio por SMTP, ele passou muito à frente da competição para potencialmente se tornar um "category killer", um destes programas clássicos que preenchem seu nicho tão completamente que as alternativas não são somente descartadas como também esquecidas.

Eu penso que você não pode realmente almejar ou planejar um resultado como este. Você tem que ser atraído para isso por idéias de projeto tão poderosas que posteriormente os resultados parecem inevitáveis, naturais, mesmo predestinados. A única maneira de tentar idéias como esta é tendo muitas idéias - ou tendo o julgamento de engenharia para levar as boas idéias das outras pessoas além do que estas que as tiveram pensariam que elas poderiam ir.

Andrew Tanenbaum teve a idéia original de construir um Unix nativo simples para o 386, para uso como uma ferramenta de ensino. Linus Torvalds levou o conceito do Minix para além do que Andrew provavelmente pensou que poderia ir - e cresceu para algo maravilhoso. Da mesma forma (embora em uma menor escala), eu peguei algumas idéias de Carl Harris e Harry Hochheiser e dei um empurrão. Nenhum de nós foi 'original' no sentido romântico que as pessoas pensam é um gênio. Mas a maioria do desenvolvimento de software científico e de engenharia não é feita por um gênio original, a mitologia hacker ao contrário.

Os resultados foram todos sempre muito precipitados - de fato, o tipo de sucesso que qualquer hacker está sempre procurando! E eles significaram que eu teria que definir meus padrões ainda mais altos. Para fazer o fetchmail tão bom como eu então achava que poderia se tornar, eu teria que escrever não somente para minhas próprias necessidades, mas também incluir e suportar características necessárias para outros fora do meu relacionamento. E fazer isto mantendo o programa simples e robusto.

A primeira e mais importante esmagadora característica que eu escrevi depois de perceber isto foi o suporte a multidrop - a habilidade de capturar correio de caixas de correio que acumularam todas as mensagens para um grupo de usuários, e então destinar cada pedaço de correio para seus destinatários individuais.

Eu decidi adicionar o suporte ao multidrop em parte porque alguns usuários estavam pedindo por isto, mas principalmente porque eu pensei que isto iria retirar os erros do código para o envio simples me forçando a manipular o endereçamento de um modo geral. E assim se provou ser. Fazer funcionar a análise da RFC 822 me tomou um tempo consideravelmente longo, não porque qualquer pedaço dele é difícil mas porque envolvia uma pilha de detalhes interdependentes e elaborados.

Mas o endereçamento multidrop se tornou uma decisão de projeto excelente. Aqui está como eu soube:

14. Qualquer ferramenta deve ser útil da maneira esperada, mas uma ferramenta verdadeiramente "boa" leva ela própria a usos que você nunca esperou.

O uso inesperado para o multidrop do fetchmail é executar mailing lists com a lista mantida, e expansão de apelidos feita, no lado do cliente da conexão SLIP/PPP. Isto significa que alguém executando uma máquina pessoal por uma conta ISP pode administrar uma mailing list sem acesso contínuo aos arquivos de apelidos do ISP.

Outra importante mudança solicitada pelos meus beta testers foi suporte para operação MIME 8-bit. Isto foi muito fácil de fazer, porque eu estava sendo cuidadoso mantendo o código pronto para 8-bit. Não porque eu antecipei a demanda para esta característica, mas em obediência a outra regra:

15. 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!

Se eu não tivesse obedecido esta regra, o suporte a MIME 8-bit teria sido difícil e cheio de erros. Como estava, tudo o que tive que fazer foi ler a RFC 1652 e adicionar um pouco de lógica trivial para a geração de cabeçalho.

Alguns usuários europeus insistiram para que eu adicionasse uma opção para limitar o número de mensagens recebidas por seção (de maneira que eles poderiam controlar custos das suas caras redes de telefone). Eu resisti por um longo tempo, e ainda não estou inteiramente alegre sobre isto. Mas se você está escrevendo para o mundo, você tem que ouvir os seus clientes - isto não muda somente porque eles não estão pagando dinheiro a você.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. A catedral e o bazar
   3. O correio deve ser entregue
   4. A importância de ter usuários
   5. Libere cedo, libere freqüentemente
   6. Quando uma rosa não é uma rosa?
   7. Popclient transforma-se em Fetchmail
   8. Fetchmail cresce
   9. Algumas lições a mais do Fetchmail
   10. Pré-condições necessárias para o estilo bazar
   11. O contexto social do código aberto
   12. Reconhecimentos
   13. Para leitura adicional
   14. Epílogo: Netscape acata o bazar!
   15. Versão e histórico de mudanças
Outros artigos deste autor

Palm na internet via Linux

Leitura recomendada

Fundamentos do sistema Linux - hardware

Slackware 13.37 - Compreendendo o processo de inicialização

Funcionamento de um cluster Linux: Parte II - A revanche

Sim! Outro artigo na linha "Por onde começo?"

Entrevista com Knurt, o pires voador

  
Comentários
[1] Comentário enviado por coffnix em 09/11/2006 - 01:36h

histórico esse artigo.... tanto q fez o dono da netscape mudar de idéia referente à liberação dos códigos fonte do netscape... hehehe

pra vcs verem como isso foi promissor, vejam ae a fundação mozilla com o firefox e o thunderbird.


;)

[2] Comentário enviado por yetlinux em 09/11/2006 - 06:12h

Ouvi dizer que agora ele quer convencer a Sun a liberar os códigos do Java.

[3] Comentário enviado por eneiasramos em 09/11/2006 - 08:24h

Versão em PDF:

http://www.dominiopublico.gov.br/download/texto/tl000001.pdf

:)

[4] Comentário enviado por leoberbert em 09/11/2006 - 08:40h

Fala rapaizzzz Blz de artigo hein?

Continue assim.. abração!!!

[5] Comentário enviado por gnu em 09/11/2006 - 11:58h

Não quero ser chato.. e por favor não me leve a mal... Mas não seria mais pratico ter colocado isso na seção de Links? Você mesmo indicou http://www.geocities.com/CollegePark/Union/3590/pt-cathedral-bazaar.html.
E está tudo la.... valew...

[6] Comentário enviado por eneiasramos em 09/11/2006 - 17:59h

A versão PDF já está publicada na seção Links.

http://www.vivaolinux.com.br/contribuir/links/verLink.php?codigo=2764

Abraço a todos!

[7] Comentário enviado por bestlinux em 10/11/2006 - 09:43h

Falaaa cara..blzzz

Ficou muito roxxx o Artigo :)

Falow!

[8] Comentário enviado por fabio em 10/11/2006 - 12:03h

Fala GNU, neste caso apóio a publicação aqui no VOL. Motivo: a tradução está publicada no Geocities.

Possíveis problemas:

1. Geocities é beeeem mais lento que o VOL;
2. Vai que um dia a conta deixa de existir ou o artigo sai do ar.

Defendo que um texto, principalmente os úteis, estejam sempre espelhados em mais de 1 site, pois tudo nessa vida tem princípio, meio e fim e isso também vale para sites. É mais ou menos o conceito de mirrors de pacotes de distros, se só houvesse um, quando o servidor cair fica todo mundo na mão :)

Um abraço

[9] Comentário enviado por User-kuruma em 10/11/2006 - 14:23h

Excelente, esse texto tem aplicação não só na área de software, mas também traz lições para criação e desenvolvimento de projetos de outras áreas. As lições que se pode extrair do texto tem aplicação nas mais diversas áreas de produção e desenvolvimento de serviços para a sociedade em geral.

[10] Comentário enviado por joseapff em 10/11/2006 - 16:32h

Muito bom esse texto é ima ótima referencia para quem aprecia o codigo livre.

[11] Comentário enviado por yetlinux em 12/11/2006 - 23:36h

E como alguns já escreveram por aí, não aqui, que o site Domínio Público estaria com o pé na cova, nada melhor que relembrar o que ele pode ter de útil.

***

Sun vai abrir mesmo o Java sob GPLv2
http://br-linux.org/linux/sun-confirma-vai-mesmo-abrir-o-codigo-do-java-e-a-licenca-sera-a-gplv2

[12] Comentário enviado por juliaojunior em 18/03/2008 - 20:44h

Simplesmente fantástico!! Vai para o favoritos.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts