E' chiaro che nessuno pu� iniziare dal nulla in stile bazaar [IN]. In questa modalit� si pu� testare, cercare gli errori e migliorare, ma sarebbe molto difficile dare origine a un progetto. Linus non l'ha tentato e io nemmeno. La nascente comunit� di utenti deve avere qualcosa che gira per poterci giocare.
Quando si comincia a costruire una comunit�, si deve essere in grado di presentare una promessa plausibile. Il programma non deve girare particolarmente bene: pu� essere rudimentale, grezzo, pieno di buchi, incompleto e scarsamente documentato. Ma deve: (1) girare e (2) poter evolvere in qualcosa di realmente utile nel futuro prevedibile.
Linux e Fetchmail avevano un progetto di base forte e attrattivo. Da questa considerazione molti deducono che il leader deve essere molto intelligente e possedere grande intuizione.
Ma Linus ha preso il progetto da Unix, e anch'io da prodotti precedenti (anche se poi l'ho molto cambiato, proporzianamlente anche pi� di quanto ha fatto Linux). Dunque il leader/coordinatore di uno sforzo in stile bazaar deve avere un talento progettuale eccezionale o pu� ottenerlo controllando il talento altrui?
Io credo che non sia critico che il coordinatore sia in grado di originare progetti di eccezionale brillantezza, ma che sia assolutamente critico che il cordinatore sia capace di riconoscere le buone idee degli altri.
I progetti Linux e Fetchmail dimostrano ci�. Linus, mentre non era (come abbiamo discusso) un progettista spettacolarmente eccezionale, ha dimostrato una potentissima capacit� di riconoscere buone idee e integrarle nel kernel di Linux. E ho gi� descritto come l'idea pi� potente di Fetchmail (il forwarding SMTP) sia venuta da qualcun altro.
Alcuni mi hanno gratificato suggerendo che sono disposto a sottovalutare l'originalit� del progetto perch� c'� n'� molta in me e quindi tendo a darla per scontata. Ci pu� essere qualcosa di vero in questo; il progetto (contrariamente alla codifica e al debugging) � certamente la mia abilit� maggiore.
Ma il problema dell'abilit� e originalit� nel progetto del software � che tende a diventare una abitudine: si comincia a fare cose meravigliose e complicate, mentre si dovrebbero tenere semplici e robuste. Mi sono crollati adosso progetti perch� ho fatto questo errore.
Credo che Fetchmail abbia avuto successo in parte anche perch� ho trattenuto la mia tendenza a essere bravo; e ci� pesa contro l'essenzialit� dell'originalit�. E consideriamo Linux. Supponiamo che Linus Torvalds abbia cercato di inserire innovazioni fondamentali nel sistema operativo durante il suo sviluppo; pensate che il kernel sarebbe stato stabile come quello che abbiamo?
Ovviamente � necessaria una certa abilit� nella progettazione e nella codifica, ma penso che chiunque stia seriamente pensando di lanciare un progetto in stile bazaar sia gi� sopra quel minimo. Il mercato interno delle repotazioni nella comunit� open-source � in grado di esercitare sottili pressioni in grado di evitare che persone non competenti nel seguire un progetto lancino la richiesta di sforzo per lo sviluppo. Per ora ci� ha funzionato bene.
C'� un altro tipo di abilit� non associata con lo sviluppo del software che io ritengo altrettanto importante dell'abilit� nella progettazione, e pu� essere perfino pi� importante. Il coordinatore o leader di un progetto bazaar deve essere una brava persona e avere capacit� di comunicazione.
Dovrebbe essere ovvio. Per costruire una comunit� di utenti deve attrarre le persone, interessarle in quello che stanno facendo e renderli felici per il lavoro che fanno. La segmentazione tecnica ha molto a che fare con questo, ma ha poco a che fare con la nostra storia. E cos� la personalit�.
Non � una coincidenza che Linus � una bella persona che rende le persone come lui e fa venire la voglia di aiutarlo. Non � una coincidenza che io sia un estroverso pieno di energie che ama lavorare con la folla � ha l'istinto di un comico da palcoscenico. Per far lavorare il modello bazaar aiuta molto avere almeno un po' la capacit� di affascinare la gente.