La cattedrale e il bazaar/L'importanza di avere utenti
Questo testo è completo. |
Traduzione dall'inglese di Bernardo Parrella (1999)
◄ | La posta deve passare | Distribuire presto e spesso | ► |
E così ho ereditato popclient. Fatto parimenti importante, ho ereditato gli utenti di popclient. Importante non soltanto perché la loro esistenza testimonia che stai rispondendo a un loro bisogno, che hai fatto qualcosa di buono. Coltivati in maniera appropriata, gli utenti possono trasformarsi in co-sviluppatori.
Altro punto di forza della tradizione Unix, portato felicemente agli estremi da Linux, è che molti utenti sono essi stessi degli hacker. Ed essendo i sorgenti disponibili a tutti, posso diventare degli hacker molto efficaci. Qualcosa di tremendamente utile per ridurre il tempo necessario al debugging. Con un po’ d’incoraggiamento, ogni utente è in grado di diagnosticare problemi, suggerire soluzioni, aiutare a migliorare il codice in maniera impensabile per una persona sola.
6. Trattare gli utenti come co-sviluppatori è la strada migliore per ottenere rapidi miglioramenti del codice e debugging efficace.
È facile sottovalutare la potenza di un simile effetto. In realtà un po’ tutti noi del mondo open source eravamo soliti sottovalutare drasticamente il fatto che tale potenza crescesse di pari passo con il numero degli utenti e con la complessità del sistema. Finché Linus Torvalds ci ha mostrato le cose in maniera diversa.
In realtà ritengo che la mossa più scaltra e consequenziale di Linus non sia stata la costruzione del kernel di Linux in sé, bensì la sua invenzione del modello di sviluppo di Linux. Quando ho espresso questo mio pensiero in sua presenza, sorridendo ha ripetuto con calma quel che va spesso affermando: “Praticamente sono una persona molto pigra cui piace prendersi il merito di quel che sono gli altri a fare.” Pigro come una volpe. Oppure, come avrebbe detto Robert Heinlein, troppo pigro per fallire.
Guardando all’indietro, un precedente per i metodi e il successo di Linux può esser trovato nello sviluppo della libreria Lisp GNU e per gli archivi del codice Lisp di Emacs. In opposizione allo stile di costruzione a cattedrale del nucleo centrale in C di Emacs e di gran parte di altri strumenti della Free Software Foundation (FSF), l’evoluzione del codice Lisp risultò assai fluida e guidata dagli utenti. Idee e prototipi vennero spesso riscritti tre o quattro volte prima di raggiungere una forma stabile e definitiva. E le collaborazioni estemporanee tra due o più persone consentite da Internet, alla Linux, erano evento frequente.
Non a caso il mio caso di “hack” precedente a fetchmail fu probabilmente la modalità Emacs VC, una collaborazione via email secondo lo stile Linux con altre tre persone, soltanto una delle quali (Richard Stallman, autore di Emacs e fondatore della FSF http://www.fsf.org) ho poi avuto occasione di incontrare dal vivo. Si trattava di realizzare il frontale per SCCS, RCS e più tardi CVS dall’interno di Emacs, dotato di opzioni a “one-touch” per le operazioni di controllo. Ciò ha preso avvio da un minuto, crudo sccs.el scritto da qualcun altro. E lo sviluppo di VC ha avuto successo perché, al contrario dello stesso Emacs, il codice di Lisp riuscì a passare molto rapidamente tra diverse generazioni di distribuzione/test/miglioramenti.