domenica 13 giugno 2010

La filosofia dell'Open Source

La Cattedrale e il Bazaar

Da Wikipedia, l'enciclopedia libera.



La Cattedrale e il Bazaar è un saggio sullo sviluppo del software scritto da Eric S. Raymond. Esso descrive un nuovo modello di sviluppo, il cui esempio più famoso ed efficace è la modalità di costruzione del Kernel Linux. L'autore per verificare le proprie ipotesi decide di utilizzare lo sviluppo collaborativo per il programma fetchmail e nel saggio viene descritta la genesi e lo sviluppo del progetto analizzando le interazioni con gli altri sviluppatori e i vantaggi rispetto al modello classico. La prima presentazione del saggio si è avuta durante un congresso su Linux il 27 maggio 1997 e in seguito il saggio è stato pubblicato come parte dell'omonimo libro. Questo saggio viene usualmente considerato il manifesto del movimento open source.



Il saggio descrive in sostanza due contrapposte modalità di sviluppo del software libero:



  • Nel modello a Cattedrale il programma viene realizzato da un numero limitato di "esperti" che provvedono a scrivere il codice in quasi totale isolamento. Il progetto ha una suddivisione gerarchica molto stretta e ogni sviluppatore si preoccupa della sua piccola parte di codice. Le revisioni si susseguono con relativa lentezza e gli sviluppatori cercano di rilasciare programmi il più possibile completi e senza bug. Il programma Emacs, il GCC e molti altri programmi si basano su questo modello di sviluppo.


  • Nel modello a Bazaar il codice sorgente della revisione in sviluppo è disponibile liberamente, gli utenti possono interagire con gli sviluppatori e se ne hanno le capacità possono modificare e integrare il codice. Lo sviluppo è decentralizzato e non esiste una rigida suddivisione dei compiti, un programmatore di buona volontà può modificare e integrare qualsiasi parte del codice. In sostanza lo sviluppo è molto più anarchico e libero, da qui il nome di modello a Bazaar. Il Kernel Linux e molti programmi utilizzano questo nuovo modello di sviluppo associativo.

La tesi centrale di Raymond è che "Dato un numero sufficiente di occhi, tutti i bug vengono a galla". Questa affermazione (che Raymond chiama "Legge di Linus") costituisce, a suo parere, il motivo centrale del successo del progetto del Kernel Linux. Prima dell'avvento di Linux si riteneva che ogni progetto di una certa complessità avesse bisogno di essere adeguatamente gestito e coordinato: in caso contrario il progetto sarebbe collassato sotto il peso di moltissime revisioni e modifiche, prodotte da più persone e quindi spesso incompatibili. Il progetto Linux riuscì a dimostrare che non solo questo non accadeva, ma che al contrario al crescere del numero di sviluppatori anche la qualità e l'affidabilità del software migliorava.



Il modello a Cattedrale è un modello tipico delle aziende commerciali. Queste normalmente non rilasciano il codice sorgente, e una nuova revisione del programma può richiedere anni; viceversa, il modello a Bazaar è un modello che si è molto diffuso nell'ambiente del software libero, poiché consente ad ogni utente di ricoprire il ruolo di beta tester dei programmi. Lo stesso utente può perfino modificare il programma, se lo desidera: questo consente un rapporto stretto tra utilizzatori e programmatori, un rapporto paritario che ben si adatta alla filosofia del software libero. Consente inoltre un attento controllo del codice, aiutando ad eliminare rapidamente la maggior parte dei bug; questione invece complessa per un software prodotto con la modalità a Cattedrale, dove solo un numero limitato di persone lavora sul codice.


La modalità a cattedrale è la stessa metodologia di sviluppo che viene utilizzata dagli editori di enciclopedie commerciali: un numero limitato di esperti si preoccupa di compilare tutte le voci. La modalità a bazaar invece è quella utilizzata da Wikipedia: ogni lettore, se lo desidera, può integrare e migliorare i contenuti e la verifica delle modifiche apportate al testo è gestita dagli stessi utenti.

Nessun commento: