E então eu herdei o popclient. Tão importante quanto, eu herdei os usuários do popclient. Usuários são ótimas coisas para se ter, e não somente porque eles demonstram que você está satisfazendo uma necessidade, que você fez algo certo. Cultivados de maneira adequada, eles podem se tornar co-desenvolvedores.
Outra força da tradição do Unix, uma que o Linux tem levado a um alegre extremo, é que muitos usuários são hackers também. E porque o código fonte está disponível, eles podem ser hackers eficazes. Isto pode ser tremendamente útil para reduzir o tempo de depuração. Com um pouco de estímulo, seus usuários irão diagnosticar problemas, sugerir correções e ajudar a melhorar o código muito mais rapidamente do que você poderia fazer sem ajuda.
6. Tratar seus usuários como co-desenvolvedores é seu caminho mais fácil para uma melhora do código e depuração eficaz.
O poder deste efeito é fácil de se subestimar. De fato, todos nós do mundo do código aberto subestimamos drasticamente como isto iria incrementar o número de usuários e diminuir a complexidade do sistema, até que Linus Torvalds nos mostrou de outra forma.
De fato, eu penso que a engenhosidade do Linus e a maior parte do que desenvolveu não foram a construção do kernel do Linux em si, mas sim a sua invenção do modelo de desenvolvimento do Linux. Quando eu expressei esta opinião na sua presença uma vez, ele sorriu e calmamente repetiu algo que freqüentemente diz: "Sou basicamente uma pessoa muito preguiçosa que gosta de ganhar crédito por coisas que outras pessoas realmente fazem." Preguiçoso como uma raposa. Ou, como Robert Heinlein teria dito, muito preguiçoso para falhar.
Em retrospecto, um precedente para o sucesso e métodos do Linux pode ser observado no desenvolvimento da biblioteca do GNU Emacs Lisp e os repositórios de código Lisp. Em contraste com o estilo de desenvolvimento catedral do núcleo do Emacs C e a maioria das outras ferramentas da FSF, a evolução do grupo de código Lisp foi fluída e bastante dirigida ao usuário. Idéias e protótipos foram freqüentemente reescritos três ou quatro vezes antes de atingirem uma forma estável final. E colaborações permitidas pela Internet, a la Linux, foram freqüentes.
Realmente, minha mais bem sucedida codificação anterior ao fetchmail foi provavelmente o modo Emacs VC, uma colaboração do tipo do Linux por email com três outras pessoas, somente uma das quais (Richard Stallman, o autor do EMACS e fundador da FSF) eu conheci pessoalmente até hoje. Foi um front-end para SCCS, RCS e posteriormente CVS pelo Emacs que oferecia operações de controle de versão "um toque". Evoluiu de um pequeno e grosseiro modo sccs.el que alguém havia escrito. E o desenvolvimento do VC foi bem sucedido porque, ao contrário do próprio Emacs, o código do Emacs Lisp poderia ir por gerações de lançamento/teste/aperfeiçoamento muito rapidamente.