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: 74.453 ]

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


Algumas lições a mais do Fetchmail



Antes de voltarmos ao assunto de engenharia de software em geral, existem algumas lições a mais da experiência do fetchmail para ponderar.

A sintaxe do arquivo rc inclui palavra-chaves 'ruidosas' opcionais que são inteiramente ignoradas pelo analisador. A sintaxe parecida com o Inglês que elas permitem é consideravelmente mais inteligível que os concisos pares tradicionais palavra-chave-valor que você obtém quando as retira.

Estas começaram como um experimento posterior quando eu percebi como as declarações do arquivo rc estava começando a lembrar uma minilinguagem imperativa. (É por isto também que eu mudei a palavra-chave original 'server' do popclient para 'poll').

Parecia para mim que tentar fazer esta minilinguagem imperativa parecer mais como o Inglês poderia torná-la mais fácil de ser usada. Agora, embora eu seja um convencido adepto da escola de projeto "faça isso uma linguagem" como exemplificado pelo Emacs e HTML e muitos sistemas de banco de dados, eu normalmente não sou um grande fã das sintaxes "English-like".

Programadores tradicionais tendem a serem a favor de sintaxes de controle que são muito precisas e compactas e não contém redundância alguma. Isto é um legado cultural de quando os recursos computacionais eram caros, então os estágios de análise tinham que ser tão baratos e simples quanto possíveis. O Inglês, com redundância de aproximadamente 50%, parecia ser um modelo muito impróprio.

Esta não é minha razão para normalmente evitar sintaxes no estilo do Inglês; eu menciono isto aqui somente para arrasá-la. Com ciclos e núcleos baratos, concisão não deve ser ela mesma um fim. Hoje em dia é mais importante para uma linguagem ser conveniente para humanos do que ser barata para o computador.

Há, entretanto, boas razões para ser cauteloso. Uma é o custo da complexidade do estágio de análise - você não quer aumentá-lo ao ponto onde é uma fonte significativa de erros e confusão de usuários. Outra é que tentar fazer a sintaxe de uma linguagem English-like freqüentemente demanda que o "Inglês" que é falado seja seriamente propenso a ser fora de forma, tanto como a semelhança superficial com a linguagem natural é tão confusa como a sintaxe tradicional seria. (Você vê isso em várias linguagens chamadas de "quarta geração" e em linguagens de consulta de banco de dados comerciais.)

A sintaxe de controle do fetchmail parece evitar estes problemas porque o domínio da linguagem é extremamente restrito. Não é perto de uma linguagem de uso geral; as coisas que ela diz simplesmente não são muito complicadas, então há pouco potencial para confusão em mover mentalmente entre um pequeno conjunto do Inglês e a real linguagem de controle. Eu acho que há uma lição mais abrangente aqui:

16. Quando sua linguagem não está perto de um Turing completo, açúcar sintático pode ser seu amigo.

Outra lição é sobre segurança por obscuridade. Alguns usuários do fetchmail me pediram para mudar o software para guardar as senhas encriptadas no arquivo rc, de maneira que bisbilhoteiros não poderiam casualmente vê-las.

Eu não fiz isso, porque isto não adiciona realmente proteção. Qualquer pessoa que adquira permissões para ler seu arquivo rc poderá executar o fetchmail como você de qualquer maneira - e se é a sua senha o que eles procuram, poderiam retirar o decodificador do próprio fetchmail para consegui-la.

Tudo o que a encriptação de senha do arquivo .fetchmailrc faria seria dar a falsa impressão de segurança para pessoas que não pensaram bem sobre este assunto. Aqui a regra geral é:

17. Um sistema de segurança é tão seguro quanto é secreto. Esteja atento a pseudo-segredos.

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

Quando o Linux me deixou na mão

Atualização das provas LPIC-1, 304 e Essentials

Escritório 100% GNU/Linux: viável e econômico

Jack, Rosegarden, midi e áudio no Debian/Ubuntu

Linux Mint 7 Gloria

  
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