Bom dia meus queridos!
Vimos no versículo anterior a quarta parte de “The Cathedral and the Bazaar”. Hoje damos continuidade com a parte 5.
A Importância de se ter Usuários
E assim eu herdei o popclient. Igualmente importante, eu herdei a base de usuários do popclient. Os usuários são coisas maravilhosas para ter, e não apenas porque demonstram que você está servindo uma necessidade, que você fez algo certo. Devidamente cultivados, eles podem se tornar co-desenvolvedores.
Compre seu Ingresso Agora
Outra força da tradição do Unix, que o Linux leva a um extremo feliz, é que muitos usuários também são hackers. Como o código-fonte está disponível, eles podem ser hackers eficazes. Isso pode ser tremendamente útil para encurtar o tempo de depuração. Com um pouco de incentivo, seus usuários vão diagnosticar problemas, sugerir correções e ajudar a melhorar o código com muito mais rapidez do que você poderia fazer sem ajuda.
- Tratar seus usuários como co-desenvolvedores é o caminho mais simples para uma rápida melhoria de código e depuração eficaz.
O poder desse efeito é fácil de subestimar. De fato, praticamente todos nós no mundo do código aberto subestimamos drasticamente o quanto ele aumentaria com o número de usuários e a complexidade do sistema, até que Linus Torvalds nos mostrou de forma diferente.
Na verdade, eu acho que o mais inteligente e consequente hack de Linus não foi a construção do próprio kernel Linux, mas sim sua invenção do modelo de desenvolvimento do Linux. Quando expressei essa opinião em sua presença uma vez, ele sorriu e silenciosamente repetiu algo que costuma dizer: “Sou basicamente uma pessoa muito preguiçosa que gosta de receber créditos por coisas que outras pessoas de fato fazem”. Preguiçosa como uma raposa. Ou, como Robert Heinlein escreveu de forma famosa sobre um de seus personagens, com preguiça demais para falhar.
Em retrospecto, um precedente para os métodos e sucesso do Linux pode ser visto no desenvolvimento da biblioteca GNU Emacs Lisp e dos arquivos de código Lisp. Em contraste com o estilo de construção de catedrais do núcleo Emacs C e a maioria das outras ferramentas GNU, a evolução do conjunto de códigos Lisp foi fluida e muito voltada para o usuário. Ideias e modos de protótipo foram frequentemente reescritos três ou quatro vezes antes de chegar a uma forma final estável. E colaborações fracamente acopladas permitidas pela Internet, como o Linux, eram frequentes.
De fato, o meu hack único mais bem-sucedido anterior ao fetchmail foi provavelmente o modo Emacs VC (controle de versão), uma colaboração semelhante ao Linux por e-mail com três outras pessoas, apenas uma delas (Richard Stallman, autor do Emacs e fundador do Free Software Foundation) eu conheci até hoje. Foi um front-end para SCCS, RCS e mais tarde CVS de dentro do Emacs que oferecia operações de controle de versão “de um toque”. Evoluiu de um modo sccs.el minúsculo e bruto que alguém havia escrito. E o desenvolvimento do VC foi bem-sucedido porque, ao contrário do próprio Emacs, o código Emacs Lisp poderia passar pela gerações lançamento/teste/melhora muito rapidamente.
A história do Emacs não é única. Houve outros produtos de software com uma arquitetura de dois níveis e uma comunidade de usuários de dois níveis que combinavam um núcleo de modo catedral e uma caixa de ferramentas de modo bazar. Um deles é o MATLAB, uma ferramenta comercial de análise de dados e visualização. Os usuários do MATLAB e outros produtos com uma estrutura semelhante invariavelmente relatam que a ação, o fermento, a inovação ocorrem principalmente na parte aberta da ferramenta, onde uma comunidade grande e variada pode mexer com ela.
Foi esta a parte 5, continuamos a tradução amanhã com a sexta. Grande abraço!