Boa tarde povo!
Hoje veremos a décima nona parte da tradução de “The Cathedral and the Bazaar”. Vimos no versículo anterior a décima oitava.
O Contexto Social do Software de Código Aberto
Está verdadeiramente escrito: os melhores hacks começam como soluções pessoais para os problemas cotidianos do autor, e se espalham porque o problema acaba sendo típico para uma grande classe de usuários. Isso nos leva de volta à questão da regra 1, reafirmada de uma maneira talvez mais útil:
- Para resolver um problema interessante, comece encontrando um problema que seja interessante para você.
Assim foi com Carl Harris e o popclient ancestral, e assim comigo e fetchmail. Mas isso tem sido entendido por um longo tempo. O ponto interessante, o ponto que as histórias de Linux e fetchmail parecem exigir que nos concentramos, é o próximo estágio – a evolução do software na presença de uma comunidade grande e ativa de usuários e co-desenvolvedores.
Em The Mythical Man-Month, Fred Brooks observou que o tempo do programador não é fungível; Adicionando desenvolvedores a um projeto de software atrasado o torna mais atrasado. Como vimos anteriormente, ele argumentou que os custos de complexidade e comunicação de um projeto aumentam com o quadrado do número de desenvolvedores, enquanto o trabalho feito sobe apenas linearmente. A Lei de Brooks foi amplamente considerada como um truísmo. Mas examinamos neste ensaio uma série de maneiras pelas quais o processo de desenvolvimento de código aberto falsifica os pressupostos por trás dele – e, empiricamente, se a Lei de Brooks fosse o quadro geral, o Linux seria impossível.
O clássico The Psychology of Computer Programming, de Gerald Weinberg forneceu o que, em retrospectiva, podemos ver como uma correção vital a Brooks. Em sua discussão sobre “programação sem ego”, Weinberg observou que em lojas onde os desenvolvedores não são territoriais sobre seu código, e encorajam outras pessoas a procurar por bugs e melhorias potenciais, a melhoria acontece dramaticamente mais rápido do que em outros lugares. (Recentemente, a técnica de “extrema programação” de Kent Beck, de implantar codificadores em pares, olhando por cima dos ombros dos outros, pode ser vista como uma tentativa de forçar esse efeito.)
A escolha da terminologia de Weinberg talvez tenha impedido sua análise de obter a aceitação que merecia – é preciso sorrir ao pensar em descrever os hackers da Internet como “sem ego”. Mas acho que seu argumento parece mais atraente hoje do que nunca.
O método bazar, aproveitando todo o poder do efeito “programação sem ego”, atenua fortemente o efeito da Lei de Brooks. O princípio por trás da Lei de Brooks não é revogado, mas dada uma grande população de desenvolvedores e comunicações baratas, seus efeitos podem ser afetados por não-linearidades concorrentes que não são visíveis de outra forma. Isso se assemelha à relação entre a física newtoniana e a einsteiniana – o sistema mais antigo ainda é válido em baixas energias, mas se você empurrar a massa e a velocidade suficientemente altas, terá surpresas como explosões nucleares ou Linux.
Fim da parte 19. No versículo próximo continuamos com a vigésima. Ricas bençãos!