next up previous contents
Next: Conclusioni Up: Software Libero ed Open Previous: Storia   Contents

Subsections

Caratteristiche

Difatti, se ovviamente il modello open source non garantisce automaticamente la qualità del prodotto, offre numerosi strumenti che favoriscono lo sviluppo di programmi di qualità.

Ciclo di release

Una delle caratteristiche più visibili le cui conseguenze sono meno evidenti è il ciclo di release, nettamente diverso da quello tipico del software proprietario e sintetizzato nella frase ``release earlier, release ofter'' - rilascia presto, rilascia spesso.

Mentre nel primo caso, infatti, capita frequentemente che le release siano spinte da motivi commerciali, indipendentemente da quanto il prodotto sia pronto o meno, il software open source è relativamente libero da pressioni del genere e può permettersi di lasciare ai numeri di versione il loro significato originario di indicatori dello stato di completezza e rifinitura del programma.

Il tipico programma open source, infatti, viene rilasciato inizialmente ad uno stato fortemente immaturo, indicato chiaramente con numeri di versione inizianti per 0 o addirittura solo con la data di rilascio, (nella forma build [data]) potendo così attirare l'attenzione di eventuali sviluppatori interessati alla cosa, o di persone particolarmente interessate ai problemi risolti dal programma.

A questo punto, se il progetto prende piede, si comincia ad avere rilasci frequenti, ad ogni modifica fatta, quando addirittura i codici sorgenti non vengono messi a disposizione nella loro forma in costruzione (snapshot CVS) in modo tale da permettere sia a chi lavora sul progetto che a chi lo vuole solo provare e contribuire all'individuazione dei bug e problemi di avere sempre la versione più recente, senza rischiare di lavorare su cose già modificate.

Questa situazione procede fino a quando il programma non raggiunge il punto in cui svolge le sue funzioni di base ed é decentemente stabile e funzionante, almeno nella maggior parte delle situazioni; questo è lo stato che nel software proprietario viene tipicamente raggiunto nel momento in cui esigenze di marketing richiedono un rilascio immediato, mentre nel software libero viene semplicemente indicato con numeri ancora minori di 1, ma più alti di prima, oppure con espressioni come beta prima e release candidate poi.

A questo punto il passaparola tra utenti, e in alcuni casi la pubblicità, possono cominciare a consigliare l'adozione del programma, che si può comunque dire pronto per un uso casalingo e in generale non critico, senza timore di malfunzionamenti peggiori di quelli ai quali siamo stati abituati dal software proprietario, aumentandone la diffusione e, proporzionalmente, il numero di persone che contribuiscono alla ricerca di bug.

Completate le funzioni, anche accessorie, previste, e risolti tutti i bug trovati, il programma può finalmente raggiungere un numero di versione intero ed essere usato in molti ambiti senza particolari precauzioni.

Successivamente, specialmente nei progetti più grossi, é facile che lo sviluppo si divida in due rami: uno, denominato ``stabile'' prosegue la manutenzione dell'ultima versione, correggendo ulteriori bug man mano che vengono trovati, senza fare modifiche che possano compromettere la stabilità, mentre le nuove feature vengono provate nel ramo denominato ``di sviluppo'', per l'uso del quale valgono le stesse precauzioni date per le versioni non complete citate prima. Nel kernel linux questi rami vengono indicati con dei ``middle number'' pari e dispari rispettivamente, altri programmi indicano in modo diverso le convenzioni adottate.

Controllo del codice

Altri vantaggi stanno nel continuo controllo da parte della comunità sia del codice sorgente che dei programmi, che contribuisce ad ostacolare l'inserimento di codice malevolo e a favorire un buono sviluppo, e alla rapiditá del ciclo di individuazione dei bug, arginazione dei loro danni (workaround) e loro correzione (con patch e versioni corrette), eccetera.


next up previous contents
Next: Conclusioni Up: Software Libero ed Open Previous: Storia   Contents
Elena of Valhalla 2004-10-18